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 622740 - GstPad: Do not call gst_pad_accept_caps() when caps change
GstPad: Do not call gst_pad_accept_caps() when caps change
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other All
: Normal normal
: 0.10.31
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-06-25 15:44 UTC by Edward Hervey
Modified: 2010-07-16 13:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GstPad: Do not call gst_pad_accept_caps() when caps change (1.16 KB, patch)
2010-06-25 15:44 UTC, Edward Hervey
committed Details | Review

Description Edward Hervey 2010-06-25 15:44:31 UTC
Instead just check that the caps intersect with the pad template.
The elements should properly accept/refuse the caps in setcaps().

Shaves off calling the default implementation of acceptcaps which does
an expensive gst_pad_get_caps() (so if you have 50 of those elements in
a row, you'd be doing factorial(50) gst_pad_get_caps...).

Does break any module unit test and most apps work fine.
Comment 1 Edward Hervey 2010-06-25 15:44:33 UTC
Created attachment 164631 [details] [review]
GstPad: Do not call gst_pad_accept_caps() when caps change
Comment 2 Tim-Philipp Müller 2010-06-25 15:52:27 UTC
I think we should wait with this until after the release, since it's just a performance improvement.
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2010-06-25 20:16:33 UTC
Just gave it some testing in buzztard. Everything works as expected so far.
Comment 4 Edward Hervey 2010-07-16 13:31:17 UTC
Attachment 164631 [details] pushed as 7fa58db - GstPad: Do not call gst_pad_accept_caps() when caps change