After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 754122 - h265parse/h264parse: Crashes instead of returning not-negotiated
h265parse/h264parse: Crashes instead of returning not-negotiated
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal blocker
: 1.5.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2015-08-26 14:41 UTC by Nicolas Dufresne (ndufresne)
Modified: 2015-08-28 18:27 UTC
See Also:
GNOME target: ---
GNOME version: ---

h264parse/h265parse: Fix negotiation crash (1.86 KB, patch)
2015-08-26 14:56 UTC, Nicolas Dufresne (ndufresne)
committed Details | Review

Description Nicolas Dufresne (ndufresne) 2015-08-26 14:41:29 UTC
H265 parser will crash if there is no allowed caps downstream.

Using this file:

And running this invalid pipeline (missing a converter):
gst-launch-1.0 filesrc location=SLIST_D_Sony_9.bin ! h265parse ! avdec_h265 ! ximagesink
Comment 1 Nicolas Dufresne (ndufresne) 2015-08-26 14:56:11 UTC
Created attachment 310036 [details] [review]
h264parse/h265parse: Fix negotiation crash

As it's recursive, gst_pad_get_allowed_caps() may also return
empty for anything incompatible downstream. EMPTY is not valid caps
value for gst_caps_fixate(). This lead to assertion and then crash.
Ideally, the negotiate function should be re-factored to have a return
value, and we could make the negotiation fails earlier.
Comment 2 Nicolas Dufresne (ndufresne) 2015-08-26 15:27:25 UTC
Attachment 310036 [details] pushed as b392a6e - h264parse/h265parse: Fix negotiation crash