فهرست منبع

VLCMediaDiscoverer: Fix deadlock

Since the `StopDiscoverer` method is already dispatching asynchronously,
dispatching it on the same queue(current queue) will result a deadlock.

Signed-off-by: Carola Nitz <nitz.carola@googlemail.com>
(cherry picked from commit 8da2d336140f9bf752f465accfb83b4d1e7ba204)
Signed-off-by: Felix Paul Kühne <felix@feepk.net>
Soomin Lee 7 سال پیش
والد
کامیت
14f517dbdb
1فایلهای تغییر یافته به همراه3 افزوده شده و 5 حذف شده
  1. 3 5
      Sources/VLCMediaDiscoverer.m

+ 3 - 5
Sources/VLCMediaDiscoverer.m

@@ -118,11 +118,9 @@ NSString *const VLCMediaDiscovererCategory = @"VLCMediaDiscovererCategory";
     [[VLCEventManager sharedManager] cancelCallToObject:self];
 
     if (_mdis) {
-        dispatch_sync(_libVLCBackgroundQueue, ^{
-            if (libvlc_media_discoverer_is_running(_mdis))
-                libvlc_media_discoverer_stop(_mdis);
-            libvlc_media_discoverer_release(_mdis);
-        });
+        if (libvlc_media_discoverer_is_running(_mdis))
+            libvlc_media_discoverer_stop(_mdis);
+        libvlc_media_discoverer_release(_mdis);
     }
 
     libvlc_release(_privateLibrary.instance);