summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demuxer.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-22 23:51:04 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-22 23:51:04 +0000
commite819653a236d4f234d2fea2e501abc0b317a6241 (patch)
tree46a27592f5de853cc2dbe2152dedaaaf5a6dfd22 /libmpdemux/demuxer.c
parentc16edd2efd00b7bc24c2ab7d0f531e7744617bd9 (diff)
downloadmpv-e819653a236d4f234d2fea2e501abc0b317a6241.tar.bz2
mpv-e819653a236d4f234d2fea2e501abc0b317a6241.tar.xz
raw video demuxer, requested by Michael
(try mplayer -rawvideo on:cif mobile.cif) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9066 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r--libmpdemux/demuxer.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index 5068760200..db76e8ca28 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -280,6 +280,7 @@ int demux_xmms_fill_buffer(demuxer_t *demux,demux_stream_t *ds);
extern int demux_demuxers_fill_buffer(demuxer_t *demux,demux_stream_t *ds);
extern int demux_ogg_fill_buffer(demuxer_t *d);
extern int demux_rawaudio_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds);
+extern int demux_rawvideo_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds);
extern int demux_smjpeg_fill_buffer(demuxer_t* demux);
int demux_fill_buffer(demuxer_t *demux,demux_stream_t *ds){
@@ -318,6 +319,7 @@ int demux_fill_buffer(demuxer_t *demux,demux_stream_t *ds){
case DEMUXER_TYPE_OGG: return demux_ogg_fill_buffer(demux);
#endif
case DEMUXER_TYPE_RAWAUDIO: return demux_rawaudio_fill_buffer(demux,ds);
+ case DEMUXER_TYPE_RAWVIDEO: return demux_rawvideo_fill_buffer(demux,ds);
#ifdef STREAMING_LIVE_DOT_COM
case DEMUXER_TYPE_RTP: return demux_rtp_fill_buffer(demux, ds);
#endif
@@ -540,6 +542,7 @@ extern void demux_open_nuv(demuxer_t *demuxer);
extern int demux_audio_open(demuxer_t* demuxer);
extern int demux_ogg_open(demuxer_t* demuxer);
extern int demux_rawaudio_open(demuxer_t* demuxer);
+extern int demux_rawvideo_open(demuxer_t* demuxer);
extern int smjpeg_check_file(demuxer_t *demuxer);
extern int demux_open_smjpeg(demuxer_t* demuxer);
extern int bmp_check_file(demuxer_t *demuxer);
@@ -548,6 +551,7 @@ extern int demux_xmms_open(demuxer_t* demuxer);
extern demuxer_t* init_avi_with_ogg(demuxer_t* demuxer);
extern int use_rawaudio;
+extern int use_rawvideo;
int extension_parsing=1; // 0=off 1=mixed (used only for unstable formats)
@@ -575,6 +579,10 @@ if(stream->type == STREAMTYPE_CDDA || use_rawaudio) {
demuxer = new_demuxer(stream,DEMUXER_TYPE_RAWAUDIO,audio_id,video_id,dvdsub_id);
file_format = DEMUXER_TYPE_RAWAUDIO;
}
+if(use_rawvideo) {
+ demuxer = new_demuxer(stream,DEMUXER_TYPE_RAWVIDEO,audio_id,video_id,dvdsub_id);
+ file_format = DEMUXER_TYPE_RAWVIDEO;
+}
#ifdef USE_TV
//=============== Try to open as TV-input: =================
@@ -920,6 +928,10 @@ switch(file_format){
demux_rawaudio_open(demuxer);
break;
}
+ case DEMUXER_TYPE_RAWVIDEO: {
+ demux_rawvideo_open(demuxer);
+ break;
+ }
case DEMUXER_TYPE_MF: {
if (!demux_open_mf(demuxer)) return NULL;
break;
@@ -1147,6 +1159,7 @@ extern void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags);
extern void demux_demuxers_seek(demuxer_t *demuxer,float rel_seek_secs,int flags);
extern void demux_ogg_seek(demuxer_t *demuxer,float rel_seek_secs,int flags);
extern void demux_rawaudio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags);
+extern void demux_rawvideo_seek(demuxer_t *demuxer,float rel_seek_secs,int flags);
extern void demux_xmms_seek(demuxer_t *demuxer,float rel_seek_secs,int flags);
int demux_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
@@ -1229,6 +1242,8 @@ switch(demuxer->file_format){
#endif
case DEMUXER_TYPE_RAWAUDIO:
demux_rawaudio_seek(demuxer,rel_seek_secs,flags); break;
+ case DEMUXER_TYPE_RAWVIDEO:
+ demux_rawvideo_seek(demuxer,rel_seek_secs,flags); break;
#ifdef HAVE_XMMS
case DEMUXER_TYPE_XMMS:
demux_xmms_seek(demuxer,rel_seek_secs,flags); break;