diff options
author | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-08-05 19:57:47 +0000 |
---|---|---|
committer | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-08-05 19:57:47 +0000 |
commit | cd68e1618b17b525bd49757b2f5e245a6cb1a495 (patch) | |
tree | c67656ff189654b818ade76a8f5bd0b7d1bf7f91 /libmpdemux/demux_demuxers.c | |
parent | adfe956dc385d6588eb2ab74828f9a905821adf4 (diff) | |
download | mpv-cd68e1618b17b525bd49757b2f5e245a6cb1a495.tar.bz2 mpv-cd68e1618b17b525bd49757b2f5e245a6cb1a495.tar.xz |
Demuxer modularization
Demuxer selection by name with -demuxer command (bakward compatible)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16176 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_demuxers.c')
-rw-r--r-- | libmpdemux/demux_demuxers.c | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/libmpdemux/demux_demuxers.c b/libmpdemux/demux_demuxers.c index e0e7680348..6edfddb3c2 100644 --- a/libmpdemux/demux_demuxers.c +++ b/libmpdemux/demux_demuxers.c @@ -13,6 +13,7 @@ typedef struct dd_priv { demuxer_t* sd; } dd_priv_t; +extern demuxer_desc_t demuxer_desc_demuxers; demuxer_t* new_demuxers_demuxer(demuxer_t* vd, demuxer_t* ad, demuxer_t* sd) { demuxer_t* ret; @@ -34,11 +35,13 @@ demuxer_t* new_demuxers_demuxer(demuxer_t* vd, demuxer_t* ad, demuxer_t* sd) { ret->video = vd->video; ret->audio = ad->audio; ret->sub = sd->sub; - + + ret->desc = &demuxer_desc_demuxers; + return ret; } -int demux_demuxers_fill_buffer(demuxer_t *demux,demux_stream_t *ds) { +static int demux_demuxers_fill_buffer(demuxer_t *demux,demux_stream_t *ds) { dd_priv_t* priv; priv=demux->priv; @@ -54,7 +57,7 @@ int demux_demuxers_fill_buffer(demuxer_t *demux,demux_stream_t *ds) { return 0; } -void demux_demuxers_seek(demuxer_t *demuxer,float rel_seek_secs,int flags) { +static void demux_demuxers_seek(demuxer_t *demuxer,float rel_seek_secs,int flags) { dd_priv_t* priv; float pos; priv=demuxer->priv; @@ -81,7 +84,7 @@ void demux_demuxers_seek(demuxer_t *demuxer,float rel_seek_secs,int flags) { } -void demux_close_demuxers(demuxer_t* demuxer) { +static void demux_close_demuxers(demuxer_t* demuxer) { int i; dd_priv_t* priv = demuxer->priv; stream_t *s; @@ -109,3 +112,19 @@ void demux_close_demuxers(demuxer_t* demuxer) { free(demuxer); } + +demuxer_desc_t demuxer_desc_demuxers = { + "Demuxers demuxer", + "", // Not selectable + "", + "?", + "internal use only", + DEMUXER_TYPE_DEMUXERS, + 0, // no autodetect + NULL, + demux_demuxers_fill_buffer, + NULL, + demux_close_demuxers, + demux_demuxers_seek, + NULL +}; |