[Bug 704809] Use one GstGLContext per streaming thread

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Dec 30 10:50:04 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=704809
  GStreamer | gst-plugins-gl | git

--- Comment #10 from Julien Isorce <julien.isorce at gmail.com> 2013-12-30 18:49:55 UTC ---
I think there is something to do with SERIALIZED queries.

We could do that in a generic way, so only based on if a query is serialized or
not.

But concretely in "propose_allocation" a field "thread_id" (= g_thread_self ()
) would be added so that in "decide_allocation" we would know if the streaming
thread of downstream elements will be difference than here. So if different we
would create another one a share, or something like that.

The approach is based on the fact that we know what would the streaming thread
(value returned by g_thread_self () )  in decide_allocation and
propose_allocation because the allocation query is serialized.

I means that when calling g_thread_self() in
GstBaseTransform::decide_allocation, and GstBaseTransform::propose it would
return the same value as if you call it in GstBaseTransform::transform.

And for sinks, calling g_thread_self() from GstBaseSink::propose_allocation
returns the same value as the one returned when you call it from
GstBaseSink::show_frame

I'll try to do a first draft if you think the approach make senses. (only a
draft in gstreamer core api, first)

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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