summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2004-04-11 21:36:45 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2004-04-11 21:36:45 +0000
commit0b122a2891399c0a4983aa6a58e25fc6a3b32474 (patch)
tree8172c09824a9bc85b670f4c5c4c5d293c6d6b6ee
parent1c47f1b8ae8f202d2b04381567c5cd3ea3073373 (diff)
gst-libs/gst/riff/riff-media.c: Add MS video v1.
Original commit message from CVS: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps), (gst_riff_create_video_template_caps): Add MS video v1. * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_stream_data): Add support for "rec-list" chunks.
-rw-r--r--ChangeLog9
-rw-r--r--gst/avi/gstavidemux.c17
2 files changed, 26 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a841e7c8..a7260b5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2004-04-11 Ronald Bultje <rbultje@ronald.bitfreak.net>
+ * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
+ (gst_riff_create_video_template_caps):
+ Add MS video v1.
+ * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
+ (gst_avi_demux_stream_data):
+ Add support for "rec-list" chunks.
+
+2004-04-11 Ronald Bultje <rbultje@ronald.bitfreak.net>
+
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Fix another codecname mismatch.
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 1c03ef2c..4061d096 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -1065,6 +1065,9 @@ gst_avi_demux_stream_index (GstAviDemux * avi)
entry.size = GUINT32_FROM_LE (_entry->size);
target = &avi->index_entries[i];
+ if (entry.id == GST_RIFF_rec)
+ continue;
+
stream_nr = CHUNKID_TO_STREAMNR (entry.id);
if (stream_nr >= avi->num_streams || stream_nr < 0) {
g_warning ("Index entry %d has invalid stream nr %d", i, stream_nr);
@@ -1388,6 +1391,20 @@ gst_avi_demux_stream_data (GstAviDemux * avi)
/* And then, we get the data */
if (!(tag = gst_riff_peek_tag (riff, NULL)))
return FALSE;
+
+ /* Support for rec-list files */
+ if (tag == GST_RIFF_TAG_LIST) {
+ if (!(tag = gst_riff_peek_list (riff)))
+ return FALSE;
+ if (tag == GST_RIFF_rec) {
+ /* Simply skip the list */
+ if (!gst_riff_read_list (riff, &tag))
+ return FALSE;
+ if (!(tag = gst_riff_peek_tag (riff, NULL)))
+ return FALSE;
+ }
+ }
+
stream_nr = CHUNKID_TO_STREAMNR (tag);
if (stream_nr < 0 || stream_nr >= avi->num_streams) {
/* recoverable */