comparison libmpdemux/demuxer.c @ 5810:8a357300d0ec

Added demuxer uninit
author albeu
date Wed, 24 Apr 2002 15:36:07 +0000
parents 5a040bd83630
children f9d23c2aa6b7
comparison
equal deleted inserted replaced
5809:4b24942acdbb 5810:8a357300d0ec
135 mp_msg(MSGT_DEMUXER,MSGL_V,"DEMUXER: freeing sh_video at %p \n",sh); 135 mp_msg(MSGT_DEMUXER,MSGL_V,"DEMUXER: freeing sh_video at %p \n",sh);
136 if(sh->bih) free(sh->bih); 136 if(sh->bih) free(sh->bih);
137 free(sh); 137 free(sh);
138 } 138 }
139 139
140 extern void demux_close_vivo(demuxer_t *demuxer);
141 extern void demux_close_real(demuxer_t *demuxer);
142 extern void demux_close_y4m(demuxer_t *demuxer);
143 extern void demux_close_mf(demuxer_t* demuxer);
144 extern void demux_close_roq(demuxer_t* demuxer);
145 extern void demux_close_film(demuxer_t* demuxer);
146 extern void demux_close_bmp(demuxer_t* demuxer);
147 extern void demux_close_fli(demuxer_t* demuxer);
148 extern void demux_close_nuv(demuxer_t* demuxer);
149
140 void free_demuxer(demuxer_t *demuxer){ 150 void free_demuxer(demuxer_t *demuxer){
141 int i; 151 int i;
142 mp_msg(MSGT_DEMUXER,MSGL_V,"DEMUXER: freeing demuxer at %p \n",demuxer); 152 mp_msg(MSGT_DEMUXER,MSGL_V,"DEMUXER: freeing demuxer at %p \n",demuxer);
153 switch(demuxer->type) {
154 case DEMUXER_TYPE_VIVO:
155 demux_close_vivo(demuxer); break;
156 case DEMUXER_TYPE_REAL:
157 demux_close_real(demuxer); break;
158 case DEMUXER_TYPE_Y4M:
159 demux_close_y4m(demuxer); break;
160 case DEMUXER_TYPE_MF:
161 demux_close_mf(demuxer); break;
162 case DEMUXER_TYPE_ROQ:
163 demux_close_roq(demuxer); break;
164 case DEMUXER_TYPE_FILM:
165 demux_close_film(demuxer); break;
166 case DEMUXER_TYPE_BMP:
167 demux_close_bmp(demuxer); break;
168 case DEMUXER_TYPE_FLI:
169 demux_close_fli(demuxer); break;
170 case DEMUXER_TYPE_NUV:
171 demux_close_nuv(demuxer); break;
172 }
143 // free streams: 173 // free streams:
144 for(i=0;i<256;i++){ 174 for(i=0;i<256;i++){
145 if(demuxer->a_streams[i]) free_sh_audio(demuxer->a_streams[i]); 175 if(demuxer->a_streams[i]) free_sh_audio(demuxer->a_streams[i]);
146 if(demuxer->v_streams[i]) free_sh_video(demuxer->v_streams[i]); 176 if(demuxer->v_streams[i]) free_sh_video(demuxer->v_streams[i]);
147 } 177 }