diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-27 21:24:56 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-27 21:24:56 +0000 |
commit | e378a36890bf539fa7990ed4a1f1dc622c7bfbba (patch) | |
tree | 583f0080ef5e215cdc64e196256582b7d22eb936 /libmpdemux/demuxer.c | |
parent | 48469913280e1595ca207be68fd7651ebf466e16 (diff) | |
download | mpv-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.c | 19 |
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; |