[Bug 755918] decodebin: Refactor code to remove assertion errors

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Feb 17 01:56:10 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=755918

--- Comment #13 from Vineeth <vineeth.tm at samsung.com> ---
as mentioned in previous comments, i don't see any reason why the caps will be
NULL, other than maybe when decodebin shuts down when this code is running.
It was already added just as a precautionary measure. So just adding extra
precautionary checks. 


The only change needed here is replacing the below block of code

  /* Caps that resulted in this chain */
  caps = gst_pad_get_current_caps (chain->pad);
  if (!caps) {
    caps = get_pad_caps (chain->pad);
    if (G_UNLIKELY (!gst_caps_is_fixed (caps))) {
      GST_ERROR_OBJECT (chain->pad,
          "Couldn't get fixed caps, got %" GST_PTR_FORMAT, caps);
      gst_caps_unref (caps);
      caps = NULL;
    }
  }
...

with
caps = get_pad_caps (chain->pad);

since get_pad_caps already handles gst_pad_get_current_caps, so it will become
duplicated calls


Rest all is not needed and highly impossible scenarios. Hence the addition of
G_UNLIKELY :)

Actually it is not even a major issue, so i don't mind to close this issue as
invalid.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list