luxlabs header browser preview


@class PLMoviePlayerView, AVPlayerItem, PLTVOutWindow, NSString, AVPlayer;
@protocol PLMoviePlayerControllerDelegate;

@interface PLMoviePlayerController : NSObject {
    AVPlayerItem *_playerItem;
    PLTVOutWindow *_tvOutWindow;
    BOOL _hasPendingTime;
    double _pendingTime;
    unsigned long long _pendingTimeSnapOption;
    BOOL _forceUpdateCurrentTime;
    BOOL _isExternalPlayback;
    BOOL _exited;
    double _lastSetCurrentTimeTime;
    BOOL _isSeeking;
    unsigned long long _backgroundTaskId;
    BOOL _audioSessionActive;
    NSString *_originalAudioCategory;
}

@property (nonatomic) BOOL TVOutEnabled;
@property (nonatomic, setter=_setForceDisableTVOut:) BOOL forceDisableTVOut;
@property (nonatomic) BOOL isActiveController;
@property (nonatomic) id<PLMoviePlayerControllerDelegate> delegate;
@property (readonly, retain, nonatomic) AVPlayer *player;
@property (readonly, retain, nonatomic) PLMoviePlayerView *view;
@property (readonly, nonatomic) float playbackRate;
@property (readonly, nonatomic) unsigned long long playbackState;
@property (readonly, nonatomic) double duration;
@property (nonatomic) double currentTime;
@property (readonly, nonatomic) unsigned long long bufferingState;
@property (readonly, nonatomic) BOOL isPreparedForPlayback;

+ (id)AVAssetURLWithPath:(id)a0;
+ (BOOL)_isNetworkSupportedPath:(id)a0;
+ (BOOL)_isStreamableAsset:(id)a0;

- (void)_registerForNotifications;
- (long long)externalPlaybackType;
- (void)play;
- (void)pause;
- (id)init;
- (void)dealloc;
- (void)_unregisterForNotifications;
- (void)stop;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void)_setPlayerItem:(id)a0;
- (id)_asset;
- (void)_screenDidConnect:(id)a0;
- (void)_screenDidDisconnect:(id)a0;
- (BOOL)_allowsExternalPlayback;
- (void)_dispatchOnMainThreadWithBlock:(id /* block */)a0;
- (void)_tearDownPlayer;
- (void)requestToBecomeActiveController;
- (void)_delayedUpdateFromPendingTime;
- (void)_didEnterBackgroundNotification:(id)a0;
- (void)_didLoadValueOfKey:(id)a0 forAsset:(id)a1;
- (void)_displayVideoView;
- (void)_exitPlayer:(int)a0;
- (void)_loadAsset:(id)a0;
- (void)_pausePlaybackForNotification;
- (void)_playbackFailedWithError:(id)a0;
- (void)_playerItemDidReachEndNotification:(id)a0;
- (void)_playerItemFailedToPlayToEnd:(id)a0;
- (void)_playerItemFailedToPlayToEndNotification:(id)a0;
- (id)_playerKeysToObserve;
- (void)_playerRateDidChange:(id)a0;
- (void)_restoreTVOutVideoIfNecessary;
- (void)_serverConnectionDidDie:(id)a0;
- (void)_setBufferingState:(unsigned long long)a0;
- (void)_setPlaybackState:(unsigned long long)a0;
- (void)_setupPlayer;
- (void)_setupTVOutWindow;
- (void)_simpleRemoteNotification:(id)a0;
- (void)_streamBufferFull;
- (void)_streamLikelyToKeepUp;
- (void)_streamRanDry;
- (void)_streamUnlikelyToKeepUp;
- (void)_tearDownTVOutWindow;
- (void)_updateBackgroundViewInformation;
- (void)_updateDisableAirPlayMirroringDuringPlayback;
- (void)_updateFromPendingTime;
- (void)_updateTVOutEnabled;
- (void)_willBeginSuspendAnimationNotification:(id)a0;
- (void)_willEnterForegroundNotification:(id)a0;
- (void)_willResignNotification:(id)a0;
- (void)_willSuspendNotification:(id)a0;
- (void)didBecomeActiveController;
- (BOOL)isExternalPlayback;
- (void)pauseDueToInsufficientData;
- (void)playDueToEnoughData;
- (void)playFromBeginning;
- (void)requestToResignAsActiveController;
- (void)resetPlayer;
- (void)setCurrentTime:(double)a0 timeSnapOption:(unsigned long long)a1;
- (void)setCurrentTime:(double)a0 timeSnapOption:(unsigned long long)a1 forceUpdate:(BOOL)a2;
- (void)setPlayerItem:(id)a0 startTime:(double)a1;
- (void)tearDownTVOutWindow;
- (BOOL)videoOutActive;
- (void)willResignAsActiveController;

@end