luxlabs header browser preview


@class NSURL, IMPlayerManifest, IMPlayerItem, NSObject, AVPlayerLayer, NSMutableArray, AVPlayerItem, MPRemoteCommandCenter, IMAVPlayerVideoViewController, NSTimer, AVAudioSession, IMPlayerChapterInfo, NSArray, MPNowPlayingInfoCenter, NSString, AVPlayer, UIWindow;
@protocol OS_dispatch_source, IMAVPlayerDelegate, IMAVPlaybackCausalityObserver;

@interface IMAVPlayer : NSObject <AVAudioSessionDelegate>

@property (class, readonly, nonatomic) NSArray *availableSpeeds;

@property (retain, nonatomic) NSURL *lastPlayingURL;
@property (nonatomic) unsigned long long backgroundTask;
@property (retain, nonatomic) NSTimer *hdcpTimer;
@property (retain, nonatomic) NSTimer *seekTimer;
@property (retain, nonatomic) NSMutableArray *timeObservers;
@property (retain, nonatomic) NSMutableArray *observingTimes;
@property (nonatomic) BOOL timeObserverNeedsUpdate;
@property (nonatomic) BOOL seekForward;
@property (nonatomic) struct { unsigned char delegateStateChanged : 1; unsigned char delegateErrorDidOccur : 1; unsigned char delegateMediaTypeAvailable : 1; unsigned char delegateDurationAvailable : 1; unsigned char delegateCallbackForTime : 1; unsigned char delegatePeriodicUpdate : 1; unsigned char delegateHasDidChangePlayerItem : 1; unsigned char delegateHasDidStopPlayerItem : 1; unsigned char delegateHasDidEndedPlayerItem : 1; unsigned char delegateLoadedDurationChanged : 1; unsigned char delegateChapterStarted : 1; unsigned char delegateCurrentManifestItemChanged : 1; } delegateFlags;
@property (retain, nonatomic) NSObject<OS_dispatch_source> *fadeOutTimer;
@property (retain, nonatomic) MPNowPlayingInfoCenter *infoCenter;
@property (retain, nonatomic) MPRemoteCommandCenter *commandCenter;
@property (retain, nonatomic) AVAudioSession *audioSession;
@property (retain, nonatomic) AVPlayer *player;
@property (retain, nonatomic) AVPlayerItem *playerItem;
@property (retain, nonatomic) id periodicTimeObserver;
@property (retain, nonatomic) id nowPlayingInfoPeriodicTimeObserver;
@property (nonatomic) BOOL isUpdatingCurrentTime;
@property (nonatomic) float requestedRate;
@property (nonatomic) BOOL wasInterrupted;
@property (nonatomic) BOOL wasInterruptedEarly;
@property (nonatomic) BOOL stateChangeInterruptionFlag;
@property (retain, nonatomic) NSTimer *autoStopTimer;
@property (nonatomic) double autoStopTimerPausedTime;
@property (retain, nonatomic) IMAVPlayerVideoViewController *videoViewController;
@property (retain, nonatomic) AVPlayerLayer *videoLayer;
@property (retain, nonatomic) UIWindow *externalVideoWindow;
@property (nonatomic) float scanRate;
@property (weak, nonatomic) id<IMAVPlayerDelegate> delegate;
@property (weak, nonatomic) NSObject<IMAVPlaybackCausalityObserver> *causalityObserver;
@property (nonatomic) unsigned long long state;
@property (readonly, nonatomic) unsigned long long loadState;
@property (readonly, nonatomic) BOOL isPlaybackRequested;
@property (readonly, nonatomic) BOOL isPlaybackActive;
@property (nonatomic) float volume;
@property (readonly, nonatomic) float actualRate;
@property (readonly, nonatomic) double loadedDuration;
@property (readonly, nonatomic) BOOL bufferEmpty;
@property (readonly, nonatomic) IMPlayerManifest *manifest;
@property (retain, nonatomic) IMPlayerItem *currentItem;
@property (copy, nonatomic) id /* block */ playbackErrorFallback;
@property (nonatomic) double currentTime;
@property (readonly, nonatomic) double duration;
@property (nonatomic) unsigned long long autoStop;
@property (nonatomic) double autoStopTimerTime;
@property (nonatomic) double autoStopMediaTime;
@property (readonly, nonatomic) double autoStopTimeRemaining;
@property (nonatomic) BOOL providesVideoView;
@property (readonly, nonatomic) BOOL airplayVideoActive;
@property (nonatomic) BOOL shouldEnforceHDCP;
@property (nonatomic) unsigned long long videoScale;
@property (readonly, nonatomic) BOOL externalDisplay;
@property (nonatomic) unsigned long long currentChapterIndex;
@property (readonly, nonatomic) IMPlayerChapterInfo *currentChapter;
@property (readonly, nonatomic) unsigned long long chapterCount;
@property (nonatomic) unsigned long long chapterMetadataMode;
@property (nonatomic) int loops;
@property (nonatomic) BOOL scrubbing;
@property (readonly, nonatomic) BOOL isSeeking;
@property (readonly, nonatomic) BOOL isScanning;
@property (nonatomic) unsigned long long playbackSpeed;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)sharedPlayer;
+ (id)availableSpeeds;
+ (id)avPlaybackSpeedForSpeed:(unsigned long long)a0;
+ (unsigned long long)decrementPlaybackSpeed:(unsigned long long)a0;
+ (unsigned long long)incrementPlaybackSpeed:(unsigned long long)a0;
+ (BOOL)isMaxSpeed:(unsigned long long)a0;
+ (BOOL)isMinSpeed:(unsigned long long)a0;
+ (void)performOnAvSessionQueue:(id /* block */)a0;
+ (void)performOnMainQueue:(id /* block */)a0;
+ (unsigned long long)playbackSpeedForRate:(float)a0;
+ (float)rateForPlaybackSpeed:(unsigned long long)a0;

- (BOOL)play;
- (BOOL)pause;
- (id)init;
- (void)dealloc;
- (void)nextChapter;
- (BOOL)stop;
- (void)endSeek;
- (BOOL)isStalled;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (BOOL)isAtEnd;
- (void)previousChapter;
- (BOOL)_pause;
- (void)_postNotificationName:(id)a0 userInfo:(id)a1;
- (void)fadeOut;
- (void)fadeOutWithDuration:(double)a0;
- (BOOL)togglePlayPause;
- (void)removeTimeObserver:(double)a0;
- (void)endBackgroundTask;
- (void)fadeOutWithDuration:(double)a0 completion:(id /* block */)a1;
- (void)sleep;
- (void)_createPlayer;
- (BOOL)_pause:(BOOL)a0;
- (void)handleAudioSessionInterruption:(id)a0;
- (void)nextMediaItem;
- (void)previousMediaItem;
- (BOOL)isDurationReady;
- (void)setCurrentTime:(double)a0 fromMediaRemote:(BOOL)a1;
- (void)_failedToPlayToEndNotification:(id)a0;
- (BOOL)previousRemote:(BOOL)a0;
- (void)_assertMainThread;
- (void)_autoStopTimerFired;
- (void)_clearAutoStop;
- (void)_clearAutoStopTimmer;
- (void)_configureAudioSessionWithCompletion:(id /* block */)a0;
- (void)_durationAvailable;
- (void)_pauseAutoStopTimer;
- (void)_primitiveSetCurrentItem:(id)a0;
- (void)_setChapterIndex:(unsigned long long)a0;
- (void)_setCurrentTime:(double)a0;
- (void)_setupAutoStopTimer;
- (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })_skipToPreviousThreshold;
- (BOOL)_stopWithReason:(unsigned long long)a0 initiator:(unsigned long long)a1 stopBlock:(id /* block */)a2;
- (void)_updateForCurrentRateAndTimeControlStatus;
- (void)_updatePlayerForCurrentItem;
- (void)_updatePlayerTimeCompleted:(double)a0 completion:(id /* block */)a1;
- (void)_updatePlayerToCurrentTime:(id /* block */)a0;
- (BOOL)_validatePlay;
- (void)addCMTimeObserver:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)addPeriodicTimeObservers;
- (void)addTimeObserver:(double)a0;
- (void)becomeActiveMediaPlayer;
- (void)beginBackgroundTask;
- (void)cancelFadeOut;
- (void)cancelSeek;
- (void)clearTimeObservers;
- (void)configureAudioSessionAndSetActive:(BOOL)a0 withCompletion:(id /* block */)a1;
- (void)enforceAutoStopForMode:(unsigned long long)a0;
- (void)forceTriggerTimeObserverAt:(double)a0;
- (void)handlePlayerInterruption:(id)a0;
- (BOOL)hasChapters;
- (void)hdcpTimer:(id)a0;
- (id)initWithCommandCenter:(id)a0 infoCenter:(id)a1 audioSession:(id)a2;
- (void)manifestCurrentItemDidChange;
- (BOOL)nextRemote;
- (void)onChaptersLoaded:(id)a0;
- (void)onRouteChange:(id)a0;
- (void)onSeekTimer:(id)a0;
- (BOOL)pauseWithInitiator:(unsigned long long)a0;
- (BOOL)pauseWithInitiator:(unsigned long long)a0 interruptionEvent:(BOOL)a1;
- (void)play:(id /* block */)a0 interruptionEvent:(BOOL)a1;
- (void)playerItemDidReachEnd:(id)a0;
- (BOOL)previousRemote;
- (void)registerAVSessionCategoryAndMode;
- (void)removeAllTimeObservers;
- (void)removeCMTimeObserver:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)removePeriodicTimeObservers;
- (void)resetPlayer:(id)a0;
- (void)scanWithRate:(float)a0;
- (void)sendItemEndedNotification;
- (void)sendPeriodicTimeEvent:(double)a0 duration:(double)a1 finished:(BOOL)a2;
- (void)setCurrentTimeRemote:(double)a0;
- (void)setManifest:(id)a0 completion:(id /* block */)a1;
- (void)setState:(unsigned long long)a0 additionalUserInfo:(id)a1 completion:(id /* block */)a2;
- (void)setupChapterAtTime:(double)a0;
- (void)setupChapterTimeObservers;
- (void)setupTimeObserver:(id)a0;
- (void)startSeek:(BOOL)a0;
- (id)stillFrameAt:(double)a0 maxSize:(struct CGSize { double x0; double x1; })a1 scale:(double)a2;
- (void)stopObservingPlayer:(id)a0;
- (void)stopObservingPlayerItem:(id)a0;
- (BOOL)stopWithReason:(unsigned long long)a0 initiator:(unsigned long long)a1;
- (float)storedVolume;
- (void)toggleVideoAspectScaleMode;
- (void)triggerTimeObserverAt:(id)a0;
- (void)updateInfoCenterPlaybackState;
- (void)updateNowPlayingDurationSnapshot;
- (void)updateNowPlayingMetadataIncludingArtwork:(BOOL)a0;
- (void)updateRateForCurrentState;
- (void)updateRateForCurrentState:(id /* block */)a0;
- (void)updateTimeObservers;

@end