summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_viv.c
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-05 19:57:47 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-05 19:57:47 +0000
commitcd68e1618b17b525bd49757b2f5e245a6cb1a495 (patch)
treec67656ff189654b818ade76a8f5bd0b7d1bf7f91 /libmpdemux/demux_viv.c
parentadfe956dc385d6588eb2ab74828f9a905821adf4 (diff)
downloadmpv-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.c33
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
+};