summaryrefslogtreecommitdiff
path: root/src/demuxers/demux_avi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/demuxers/demux_avi.c')
-rw-r--r--src/demuxers/demux_avi.c29
1 files changed, 25 insertions, 4 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;