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 796951 - aggregator: Return an error directly if negotiation of a sink pad failed
aggregator: Return an error directly if negotiation of a sink pad failed
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other All
: Normal normal
: 1.15.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-08-13 11:51 UTC by Sebastian Dröge (slomo)
Modified: 2018-08-14 09:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
aggregator: Return an error directly if negotiation of a sink pad failed (4.40 KB, patch)
2018-08-13 11:52 UTC, Sebastian Dröge (slomo)
committed Details | Review
audioaggregator: Properly propagate caps negotiation failures (1.95 KB, patch)
2018-08-13 11:52 UTC, Sebastian Dröge (slomo)
none Details | Review
audioaggregator: Properly propagate caps negotiation failures (1.98 KB, patch)
2018-08-13 11:55 UTC, Sebastian Dröge (slomo)
committed Details | Review

Description Sebastian Dröge (slomo) 2018-08-13 11:51:56 UTC
See commit message
Comment 1 Sebastian Dröge (slomo) 2018-08-13 11:52:01 UTC
Created attachment 373305 [details] [review]
aggregator: Return an error directly if negotiation of a sink pad failed

And don't give buffers to subclasses in that case.
Comment 2 Sebastian Dröge (slomo) 2018-08-13 11:52:31 UTC
Created attachment 373306 [details] [review]
audioaggregator: Properly propagate caps negotiation failures

Otherwise we'll end up doing a division by zero when clipping buffers,
and might even accept buffers for which we don't know the caps.
Comment 3 Sebastian Dröge (slomo) 2018-08-13 11:55:10 UTC
Created attachment 373307 [details] [review]
audioaggregator: Properly propagate caps negotiation failures

Otherwise we'll end up doing a division by zero when clipping buffers,
and might even accept buffers for which we don't know the caps.
Comment 4 Thibault Saunier 2018-08-13 12:44:42 UTC
Review of attachment 373307 [details] [review]:

Lgtm, we got the crash while clipping in Pitivi recently (https://gitlab.gnome.org/GNOME/pitivi/issues/2228, I didnt have time to investigate :)), hopefully that will fix.
Comment 5 Thibault Saunier 2018-08-13 12:44:43 UTC
Review of attachment 373307 [details] [review]:

Lgtm, we got the crash while clipping in Pitivi recently (https://gitlab.gnome.org/GNOME/pitivi/issues/2228, I didnt have time to investigate :)), hopefully that will fix.
Comment 6 Sebastian Dröge (slomo) 2018-08-14 07:24:05 UTC
Comment on attachment 373305 [details] [review]
aggregator: Return an error directly if negotiation of a sink pad failed

Attachment 373305 [details] pushed as 08bd835 - aggregator: Return an error directly if negotiation of a sink pad failed
Comment 7 Sebastian Dröge (slomo) 2018-08-14 07:24:50 UTC
Attachment 373307 [details] pushed as 1b6eed6 - audioaggregator: Properly propagate caps negotiation failures
Comment 8 Sebastian Dröge (slomo) 2018-08-14 09:32:19 UTC
Follow-up fix

commit 49d212e908fe76de3862caa9d1b4d7ba6bba7e44 (HEAD -> master, origin/master, origin/HEAD)
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Tue Aug 14 12:30:19 2018 +0300

    aggregator: Fixup for previous commit to prevent infinite loop if no events are pending