From 33d47064093c6e57afc12dabe7291c5709bb5e01 Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 26 Dec 2001 22:57:51 +0000 Subject: added real demuxer git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3778 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demuxer.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'libmpdemux/demuxer.c') diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 1c7046d78f..85da5ffc48 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -159,6 +159,7 @@ int demux_avi_fill_buffer_nini(demuxer_t *demux,demux_stream_t *ds); int demux_asf_fill_buffer(demuxer_t *demux); int demux_mov_fill_buffer(demuxer_t *demux,demux_stream_t* ds); int demux_vivo_fill_buffer(demuxer_t *demux); +int demux_real_fill_buffer(demuxer_t *demux); #ifdef USE_TV #include "tv.h" extern tvi_handle_t *tv_handler; @@ -181,6 +182,7 @@ int demux_fill_buffer(demuxer_t *demux,demux_stream_t *ds){ case DEMUXER_TYPE_ASF: return demux_asf_fill_buffer(demux); case DEMUXER_TYPE_MOV: return demux_mov_fill_buffer(demux,ds); case DEMUXER_TYPE_VIVO: return demux_vivo_fill_buffer(demux); + case DEMUXER_TYPE_REAL: return demux_real_fill_buffer(demux); #ifdef USE_TV case DEMUXER_TYPE_TV: return demux_tv_fill_buffer(demux, tv_handler); #endif @@ -362,6 +364,9 @@ int demux_open_fli(demuxer_t* demuxer); extern int vivo_check_file(demuxer_t *demuxer); extern void demux_open_vivo(demuxer_t *demuxer); +extern int real_check_file(demuxer_t *demuxer); +extern void demux_open_real(demuxer_t *demuxer); + demuxer_t* demux_open(stream_t *stream,int file_format,int audio_id,int video_id,int dvdsub_id){ //int file_format=(*file_format_ptr); @@ -425,6 +430,14 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_VIVO){ file_format=DEMUXER_TYPE_VIVO; } } +//=============== Try to open as REAL file: ================= +if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_REAL){ + demuxer=new_demuxer(stream,DEMUXER_TYPE_REAL,audio_id,video_id,dvdsub_id); + if(real_check_file(demuxer)){ + mp_msg(MSGT_DEMUXER,MSGL_INFO,"Detected REAL file format!\n"); + file_format=DEMUXER_TYPE_REAL; + } +} //=============== Try to open as FLI file: ================= if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_FLI){ demuxer=new_demuxer(stream,DEMUXER_TYPE_FLI,audio_id,video_id,dvdsub_id); @@ -530,6 +543,10 @@ switch(file_format){ demux_open_vivo(demuxer); break; } + case DEMUXER_TYPE_REAL: { + demux_open_real(demuxer); + break; + } case DEMUXER_TYPE_ASF: { //---- ASF header: read_asf_header(demuxer); -- cgit v1.2.3