diff options
Diffstat (limited to 'gst/avi/gstavidemux.c')
-rw-r--r-- | gst/avi/gstavidemux.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index 4061d096..bcb7e2bf 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -1393,16 +1393,21 @@ gst_avi_demux_stream_data (GstAviDemux * avi) 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))) + switch (tag) { + case 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; + } + break; + + case GST_RIFF_TAG_JUNK: + return gst_riff_read_skip (riff); } stream_nr = CHUNKID_TO_STREAMNR (tag); |