summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--sys/osxvideo/osxvideosink.h2
-rw-r--r--sys/osxvideo/osxvideosink.m7
3 files changed, 9 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index b32be7bc..a645add0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-05-17 Edward Hervey <edward@fluendo.com>
+
+ * 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..
+
2007-05-17 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/switch/gstswitch.c (ARG_0, ARG_NB_SOURCES, ARG_ACTIVE_SOURCE,
diff --git a/sys/osxvideo/osxvideosink.h b/sys/osxvideo/osxvideosink.h
index 4aef99f4..d7fba966 100644
--- a/sys/osxvideo/osxvideosink.h
+++ b/sys/osxvideo/osxvideosink.h
@@ -84,8 +84,6 @@ struct _GstOSXVideoSink {
gboolean embed;
gboolean fullscreen;
gboolean sw_scaling_failed;
- GstTask *event_loop;
- GStaticRecMutex loop_lock;
};
struct _GstOSXVideoSinkClass {
diff --git a/sys/osxvideo/osxvideosink.m b/sys/osxvideo/osxvideosink.m
index 9fb9d89f..45dda334 100644
--- a/sys/osxvideo/osxvideosink.m
+++ b/sys/osxvideo/osxvideosink.m
@@ -259,10 +259,7 @@ gst_osx_video_sink_osxwindow_new (GstOSXVideoSink * osxvideosink, gint width,
[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;
@@ -302,8 +299,6 @@ gst_osx_video_sink_osxwindow_destroy (GstOSXVideoSink * osxvideosink,
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);
}