summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demuxer.c
diff options
context:
space:
mode:
authoralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-11 12:11:48 +0000
committeralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-11 12:11:48 +0000
commitc1bbc6326da86ffc95de6a39e3c5e413d29abaf5 (patch)
tree869cac1dbc73c71a69798133e0007da7c93ab7f0 /libmpdemux/demuxer.c
parent2c0c39aa699c64ce1e6996b793806b4f604b46b7 (diff)
downloadmpv-c1bbc6326da86ffc95de6a39e3c5e413d29abaf5.tar.bz2
mpv-c1bbc6326da86ffc95de6a39e3c5e413d29abaf5.tar.xz
A whole bunch of free_demuxer in demux_open
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4661 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r--libmpdemux/demuxer.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index 1fa819ffa4..89fecbc265 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -440,7 +440,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_AVI){
if(id==formtypeAVI){
mp_msg(MSGT_DEMUXER,MSGL_INFO,MSGTR_DetectedAVIfile);
file_format=DEMUXER_TYPE_AVI;
- }
+ } else
+ free_demuxer(demuxer);
}
}
}
@@ -450,7 +451,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_Y4M){
if(y4m_check_file(demuxer)){
mp_msg(MSGT_DEMUXER,MSGL_INFO,"Detected YUV4MPEG2 file format!\n");
file_format=DEMUXER_TYPE_Y4M;
- }
+ } else
+ free_demuxer(demuxer);
}
//=============== Try to open as ASF file: =================
if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_ASF){
@@ -458,7 +460,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_ASF){
if(asf_check_header(demuxer)){
mp_msg(MSGT_DEMUXER,MSGL_INFO,MSGTR_DetectedASFfile);
file_format=DEMUXER_TYPE_ASF;
- }
+ } else
+ free_demuxer(demuxer);
}
//=============== Try to open as NUV file: =================
if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_NUV){
@@ -466,7 +469,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_NUV){
if(nuv_check_file(demuxer)){
mp_msg(MSGT_DEMUXER,MSGL_INFO,"Detected NuppelVideo file format!\n");
file_format=DEMUXER_TYPE_NUV;
- }
+ } else
+ free_demuxer(demuxer);
}
//=============== Try to open as MOV file: =================
if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_MOV){
@@ -474,7 +478,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_MOV){
if(mov_check_file(demuxer)){
mp_msg(MSGT_DEMUXER,MSGL_INFO,MSGTR_DetectedQTMOVfile);
file_format=DEMUXER_TYPE_MOV;
- }
+ } else
+ free_demuxer(demuxer);
}
//=============== Try to open as VIVO file: =================
if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_VIVO){
@@ -490,7 +495,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_REAL){
if(real_check_file(demuxer)){
mp_msg(MSGT_DEMUXER,MSGL_INFO,MSGTR_DetectedREALfile);
file_format=DEMUXER_TYPE_REAL;
- }
+ } else
+ free_demuxer(demuxer);
}
//=============== Try to open as FLI file: =================
if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_FLI){
@@ -503,7 +509,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_FLI){
if((id==0xAF11) || (id==0xAF12)){
mp_msg(MSGT_DEMUXER,MSGL_INFO,MSGTR_DetectedFLIfile);
file_format=DEMUXER_TYPE_FLI;
- }
+ } else
+ free_demuxer(demuxer);
}
}
//=============== Try to open as FILM file: =================
@@ -515,7 +522,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_FILM){
if(signature==mmioFOURCC('F', 'I', 'L', 'M')){
mp_msg(MSGT_DEMUXER,MSGL_INFO,MSGTR_DetectedFILMfile);
file_format=DEMUXER_TYPE_FILM;
- }
+ } else
+ free_demuxer(demuxer);
}
}
//=============== Try to open as RoQ file: =================
@@ -524,7 +532,8 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_ROQ){
if(roq_check_file(demuxer)){
mp_msg(MSGT_DEMUXER,MSGL_INFO,MSGTR_DetectedROQfile);
file_format=DEMUXER_TYPE_ROQ;
- }
+ } else
+ free_demuxer(demuxer);
}
//=============== Try to open as MPEG-PS file: =================
if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_MPEG_PS){
@@ -571,6 +580,7 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_MPEG_PS){
mp_msg(MSGT_DEMUXER,MSGL_ERR,"MPEG: " MSGTR_MissingVideoStreamBug);
else
mp_msg(MSGT_DEMUXER,MSGL_V,"Not MPEG System Stream format... (maybe Transport Stream?)\n");
+ free_demuxer(demuxer);
}
}
break;
@@ -582,6 +592,7 @@ if(file_format==DEMUXER_TYPE_MPEG_ES){ // little hack, see above!
if(!ds_fill_buffer(demuxer->video)){
mp_msg(MSGT_DEMUXER,MSGL_ERR,MSGTR_InvalidMPEGES);
file_format=DEMUXER_TYPE_UNKNOWN;
+ free_demuxer(demuxer);
} else {
mp_msg(MSGT_DEMUXER,MSGL_INFO,MSGTR_DetectedMPEGESfile);
}