From: Guenter B. <gu...@us...> - 2001-09-08 15:41:24
|
Update of /cvsroot/xine/xine-lib/src/demuxers In directory usw-pr-cvs1:/tmp/cvs-serv3104 Modified Files: demux_avi.c demux_mpeg_block.c Log Message: patch provided by David D. Hagood <wow...@sk...> Index: demux_avi.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_avi.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- demux_avi.c 2001/09/05 17:49:20 1.36 +++ demux_avi.c 2001/09/08 15:41:20 1.37 @@ -886,9 +886,20 @@ 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); this->no_audio = 1; @@ -1001,6 +1012,7 @@ 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 @@ 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 @@ 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; Index: demux_mpeg_block.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_mpeg_block.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- demux_mpeg_block.c 2001/09/08 00:44:40 1.41 +++ demux_mpeg_block.c 2001/09/08 15:41:20 1.42 @@ -82,13 +82,6 @@ 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; @@ -127,6 +120,13 @@ this->status = DEMUX_FINISHED; return ; } + } + + /* 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; */ |