transcodebin: Minor error message enhancement
authorThibault Saunier <tsaunier@igalia.com>
Fri, 20 Nov 2020 14:29:46 +0000 (11:29 -0300)
committerThibault Saunier <tsaunier@igalia.com>
Mon, 30 Nov 2020 20:31:48 +0000 (17:31 -0300)
gst/transcode/gsttranscodebin.c
tools/gst-transcoder.c

index 5858081..e5c041c 100644 (file)
@@ -55,7 +55,7 @@ GST_STATIC_PAD_TEMPLATE ("sink",
  *
  * The sometimes source pad, it will be exposed depending on the
  * #transcodebin:profile in use.
- * 
+ *
  * Note: in GStreamer 1.18 it was a static
  * srcpad but in the the 1.20 cycle it was decided that we should make it a
  * sometimes pad as part of the development of #encodebin2.
@@ -341,12 +341,16 @@ gst_transcode_bin_link_encodebin_pad (GstTranscodeBin * self, GstPad * pad,
       GstCaps *othercaps = gst_pad_query_caps (stream->encodebin_pad, NULL);
       caps = gst_pad_get_current_caps (pad);
 
+      if (!caps)
+        caps = gst_pad_query_caps (pad, NULL);
+
       GST_ELEMENT_ERROR_WITH_DETAILS (self, CORE, PAD,
           (NULL),
           ("Couldn't link pads:\n    %" GST_PTR_FORMAT ": %" GST_PTR_FORMAT
               "\nand:\n"
-              "    %" GST_PTR_FORMAT ": %" GST_PTR_FORMAT "\n\n",
-              pad, caps, stream->encodebin_pad, othercaps),
+              "    %" GST_PTR_FORMAT ": %" GST_PTR_FORMAT "\n\n Error: %s\n",
+              pad, caps, stream->encodebin_pad, othercaps,
+              gst_pad_link_get_name (lret)),
           ("linking-error", GST_TYPE_PAD_LINK_RETURN, lret,
               "source-pad", GST_TYPE_PAD, pad,
               "source-caps", GST_TYPE_CAPS, caps,
index 1b5bbc5..d805c76 100644 (file)
@@ -236,10 +236,11 @@ _error_cb (GstTranscoder * transcoder, GError * err, GstStructure * details)
             GST_TYPE_PAD_LINK_RETURN, &lret,
             "msg-source-type", G_TYPE_GTYPE, &type, NULL) &&
         type == g_type_from_name ("GstTranscodeBin")) {
+      const gchar *debug = gst_structure_get_string (details, "debug");
+
       error ("\nCould not setup transcoding pipeline,"
           " make sure that your transcoding format parameters"
-          " are compatible with the input stream.");
-
+          " are compatible with the input stream.\n\n%s", debug);
       return;
     }
   }