[Bug 704809] Use one GstGLContext per streaming thread

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Feb 26 01:13:06 PST 2014


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

--- Comment #19 from Julien Isorce <julien.isorce at gmail.com> 2014-02-26 09:34:32 UTC ---
If I just focus on the main idea which is to know if there is a thread boundary
or not between producer and consumer (I mean no matter how many threads there
are between them) then I fall into the following:

If I replace
gboolean gst_query_add_streaming_thread (GstQuery * query) by gboolean
gst_query_check_streaming_thread (GstQuery * query) which would just call
g_thread_self and keep the last value. So that for A ! queue ! B , this
https://bug704809.bugzilla-attachments.gnome.org/attachment.cgi?id=265392 will
call it twice and see that the thread is not the same on the second call.

But if I have A ! queue ! B ! C , then it would be the same when reaching C.
So the information we would keep is if the thread has ever changed when the
serialized query transited from A to C. I mean the thread just needs to change
one time. Then I could replace gst_query_get_n_streaming_threads by
gst_query_has_thread_boundary.

Doing that is ok for my need but then I do not see why not moving to the first
solution gst_query_add_current_streaming_thread /
gst_query_get_n_streaming_threads as we would need to retain the return value
of g_thread_self at least one time in both cases.

Also I agree to do the changes pointed in comment #16.

Also see the unit test
https://bug704809.bugzilla-attachments.gnome.org/attachment.cgi?id=265393 it
can gives some ideas.

We really need to have this new API to go further with gst-plugins-gl.

-- 
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