avidemux: recognize all xsub frames as keyframes
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 28 Sep 2012 14:51:01 +0000 (16:51 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 28 Sep 2012 15:04:42 +0000 (17:04 +0200)
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684977

gst/avi/avi-ids.h
gst/avi/gstavidemux.c

index 7b724df..695a4f8 100644 (file)
@@ -49,6 +49,7 @@ typedef struct _gst_riff_avih {
 /* vprp (video properties) ODML header */
 /* see ODML spec for some/more explanation */
 #define GST_RIFF_TAG_vprp GST_MAKE_FOURCC ('v','p','r','p')
+#define GST_RIFF_DXSB GST_MAKE_FOURCC ('D','X','S','B')
 #define GST_RIFF_VPRP_VIDEO_FIELDS        (2)
 
 typedef struct _gst_riff_vprp_video_field_desc {
index 533e6bb..434c650 100644 (file)
@@ -2656,6 +2656,9 @@ gst_avi_demux_parse_index (GstAviDemux * avi, GstBuffer * buf)
     if (stream->strh->type == GST_RIFF_FCC_auds) {
       /* all audio frames are keyframes */
       ENTRY_SET_KEYFRAME (&entry);
+    } else if (stream->strf.vids->compression == GST_RIFF_DXSB) {
+      /* all xsub frames are keyframes */
+      ENTRY_SET_KEYFRAME (&entry);
     } else {
       guint32 flags;
       /* else read flags */