diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2001-09-08 15:41:20 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2001-09-08 15:41:20 +0000 |
commit | a63e7960f7e4d9e3733ae3549d3208f0d648a8e9 (patch) | |
tree | 47bd6f0cc2f6033c40487fee626bdcb0939823ce | |
parent | 984e134530ddf1d851cbd8e77bd84345f5e4b598 (diff) | |
download | xine-lib-a63e7960f7e4d9e3733ae3549d3208f0d648a8e9.tar.gz xine-lib-a63e7960f7e4d9e3733ae3549d3208f0d648a8e9.tar.bz2 |
patch provided by David D. Hagood <wowbagger@sktc.net>
CVS patchset: 587
CVS date: 2001/09/08 15:41:20
-rw-r--r-- | src/demuxers/demux_avi.c | 29 | ||||
-rw-r--r-- | src/demuxers/demux_mpeg_block.c | 16 |
2 files changed, 33 insertions, 12 deletions
diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c index dc2e76884..670e40a84 100644 --- a/src/demuxers/demux_avi.c +++ b/src/demuxers/demux_avi.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_avi.c,v 1.36 2001/09/05 17:49:20 guenter Exp $ + * $Id: demux_avi.c,v 1.37 2001/09/08 15:41:20 guenter Exp $ * * demultiplexer for avi streams * @@ -886,8 +886,19 @@ static void demux_avi_start (demux_plugin_t *this_gen, case 0x55: this->avi->audio_type = BUF_AUDIO_MPEG; break; + case 0x160: case 0x161: - this->avi->audio_type = BUF_AUDIO_AVI; + this->avi->audio_type = BUF_AUDIO_DIVXA; + break; + case 0x02: + this->avi->audio_type = BUF_AUDIO_MSADPCM; + break; + case 0x11: + this->avi->audio_type = BUF_AUDIO_IMAADPCM; + break; + case 0x31: + case 0x32: + this->avi->audio_type = BUF_AUDIO_MSGSM; break; default: printf ("demux_avi: unknown audio type 0x%lx\n", this->avi->a_fmt); @@ -1001,6 +1012,7 @@ static void demux_avi_start (demux_plugin_t *this_gen, case mmioFOURCC('i', 'v', '5', '0'): /* Video in Indeo Video 5.0 format */ this->avi->video_type = BUF_VIDEO_IV50; + break; case mmioFOURCC('I', 'V', '4', '1'): case mmioFOURCC('i', 'v', '4', '1'): @@ -1013,6 +1025,12 @@ static void demux_avi_start (demux_plugin_t *this_gen, this->avi->video_type = BUF_VIDEO_IV32; break; + case mmioFOURCC('I', 'V', '3', '1'): + case mmioFOURCC('i', 'v', '3', '1'): + /* Video in Indeo Video 3.1 format */ + this->avi->video_type = BUF_VIDEO_IV31; + break; + case mmioFOURCC('c', 'v', 'i', 'd'): /* Video in Cinepak format */ this->avi->video_type = BUF_VIDEO_CINEPACK; @@ -1031,8 +1049,11 @@ static void demux_avi_start (demux_plugin_t *this_gen, this->avi->video_type = BUF_VIDEO_I263; break; default: - this->avi->video_type = BUF_VIDEO_AVI; - break; + printf ("demux_avi: unknown avi format %.4s\n", + (char*)&this->avi->bih.biCompression); + + this->status = DEMUX_FINISHED; + return; } buf->type = this->avi->video_type; diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c index 1a983e00b..65c4e141a 100644 --- a/src/demuxers/demux_mpeg_block.c +++ b/src/demuxers/demux_mpeg_block.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_mpeg_block.c,v 1.41 2001/09/08 00:44:40 guenter Exp $ + * $Id: demux_mpeg_block.c,v 1.42 2001/09/08 15:41:20 guenter Exp $ * * demultiplexer for mpeg 1/2 program streams * @@ -82,13 +82,6 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m buf = this->input->read_block (this->input, this->video_fifo, this->blocksize); - /* If this is not a block for the demuxer, pass it - * straight through. */ - if(buf->type != BUF_DEMUX_BLOCK) { - this->video_fifo->put (this->video_fifo, buf); - return; - } - if (buf==NULL) { char *next_mrl; @@ -129,6 +122,13 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m } } + /* If this is not a block for the demuxer, pass it + * straight through. */ + if(buf->type != BUF_DEMUX_BLOCK) { + this->video_fifo->put (this->video_fifo, buf); + return; + } + p = buf->content; /* len = this->mnBlocksize; */ if (preview_mode) buf->decoder_info[0] = 0; |