Ver código fonte

media player: don't crash if the optional recording protocol is not implemented (fixes #237)

Felix Paul Kühne 6 anos atrás
pai
commit
4a5db98bcb
1 arquivos alterados com 9 adições e 2 exclusões
  1. 9 2
      Sources/VLCMediaPlayer.m

+ 9 - 2
Sources/VLCMediaPlayer.m

@@ -1553,8 +1553,15 @@ static void HandleMediaPlayerRecord(const libvlc_event_t * event, void * self)
     NSString *filePath = arguments.firstObject[@"filePath"];
     BOOL isRecording = [arguments.firstObject[@"isRecording"] boolValue];
 
-    isRecording ? [_delegate mediaPlayerStartedRecording:self]
-                : [_delegate mediaPlayer:self recordingStoppedAtPath:filePath];
+    if (isRecording) {
+        if ([(NSObject *)_delegate respondsToSelector:@selector(mediaPlayerStartedRecording:)]) {
+            [_delegate mediaPlayerStartedRecording:self];
+        }
+    } else {
+        if ([(NSObject *)_delegate respondsToSelector:@selector(mediaPlayer:recordingStoppedAtPath:)]) {
+            [self.delegate mediaPlayer:self recordingStoppedAtPath:filePath];
+        }
+    }
 }
 
 @end