summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demuxer.c
diff options
context:
space:
mode:
authoralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-24 15:36:07 +0000
committeralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-24 15:36:07 +0000
commit2b955d3b05a888b153f2315a195fe7d910539d85 (patch)
treea38a80ab891e5a69dd735cac1c1ebe86c2d6a88f /libmpdemux/demuxer.c
parent314ec6091b85efbdb3f3d05c2bff442f52c6511a (diff)
downloadmpv-2b955d3b05a888b153f2315a195fe7d910539d85.tar.bz2
mpv-2b955d3b05a888b153f2315a195fe7d910539d85.tar.xz
Added demuxer uninit
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5811 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r--libmpdemux/demuxer.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index c3c4a4db51..e12d2af415 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -137,9 +137,39 @@ void free_sh_video(sh_video_t* sh){
free(sh);
}
+extern void demux_close_vivo(demuxer_t *demuxer);
+extern void demux_close_real(demuxer_t *demuxer);
+extern void demux_close_y4m(demuxer_t *demuxer);
+extern void demux_close_mf(demuxer_t* demuxer);
+extern void demux_close_roq(demuxer_t* demuxer);
+extern void demux_close_film(demuxer_t* demuxer);
+extern void demux_close_bmp(demuxer_t* demuxer);
+extern void demux_close_fli(demuxer_t* demuxer);
+extern void demux_close_nuv(demuxer_t* demuxer);
+
void free_demuxer(demuxer_t *demuxer){
int i;
mp_msg(MSGT_DEMUXER,MSGL_V,"DEMUXER: freeing demuxer at %p \n",demuxer);
+ switch(demuxer->type) {
+ case DEMUXER_TYPE_VIVO:
+ demux_close_vivo(demuxer); break;
+ case DEMUXER_TYPE_REAL:
+ demux_close_real(demuxer); break;
+ case DEMUXER_TYPE_Y4M:
+ demux_close_y4m(demuxer); break;
+ case DEMUXER_TYPE_MF:
+ demux_close_mf(demuxer); break;
+ case DEMUXER_TYPE_ROQ:
+ demux_close_roq(demuxer); break;
+ case DEMUXER_TYPE_FILM:
+ demux_close_film(demuxer); break;
+ case DEMUXER_TYPE_BMP:
+ demux_close_bmp(demuxer); break;
+ case DEMUXER_TYPE_FLI:
+ demux_close_fli(demuxer); break;
+ case DEMUXER_TYPE_NUV:
+ demux_close_nuv(demuxer); break;
+ }
// free streams:
for(i=0;i<256;i++){
if(demuxer->a_streams[i]) free_sh_audio(demuxer->a_streams[i]);