summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuenter Bartsch <guenter@users.sourceforge.net>2001-09-08 15:41:20 +0000
committerGuenter Bartsch <guenter@users.sourceforge.net>2001-09-08 15:41:20 +0000
commita63e7960f7e4d9e3733ae3549d3208f0d648a8e9 (patch)
tree47bd6f0cc2f6033c40487fee626bdcb0939823ce
parent984e134530ddf1d851cbd8e77bd84345f5e4b598 (diff)
downloadxine-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.c29
-rw-r--r--src/demuxers/demux_mpeg_block.c16
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;