Mercurial > mplayer.hg
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 } |