summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--subprojects/gst-plugins-good/sys/osxvideo/osxvideosink.m5
1 files changed, 3 insertions, 2 deletions
diff --git a/subprojects/gst-plugins-good/sys/osxvideo/osxvideosink.m b/subprojects/gst-plugins-good/sys/osxvideo/osxvideosink.m
index b2c905cc43..4d5d2b4551 100644
--- a/subprojects/gst-plugins-good/sys/osxvideo/osxvideosink.m
+++ b/subprojects/gst-plugins-good/sys/osxvideo/osxvideosink.m
@@ -301,11 +301,9 @@ gst_osx_video_sink_osxwindow_destroy (GstOSXVideoSink * osxvideosink)
g_return_if_fail (GST_IS_OSX_VIDEO_SINK (osxvideosink));
pool = [[NSAutoreleasePool alloc] init];
- GST_OBJECT_LOCK (osxvideosink);
gst_osx_video_sink_call_from_main_thread(osxvideosink,
osxvideosink->osxvideosinkobject,
@selector(destroy), (id) nil, YES);
- GST_OBJECT_UNLOCK (osxvideosink);
#ifndef GSTREAMER_GLIB_COCOA_NSAPPLICATION
gst_osx_video_sink_stop_cocoa_loop (osxvideosink);
#endif
@@ -914,6 +912,7 @@ no_texture_buffer:
pool = [[NSAutoreleasePool alloc] init];
+ GST_OBJECT_LOCK (osxvideosink);
osxwindow = osxvideosink->osxwindow;
osxvideosink->osxwindow = NULL;
@@ -931,6 +930,8 @@ no_texture_buffer:
}
g_free (osxwindow);
}
+ GST_OBJECT_UNLOCK (osxvideosink);
+
[pool release];
}