riff: never create caps with negative height
authorDirk Van Haerenborgh <vhdirk@gmail.com>
Sun, 10 Mar 2013 08:07:17 +0000 (09:07 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 11 Mar 2013 13:23:05 +0000 (14:23 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=695540

gst-libs/gst/riff/riff-media.c

index ef56090..5627334 100644 (file)
@@ -892,9 +892,11 @@ gst_riff_create_video_caps (guint32 codec_fcc,
   }
 
   if (strf != NULL) {
+    /* raw rgb data is stored topdown, but instead of inverting the buffer, */
+    /* some tools just negate the height field in the header (e.g. ffmpeg) */
     gst_caps_set_simple (caps,
         "width", G_TYPE_INT, strf->width,
-        "height", G_TYPE_INT, strf->height, NULL);
+        "height", G_TYPE_INT, ABS ((gint) strf->height), NULL);
   } else {
     gst_caps_set_simple (caps,
         "width", GST_TYPE_INT_RANGE, 1, G_MAXINT,