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_viv.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_viv.c')
-rw-r--r-- | libmpdemux/demux_viv.c | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/libmpdemux/demux_viv.c b/libmpdemux/demux_viv.c index 9c7840b8eb..cc8823017d 100644 --- a/libmpdemux/demux_viv.c +++ b/libmpdemux/demux_viv.c @@ -221,7 +221,7 @@ static void vivo_parse_text_header(demuxer_t *demux, int header_len) free(param); } -int vivo_check_file(demuxer_t* demuxer){ +static int vivo_check_file(demuxer_t* demuxer){ int i=0; int len; int c; @@ -281,7 +281,7 @@ int vivo_check_file(demuxer_t* demuxer){ stream_seek(demuxer->stream, orig_pos); -return 1; +return DEMUXER_TYPE_VIVO; } static int audio_pos=0; @@ -290,7 +290,7 @@ static int audio_rate=0; // return value: // 0 = EOF or no stream found // 1 = successfully read a packet -int demux_vivo_fill_buffer(demuxer_t *demux){ +static int demux_vivo_fill_buffer(demuxer_t *demux, demux_stream_t *dsds){ demux_stream_t *ds=NULL; int c; int len=0; @@ -537,12 +537,12 @@ static int h263_decode_picture_header(unsigned char *b_ptr) -void demux_open_vivo(demuxer_t* demuxer){ +static demuxer_t* demux_open_vivo(demuxer_t* demuxer){ vivo_priv_t* priv=demuxer->priv; if(!ds_fill_buffer(demuxer->video)){ mp_msg(MSGT_DEMUX,MSGL_ERR,"VIVO: " MSGTR_MissingVideoStreamBug); - return; + return NULL; } audio_pos=0; @@ -714,13 +714,13 @@ if (demuxer->audio->id >= -1){ sh->ds=demuxer->audio; demuxer->audio->id=1; nosound: - return; + return demuxer; } } - + return demuxer; } -void demux_close_vivo(demuxer_t *demuxer) +static void demux_close_vivo(demuxer_t *demuxer) { vivo_priv_t* priv=demuxer->priv; @@ -737,3 +737,20 @@ void demux_close_vivo(demuxer_t *demuxer) } return; } + + +demuxer_desc_t demuxer_desc_vivo = { + "Vivo demuxer", + "vivo", + "VIVO", + "A'rpi, Alex Beregszasi", + "", + DEMUXER_TYPE_VIVO, + 0, // unsafe autodetect + vivo_check_file, + demux_vivo_fill_buffer, + demux_open_vivo, + demux_close_vivo, + NULL, + NULL +}; |