diff --git a/common b/common index bc76a8b6a2..f2c6b95d0d 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit bc76a8b6a2db1cc0605158e672b2d420b4e130d0 +Subproject commit f2c6b95d0d98e97c37ffe27509709fdd41cd503c diff --git a/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m b/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m index 678fd63d84..a0f09eadc4 100644 --- a/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m +++ b/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m @@ -24,6 +24,7 @@ #endif #include +#include #include "gstgl_cocoa_private.h" @@ -280,11 +281,12 @@ gst_gl_window_cocoa_draw (GstGLWindow * window) GstGLNSView *view = (GstGLNSView *)[window_cocoa->priv->internal_win_id contentView]; /* this redraws the GstGLCAOpenGLLayer which calls - * gst_gl_window_cocoa_draw_thread() + * gst_gl_window_cocoa_draw_thread(). Use an explicit CATransaction since we + * don't know how often the main runloop is running. */ - dispatch_sync (dispatch_get_main_queue(), ^{ - [view setNeedsDisplay:YES]; - }); + [CATransaction begin]; + [view setNeedsDisplay:YES]; + [CATransaction commit]; } static void