[gstreamer-bugs] [Bug 503592] gstpad.c does many ref/unref of peer pad in dataflow

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Oct 12 03:40:27 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=503592
  GStreamer | gstreamer (core) | git

--- Comment #12 from Wim Taymans <wim.taymans at gmail.com> 2010-10-12 10:40:24 UTC ---
Created an attachment (id=172173)
 View: https://bugzilla.gnome.org/attachment.cgi?id=172173
 Review: https://bugzilla.gnome.org/review?bug=503592&attachment=172173

fast path prototype

Here is a small prototype of the pad link cache.

The idea is that when there are no flushing pads, no probes or pad blocks, we
can avoid taking any locks (except for the streaming lock) or doing any
refcounts as shown in the above patch. The downside is that we do a few more
atomic compare and swaps to get sole access to the cache.

The next thing to implement is invalidation code for the cache and code to
recreate the cache when the fast-path conditions are met again. This should be
done by tagging each modification to pads (flushing, probed, blocked) by
incrementing a cookie.

Also the caps on the buffer should be checked against the cached ones so that
we can fall back to the slow path as well.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.




More information about the Gstreamer-bugs mailing list