Original commit message from CVS:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Remove the event-loop-in-separate-thread modifications, because MacOSX
is $#@(*%$# ! For those wondering, the event handling needs to be done
in the main thread after all..
gboolean embed;
gboolean fullscreen;
gboolean sw_scaling_failed;
- GstTask *event_loop;
- GStaticRecMutex loop_lock;
};
struct _GstOSXVideoSinkClass {
[NSApp setRunning];
// insert event dispatch in the glib main loop
- g_static_rec_mutex_init (&osxvideosink->loop_lock);
- osxvideosink->event_loop = gst_task_create ((GstTaskFunction) cocoa_event_loop, osxvideosink);
- gst_task_set_lock (osxvideosink->event_loop, &osxvideosink->loop_lock);
- gst_task_start (osxvideosink->event_loop);
+ g_idle_add ((GSourceFunc) cocoa_event_loop, osxvideosink);
} else {
GstStructure *s;
GstMessage *msg;
g_return_if_fail (GST_IS_OSX_VIDEO_SINK (osxvideosink));
[osxwindow->pool release];
- if (osxvideosink->event_loop)
- gst_task_stop (osxvideosink->event_loop);
g_free (osxwindow);
}