summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demuxer.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-27 21:24:56 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-27 21:24:56 +0000
commite378a36890bf539fa7990ed4a1f1dc622c7bfbba (patch)
tree583f0080ef5e215cdc64e196256582b7d22eb936 /libmpdemux/demuxer.c
parent48469913280e1595ca207be68fd7651ebf466e16 (diff)
downloadmpv-e378a36890bf539fa7990ed4a1f1dc622c7bfbba.tar.bz2
mpv-e378a36890bf539fa7990ed4a1f1dc622c7bfbba.tar.xz
added NuppelVideo demuxer, based on Panagiotis Issaris' patch
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3802 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r--libmpdemux/demuxer.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index ad1f379086..1de252d8d8 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -159,7 +159,8 @@ 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);
+int demux_real_fill_buffer(demuxer_t *demuxer);
+int demux_nuv_fill_buffer(demuxer_t *demux);
#ifdef USE_TV
#include "tv.h"
extern tvi_handle_t *tv_handler;
@@ -184,6 +185,7 @@ int demux_fill_buffer(demuxer_t *demux,demux_stream_t *ds){
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);
+ case DEMUXER_TYPE_NUV: return demux_nuv_fill_buffer(demux);
#ifdef USE_TV
case DEMUXER_TYPE_TV: return demux_tv_fill_buffer(demux, tv_handler);
#endif
@@ -371,6 +373,9 @@ extern void demux_open_y4m(demuxer_t *demuxer);
extern int real_check_file(demuxer_t *demuxer);
extern void demux_open_real(demuxer_t *demuxer);
+extern int nuv_check_file(demuxer_t *demuxer);
+extern void demux_open_nuv(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);
@@ -426,6 +431,14 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_Y4M){
file_format=DEMUXER_TYPE_Y4M;
}
}
+//=============== Try to open as NUV file: =================
+if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_NUV){
+ demuxer=new_demuxer(stream,DEMUXER_TYPE_NUV,audio_id,video_id,dvdsub_id);
+ if(nuv_check_file(demuxer)){
+ mp_msg(MSGT_DEMUXER,MSGL_INFO,"Detected NuppelVideo file format!\n");
+ file_format=DEMUXER_TYPE_NUV;
+ }
+}
//=============== Try to open as MOV file: =================
if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_MOV){
demuxer=new_demuxer(stream,DEMUXER_TYPE_MOV,audio_id,video_id,dvdsub_id);
@@ -551,6 +564,10 @@ switch(file_format){
return (demuxer_t*) demux_open_avi(demuxer);
// break;
}
+ case DEMUXER_TYPE_NUV: {
+ demux_open_nuv(demuxer);
+ break;
+ }
case DEMUXER_TYPE_VIVO: {
demux_open_vivo(demuxer);
break;