[Bug 689730] osxvideosink hang the application when setting the pipeline to PLAYING state [multithreading]
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Jul 10 08:31:27 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=689730
GStreamer | gst-plugins-good | 0.10.31
Alexey Chernov <4ernov> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEEDINFO |UNCONFIRMED
--- Comment #14 from Alexey Chernov <4ernov at gmail.com> 2013-07-10 15:31:22 UTC ---
Well, I seem to evaluate the issue: the problem is that
gst_osx_video_sink_call_from_main_thread() function blocks when called from
non-main thread with waitUntilDone is YES, if the following block:
if (!osxvideosink->app_started) {
[NSApplication sharedApplication];
[NSApp finishLaunching];
osxvideosink->app_started = TRUE;
}
wasn't previously called. I tried to move this block to
gst_osx_video_sink_osxwindow_create() so that it goes before the first call to
gst_osx_video_sink_call_from_main_thread(), it works, but I don't know if this
is particularly portable as it's unknown whether
gst_osx_video_sink_osxwindow_create() is called from main thread or not. It's
written here and there that AppKit methods should be called only
single-threaded and _only_ from main thread, so it could potentially lead to
some problems. I think, I will create a separate report about it.
--
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