summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demuxer.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-26 22:57:51 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-26 22:57:51 +0000
commit33d47064093c6e57afc12dabe7291c5709bb5e01 (patch)
tree826890433171656fbab5bcc5c1bf90247b1539ba /libmpdemux/demuxer.c
parente572f3acf20dbade7761f8a4451f5ab39fc40490 (diff)
downloadmpv-33d47064093c6e57afc12dabe7291c5709bb5e01.tar.bz2
mpv-33d47064093c6e57afc12dabe7291c5709bb5e01.tar.xz
added real demuxer
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3778 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r--libmpdemux/demuxer.c17
1 files changed, 17 insertions, 0 deletions
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);