[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