Mercurial > mplayer.hg
comparison libmpdemux/demuxer.c @ 14666:91bbfcb66883
Memleak fixes. Based on patch by Timothy Lee (timothy lee at siriushk com).
author | reimar |
---|---|
date | Sun, 06 Feb 2005 10:30:10 +0000 |
parents | 8769fa370f83 |
children | 37116118ab6a |
comparison
equal
deleted
inserted
replaced
14665:e07e06c06932 | 14666:91bbfcb66883 |
---|---|
217 #ifdef STREAMING_LIVE_DOT_COM | 217 #ifdef STREAMING_LIVE_DOT_COM |
218 case DEMUXER_TYPE_RTP: | 218 case DEMUXER_TYPE_RTP: |
219 demux_close_rtp(demuxer); break; | 219 demux_close_rtp(demuxer); break; |
220 #endif | 220 #endif |
221 case DEMUXER_TYPE_SMJPEG: | 221 case DEMUXER_TYPE_SMJPEG: |
222 demux_close_smjpeg(demuxer); return; | 222 demux_close_smjpeg(demuxer); break; |
223 case DEMUXER_TYPE_DEMUXERS: | 223 case DEMUXER_TYPE_DEMUXERS: |
224 demux_close_demuxers(demuxer); return; | 224 demux_close_demuxers(demuxer); break; |
225 case DEMUXER_TYPE_AVI: | 225 case DEMUXER_TYPE_AVI: |
226 case DEMUXER_TYPE_AVI_NI: | 226 case DEMUXER_TYPE_AVI_NI: |
227 case DEMUXER_TYPE_AVI_NINI: | 227 case DEMUXER_TYPE_AVI_NINI: |
228 demux_close_avi(demuxer); return; | 228 demux_close_avi(demuxer); break; |
229 #ifdef HAVE_XMMS | 229 #ifdef HAVE_XMMS |
230 case DEMUXER_TYPE_XMMS: | 230 case DEMUXER_TYPE_XMMS: |
231 demux_close_xmms(demuxer); break; | 231 demux_close_xmms(demuxer); break; |
232 #endif | 232 #endif |
233 #ifdef HAVE_GIF | 233 #ifdef HAVE_GIF |
248 case DEMUXER_TYPE_LAVF: | 248 case DEMUXER_TYPE_LAVF: |
249 demux_close_lavf(demuxer); break; | 249 demux_close_lavf(demuxer); break; |
250 #endif | 250 #endif |
251 } | 251 } |
252 // free streams: | 252 // free streams: |
253 for(i=0;i<256;i++){ | 253 for(i = 0; i < MAX_A_STREAMS; i++) |
254 if(demuxer->a_streams[i]) free_sh_audio(demuxer->a_streams[i]); | 254 if(demuxer->a_streams[i]) free_sh_audio(demuxer->a_streams[i]); |
255 for(i = 0; i < MAX_V_STREAMS; i++) | |
255 if(demuxer->v_streams[i]) free_sh_video(demuxer->v_streams[i]); | 256 if(demuxer->v_streams[i]) free_sh_video(demuxer->v_streams[i]); |
256 } | |
257 //if(sh_audio) free_sh_audio(sh_audio); | 257 //if(sh_audio) free_sh_audio(sh_audio); |
258 //if(sh_video) free_sh_video(sh_video); | 258 //if(sh_video) free_sh_video(sh_video); |
259 // free demuxers: | 259 // free demuxers: |
260 free_demuxer_stream(demuxer->audio); | 260 free_demuxer_stream(demuxer->audio); |
261 free_demuxer_stream(demuxer->video); | 261 free_demuxer_stream(demuxer->video); |
1048 { | 1048 { |
1049 if(demuxer->synced==2) | 1049 if(demuxer->synced==2) |
1050 mp_msg(MSGT_DEMUXER,MSGL_ERR,"MPEG: " MSGTR_MissingVideoStreamBug); | 1050 mp_msg(MSGT_DEMUXER,MSGL_ERR,"MPEG: " MSGTR_MissingVideoStreamBug); |
1051 else | 1051 else |
1052 mp_msg(MSGT_DEMUXER,MSGL_V,MSGTR_NotSystemStream); | 1052 mp_msg(MSGT_DEMUXER,MSGL_V,MSGTR_NotSystemStream); |
1053 } | |
1054 if (demuxer && file_format != DEMUXER_TYPE_MPEG_PS) { | |
1053 free_demuxer(demuxer); | 1055 free_demuxer(demuxer); |
1054 demuxer = NULL; | 1056 demuxer = NULL; |
1055 } | 1057 } |
1056 } | 1058 } |
1057 break; | 1059 break; |