Ver código fonte

VLCPlaybackService: Attach VLCPlayerDisplayController to service

Soomin Lee 5 anos atrás
pai
commit
7406bacf49

+ 3 - 0
Sources/VLCPlaybackService.h

@@ -34,6 +34,7 @@ extern NSString *const VLCPlaybackServicePlaybackPositionUpdated;
 @class VLCMetaData;
 @class VLCDialogProvider;
 @class VLCMLMedia;
+@class VLCPlayerDisplayController;
 
 @protocol VLCPlaybackServiceDelegate <NSObject>
 #if TARGET_OS_IOS
@@ -150,6 +151,8 @@ NS_SWIFT_NAME(PlaybackService)
 
 - (BOOL)isPlayingOnExternalScreen;
 
+- (void)setPlayerDisplayController:(VLCPlayerDisplayController *)playerDisplayController;
+
 - (void)setNeedsMetadataUpdate;
 - (void)scheduleSleepTimerWithInterval:(NSTimeInterval)timeInterval;
 - (void)performNavigationAction:(VLCMediaPlaybackNavigationAction)action;

+ 13 - 0
Sources/VLCPlaybackService.m

@@ -21,6 +21,8 @@
 #import <AVFoundation/AVFoundation.h>
 #import "VLCRemoteControlService.h"
 #import "VLCMetadata.h"
+#import "VLCPlayerDisplayController.h"
+
 #if TARGET_OS_IOS
 #import "VLC-Swift.h"
 #endif
@@ -62,6 +64,8 @@ NSString *const VLCPlaybackServicePlaybackPositionUpdated = @"VLCPlaybackService
 
     NSMutableArray *_shuffleStack;
     void (^_playbackCompletion)(BOOL success);
+
+    VLCPlayerDisplayController *_playerDisplayController;
 }
 
 @end
@@ -1271,4 +1275,13 @@ NSString *const VLCPlaybackServicePlaybackPositionUpdated = @"VLCPlaybackService
     _renderer = renderer;
     [_mediaPlayer setRendererItem:_renderer];
 }
+
+
+#pragma mark - PlayerDisplayController
+
+- (void)setPlayerDisplayController:(VLCPlayerDisplayController *)playerDisplayController
+{
+    _playerDisplayController = playerDisplayController;
+}
+
 @end

+ 2 - 0
Sources/VLCPlayerDisplayController.m

@@ -66,6 +66,8 @@ static NSString *const VLCPlayerDisplayControllerDisplayModeKey = @"VLCPlayerDis
 {
     self.view = [[VLCUntouchableView alloc] initWithFrame:self.view.frame];
     self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
+
+    [[VLCPlaybackService sharedInstance] setPlayerDisplayController:self];
 }
 
 #pragma mark - properties