luxlabs header browser preview


@class MPCItemBookmarker, MPCAVItemTrace, MPCLeaseController, NSDictionary, MPCPlaybackErrorController, MPAVItem, NSString, MPCPlaybackEngine, MPCExternalPlaybackController, AVPlayerViewController, MPCPlayerItemConfigurator, _MPCAudioSessionController, NSNumber, MPCMediaFoundationTranslator;
@protocol MFQueueManagement, MPCPlaybackEngineEventStreamDeferralAssertion, MFAssetLoading, MFPlaybackStackController;

@interface _MPCPlaybackEnginePlayer : NSObject <MFPlaybackStackControllerDelegate, MPCAssetLoaderDelegate, MPCPlaybackEngineEventObserving>

@property (retain, nonatomic) id<MFPlaybackStackController, MFQueueManagement> playbackStackController;
@property (retain, nonatomic) MPCItemBookmarker *bookmarker;
@property (retain, nonatomic) MPCMediaFoundationTranslator *translator;
@property (retain, nonatomic) MPCPlaybackErrorController *errorController;
@property (retain, nonatomic) MPCExternalPlaybackController *externalPlaybackController;
@property (retain, nonatomic) id<MFAssetLoading> assetLoader;
@property (retain, nonatomic) MPCLeaseController *leaseController;
@property (retain, nonatomic) MPCPlayerItemConfigurator *configurator;
@property (nonatomic) unsigned long long stateHandle;
@property (retain, nonatomic) MPCAVItemTrace *playbackStartTrace;
@property (retain, nonatomic) _MPCAudioSessionController *transientAudioSessionController;
@property (retain, nonatomic) id<MPCPlaybackEngineEventStreamDeferralAssertion> evsDeferralAssertionForFirstAudioFrame;
@property (nonatomic) long long jumpIdentifier;
@property (copy, nonatomic) NSNumber *currentRelativeVolume;
@property (nonatomic) BOOL lastReportedVocalAttenuationEnabledState;
@property (readonly, weak, nonatomic) MPCPlaybackEngine *playbackEngine;
@property (readonly, nonatomic) double currentTime;
@property (readonly, nonatomic) float currentRate;
@property (readonly, nonatomic) long long state;
@property (readonly, nonatomic) long long stateBeforeInterruption;
@property (readonly, nonatomic) BOOL hasPlayedSuccessfully;
@property (nonatomic) BOOL autoPlayWhenLikelyToKeepUp;
@property (readonly, nonatomic) AVPlayerViewController *playerViewController;
@property (readonly, nonatomic) NSDictionary *_stateDictionary;
@property (readonly, nonatomic) MPAVItem *currentItem;
@property (readonly, nonatomic, getter=isReloadingPlaybackContext) BOOL reloadingPlaybackContext;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)describePlayer:(id)a0;

- (void)prewarm;
- (id)initWithPlaybackEngine:(id)a0;
- (void)dealloc;
- (void)engine:(id)a0 didChangeQueueWithReason:(id)a1;
- (void)deactivateAudioSessionIfIdle:(long long)a0;
- (void).cxx_destruct;
- (void)setRelativeVolume:(float)a0;
- (void)engine:(id)a0 didChangeQueueController:(id)a1;
- (void)pauseWithIdentifier:(id)a0 completion:(id /* block */)a1;
- (id)_MPAVItemForMFQueuePlayerItem:(id)a0;
- (double)_adjustPlayerTimeForAudioTapProcessing:(double)a0;
- (BOOL)_isAVKitSkipAction:(id)a0;
- (BOOL)_itemConfigurationIsIncompatibleWithVocalAttenuationState:(id)a0;
- (void)_logPlayerEventsForQueueItem:(id)a0;
- (void)_logTimeJumpForItem:(id)a0 fromTime:(double)a1 toTime:(double)a2 userInitiated:(BOOL)a3 timeStamp:(id)a4;
- (void)_performSkipForUserAction:(id)a0;
- (void)_playbackDidStopForItem:(id)a0 source:(id)a1 reason:(id)a2 time:(double)a3;
- (void)_setupPlaybackStackWithPlaybackEngine:(id)a0;
- (void)_updateActiveFormatForQueueItem:(id)a0;
- (void)assetLoadingDidCompleteForItem:(id)a0 error:(id)a1;
- (void)assetLoadingDidStartForItem:(id)a0;
- (void)becomeActiveWithCompletion:(id /* block */)a0;
- (void)currentItemWillChangeFromItem:(id)a0 toItem:(id)a1 source:(long long)a2 timeStamp:(id)a3;
- (void)didPerformPlayerOperationWithPlayerIdentifier:(id)a0 items:(id)a1 operation:(id)a2;
- (void)didReachEndOfQueueWithReason:(id)a0;
- (void)didReportSignpostWithType:(long long)a0;
- (void)endScanningWithIdentifier:(id)a0 completion:(id /* block */)a1;
- (void)engine:(id)a0 willRemoveQueueController:(id)a1;
- (void)errorResolutionDidEndForItem:(id)a0 error:(id)a1 resolution:(long long)a2;
- (void)errorResolutionDidStartForItem:(id)a0 error:(id)a1;
- (void)finalizeSetQueue:(id)a0 completion:(id /* block */)a1;
- (void)finalizeStateRestoreWithCompletion:(id /* block */)a0;
- (void)firstFrameWillRenderForItem:(id)a0 timeStamp:(id)a1;
- (void)firstVideoFrameWasRenderedForItem:(id)a0 timeStamp:(id)a1;
- (void)interruptionDidBeginWithInterruptor:(id)a0 timeStamp:(id)a1;
- (void)interruptionDidFinishForInterruptor:(id)a0 shouldResume:(BOOL)a1 timeStamp:(id)a2;
- (void)invalidateEVSDeferralAssertionForFirstAudioFrame;
- (void)itemDidBecomeCurrent:(id)a0 source:(long long)a1 timeStamp:(id)a2;
- (void)itemDidFailToLoad:(id)a0 silently:(BOOL)a1 error:(id)a2 timeStamp:(id)a3;
- (void)itemDidFailToPlayToEnd:(id)a0 error:(id)a1 timeStamp:(id)a2;
- (void)itemDidPlayToEnd:(id)a0 timeStamp:(id)a1;
- (void)itemDidResignCurrent:(id)a0 source:(long long)a1 timeStamp:(id)a2;
- (void)itemIsReadyToPlay:(id)a0 timeStamp:(id)a1;
- (void)itemTransitionDidEndFrom:(id)a0 to:(id)a1 type:(long long)a2 duration:(double)a3 timeStamp:(id)a4;
- (void)itemTransitionWillBeginFrom:(id)a0 to:(id)a1 type:(long long)a2 duration:(double)a3 timeStamp:(id)a4;
- (void)jumpToTime:(double)a0 identifier:(id)a1 completion:(id /* block */)a2;
- (void)mediaServicesInterruptionDidBeginWithItemAtDeath:(id)a0 timeAtDeath:(double)a1 timeStamp:(id)a2;
- (void)mediaServicesInterruptionDidEndWithTimeStamp:(id)a0;
- (void)pauseForLeasePreventionWithIdentifier:(id)a0 completion:(id /* block */)a1;
- (void)pauseWithFadeout:(double)a0 identifier:(id)a1 completion:(id /* block */)a2;
- (void)playWithRate:(float)a0 identifier:(id)a1 completion:(id /* block */)a2;
- (void)playbackBufferStateDidChangeToState:(long long)a0 forItem:(id)a1 timeStamp:(id)a2;
- (void)playbackDidReachQueueEndWithTimeStamp:(id)a0;
- (void)playbackDidStartForItem:(id)a0 rate:(float)a1 fromStalling:(BOOL)a2 timeStamp:(id)a3;
- (void)playbackDidStopForItem:(id)a0 source:(id)a1 reason:(id)a2 timeStamp:(id)a3;
- (void)playbackIsBlockedOnNonPlayableItem:(id)a0;
- (void)playbackIsLikelyToKeepUp:(BOOL)a0 forItem:(id)a1 timeStamp:(id)a2;
- (void)playbackRateDidChangeNotifiedForItem:(id)a0 newRate:(float)a1 reason:(id)a2 participantIdentifier:(id)a3 timeStamp:(id)a4;
- (void)playbackRateDidChangeToRate:(float)a0 forItem:(id)a1 timeStamp:(id)a2;
- (void)playbackTimeDidChangeTo:(double)a0 forItem:(id)a1 reason:(long long)a2 timeStamp:(id)a3;
- (void)playbackWaitingToPlayForItem:(id)a0 reason:(id)a1 timeStamp:(id)a2;
- (void)relativeVolumeDidChangeTo:(float)a0 timeStamp:(id)a1;
- (void)reloadItemsKeepingCurrentItem:(BOOL)a0 allowReuse:(BOOL)a1;
- (void)routeDidChange:(BOOL)a0 metadata:(id)a1 timeStamp:(id)a2;
- (void)screenRecordingDidChange:(BOOL)a0 timeStamp:(id)a1;
- (void)setRate:(float)a0 identifier:(id)a1 completion:(id /* block */)a2;
- (void)setupPlaybackStackIfNeeded;
- (void)stackControllerDidCreateTransitionFrom:(id)a0 to:(id)a1 type:(long long)a2 parameters:(id)a3;
- (void)stateDidChangeFromState:(long long)a0 toState:(long long)a1 timeStamp:(id)a2;
- (void)takeEVSDeferralAssertionForFirstAudioFrame;
- (void)timeControlStatusDidChange:(long long)a0 waitingReason:(id)a1 timeStamp:(id)a2;
- (void)togglePlaybackWithIdentifier:(id)a0 completion:(id /* block */)a1;
- (void)tracksDidChangeForItem:(id)a0 timeStamp:(id)a1;
- (void)updateAudioSession;
- (void)updateAudioSessionSpeechDetection;
- (void)userActionDidBegin:(id)a0;
- (void)userActionDidEnd:(id)a0 error:(id)a1;
- (void)userSeekCompletedForItem:(id)a0 fromTime:(double)a1 toTime:(double)a2 timeStamp:(id)a3;
- (void)willPerformPlayerOperationWithPlayerIdentifier:(id)a0 operation:(id)a1 reason:(id)a2;

@end