Mercurial > mplayer.hg
diff libmpdemux/demuxer.c @ 5214:dd79075bbd98
added a BMP file demuxer...yeah, that's right, a static image BMP file
demuxer; what, is that so weird?...:)
author | melanson |
---|---|
date | Wed, 20 Mar 2002 05:15:53 +0000 |
parents | f67b321e1eda |
children | db582be1b590 |
line wrap: on
line diff
--- a/libmpdemux/demuxer.c Wed Mar 20 05:09:38 2002 +0000 +++ b/libmpdemux/demuxer.c Wed Mar 20 05:15:53 2002 +0000 @@ -196,6 +196,7 @@ int demux_mf_fill_buffer( demuxer_t *demux); int demux_roq_fill_buffer(demuxer_t *demux); int demux_film_fill_buffer(demuxer_t *demux); +int demux_bmp_fill_buffer(demuxer_t *demux); int demux_fli_fill_buffer(demuxer_t *demux); int demux_mpg_es_fill_buffer(demuxer_t *demux); int demux_mpg_fill_buffer(demuxer_t *demux); @@ -227,6 +228,7 @@ case DEMUXER_TYPE_MF: return demux_mf_fill_buffer(demux); case DEMUXER_TYPE_ROQ: return demux_roq_fill_buffer(demux); case DEMUXER_TYPE_FILM: return demux_film_fill_buffer(demux); + case DEMUXER_TYPE_BMP: return demux_bmp_fill_buffer(demux); case DEMUXER_TYPE_FLI: return demux_fli_fill_buffer(demux); case DEMUXER_TYPE_MPEG_ES: return demux_mpg_es_fill_buffer(demux); case DEMUXER_TYPE_MPEG_PS: return demux_mpg_fill_buffer(demux); @@ -422,6 +424,7 @@ int demux_open_fli(demuxer_t* demuxer); int demux_open_mf(demuxer_t* demuxer); int demux_open_film(demuxer_t* demuxer); +int demux_open_bmp(demuxer_t* demuxer); int demux_open_roq(demuxer_t* demuxer); extern int vivo_check_file(demuxer_t *demuxer); @@ -598,6 +601,17 @@ demuxer = NULL; } } +//=============== Try to open as BMP file: ================= +if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_BMP){ + demuxer=new_demuxer(stream,DEMUXER_TYPE_BMP,audio_id,video_id,dvdsub_id); + if(bmp_check_file(demuxer)){ + mp_msg(MSGT_DEMUXER,MSGL_INFO,"BMP file\n"); + file_format=DEMUXER_TYPE_BMP; + } else { + free_demuxer(demuxer); + demuxer = NULL; + } +} //=============== Try to open as Ogg file: ================= if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_OGG){ demuxer=new_demuxer(stream,DEMUXER_TYPE_OGG,audio_id,video_id,dvdsub_id); @@ -724,6 +738,10 @@ if (!demux_open_film(demuxer)) return NULL; break; } + case DEMUXER_TYPE_BMP: { + if (!demux_open_bmp(demuxer)) return NULL; + break; + } case DEMUXER_TYPE_ROQ: { if (!demux_open_roq(demuxer)) return NULL; break;