Explorar o código

vpc: always start and stop playback on the mainthread since setters may come from the background

Felix Paul Kühne %!s(int64=9) %!d(string=hai) anos
pai
achega
62628f80e8
Modificáronse 1 ficheiros con 9 adicións e 9 borrados
  1. 9 9
      Sources/VLCPlaybackController.m

+ 9 - 9
Sources/VLCPlaybackController.m

@@ -170,10 +170,10 @@ NSString *const VLCPlaybackControllerPlaybackDidFail = @"VLCPlaybackControllerPl
 
     if (self.activePlaybackSession) {
         self.sessionWillRestart = YES;
-        [self stopPlayback];
+        [self performSelectorOnMainThread:@selector(stopPlayback) withObject:nil waitUntilDone:NO];
     } else {
         self.sessionWillRestart = NO;
-        [self startPlayback];
+        [self performSelectorOnMainThread:@selector(startPlayback) withObject:nil waitUntilDone:NO];
     }
 }
 
@@ -185,10 +185,10 @@ NSString *const VLCPlaybackControllerPlaybackDidFail = @"VLCPlaybackControllerPl
 
     if (self.activePlaybackSession) {
         self.sessionWillRestart = YES;
-        [self stopPlayback];
+        [self performSelectorOnMainThread:@selector(stopPlayback) withObject:nil waitUntilDone:NO];
     } else {
         self.sessionWillRestart = NO;
-        [self startPlayback];
+        [self performSelectorOnMainThread:@selector(startPlayback) withObject:nil waitUntilDone:NO];
     }
 }
 
@@ -199,10 +199,10 @@ NSString *const VLCPlaybackControllerPlaybackDidFail = @"VLCPlaybackControllerPl
 
     if (self.activePlaybackSession) {
         self.sessionWillRestart = YES;
-        [self stopPlayback];
+        [self performSelectorOnMainThread:@selector(stopPlayback) withObject:nil waitUntilDone:NO];
     } else {
         self.sessionWillRestart = NO;
-        [self startPlayback];
+        [self performSelectorOnMainThread:@selector(startPlayback) withObject:nil waitUntilDone:NO];
     }
 }
 
@@ -372,7 +372,7 @@ NSString *const VLCPlaybackControllerPlaybackDidFail = @"VLCPlaybackControllerPl
         [[NSNotificationCenter defaultCenter] postNotificationName:VLCPlaybackControllerPlaybackDidStop object:self];
     } else {
         self.sessionWillRestart = NO;
-        [self startPlayback];
+        [self performSelectorOnMainThread:@selector(startPlayback) withObject:nil waitUntilDone:NO];
     }
 }
 
@@ -752,14 +752,14 @@ NSString *const VLCPlaybackControllerPlaybackDidFail = @"VLCPlaybackControllerPl
 
 - (void)setUrl:(NSURL *)url
 {
-    [self stopPlayback];
+    [self performSelectorOnMainThread:@selector(stopPlayback) withObject:nil waitUntilDone:NO];
     _url = url;
     _playerIsSetup = NO;
 }
 
 - (void)setMediaList:(VLCMediaList *)mediaList
 {
-    [self stopPlayback];
+    [self performSelectorOnMainThread:@selector(stopPlayback) withObject:nil waitUntilDone:NO];
     _mediaList = mediaList;
     _playerIsSetup = NO;
 }