ogmparse: Make sure we set valid string on caps
authorEdward Hervey <edward@centricular.com>
Wed, 6 Dec 2017 13:22:49 +0000 (14:22 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Wed, 6 Dec 2017 13:23:49 +0000 (14:23 +0100)
the fourcc might not contain printable characters, use the convenience
macro to turn it into a printable fourcc, like it's done in
gstogmparse

ext/ogg/gstogmparse.c

index 78bc1f0bd100c68f11c56f3bb944550ed09678a5..d692ed795d049c07b354f33e6e3f865f959736f5 100644 (file)
@@ -572,10 +572,14 @@ gst_ogm_parse_stream_header (GstOgmParse * ogm, const guint8 * data, guint size)
       caps = gst_riff_create_video_caps (fourcc, NULL, NULL, NULL, NULL, NULL);
 
       if (caps == NULL) {
-        GST_WARNING_OBJECT (ogm, "could not find video caps for fourcc %"
-            GST_FOURCC_FORMAT, GST_FOURCC_ARGS (fourcc));
-        caps = gst_caps_new_simple ("video/x-ogm-unknown", "fourcc",
-            G_TYPE_STRING, ogm->hdr.subtype, NULL);
+        gchar *fstr =
+            g_strdup_printf ("%" GST_FOURCC_FORMAT, GST_FOURCC_ARGS (fourcc));
+        GST_WARNING_OBJECT (ogm, "could not find video caps for fourcc '%s'",
+            fstr);
+        caps =
+            gst_caps_new_simple ("video/x-ogm-unknown", "fourcc", G_TYPE_STRING,
+            fstr, NULL);
+        g_free (fstr);
         break;
       }