summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/libmpeg3/libmpeg3.c
Side-by-side diff
Diffstat (limited to 'core/multimedia/opieplayer/libmpeg3/libmpeg3.c') (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/libmpeg3/libmpeg3.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/multimedia/opieplayer/libmpeg3/libmpeg3.c b/core/multimedia/opieplayer/libmpeg3/libmpeg3.c
index acaecf7..c8cd3e2 100644
--- a/core/multimedia/opieplayer/libmpeg3/libmpeg3.c
+++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3.c
@@ -22,49 +22,49 @@ int mpeg3_delete(mpeg3_t *file)
int i;
for(i = 0; i < file->total_vstreams; i++)
mpeg3_delete_vtrack(file, file->vtrack[i]);
for(i = 0; i < file->total_astreams; i++)
mpeg3_delete_atrack(file, file->atrack[i]);
mpeg3_delete_fs(file->fs);
mpeg3_delete_demuxer(file->demuxer);
free(file);
}
int mpeg3_check_sig(char *path)
{
mpeg3_fs_t *fs;
unsigned int bits;
char *ext;
int result = 0;
fs = mpeg3_new_fs(path);
if(mpeg3io_open_file(fs))
{
/* File not found */
- return 0;
+ return mpeg3_delete_fs(fs);
}
bits = mpeg3io_read_int32(fs);
/* Test header */
if(bits == MPEG3_TOC_PREFIX || bits == MPEG3_TOC_PREFIXLOWER)
{
result = 1;
}
else
if((((bits >> 24) & 0xff) == MPEG3_SYNC_BYTE) ||
(bits == MPEG3_PACK_START_CODE) ||
((bits & 0xfff00000) == 0xfff00000) ||
(bits == MPEG3_SEQUENCE_START_CODE) ||
(bits == MPEG3_PICTURE_START_CODE) ||
(((bits & 0xffff0000) >> 16) == MPEG3_AC3_START_CODE) ||
((bits >> 8) == MPEG3_ID3_PREFIX) ||
(bits == MPEG3_RIFF_CODE))
{
result = 1;
ext = strrchr(path, '.');
if(ext)
{
/* Test file extension. */