@class NSMutableSet, AVAsset, NSString, AVQueuePlayer, NSArray, AVPlayerLooper, AVPlayerItem; @protocol TSKAVPlayerControllerPlayerItemMediating, TSKMediaPlayerControllerDelegate; @interface TSKAVPlayerController : NSObject <TSKLayerMediaPlayerController> { id<TSKMediaPlayerControllerDelegate> mDelegate; BOOL mStreaming; NSArray *mEnqueuedAssets; long long mRepeatMode; struct { long long value; int timescale; unsigned int flags; long long epoch; } mStartCMTime; struct { long long value; int timescale; unsigned int flags; long long epoch; } mEndCMTime; struct { struct { long long value; int timescale; unsigned int flags; long long epoch; } start; struct { long long value; int timescale; unsigned int flags; long long epoch; } duration; } mPlayerItemTimeRange; BOOL mIsPlayerItemTimeRangeForScrubbing; AVPlayerLooper *mPlayerLooper; BOOL mIsUpdatingPlayerItems; float mVolume; AVPlayerItem *mVolumeRampPlayerItem; id mVolumeRampBoundaryTimeObserver; float mRateBeforeScrubbing; unsigned long long mScrubbingCount; BOOL mCanPlay; float mPendingRate; BOOL mWasPlayingBeforeChangeToZeroRate; BOOL mWasFastReversingBeforeChangeToZeroRate; BOOL mWasFastForwardingBeforeChangeToZeroRate; NSMutableSet *mObservationTokens; BOOL mDidNotifyDelegateOfPlaybackError; struct { long long value; int timescale; unsigned int flags; long long epoch; } mTimeAtPlaybackReversal; BOOL mPlaying; BOOL mFastReversing; BOOL mFastForwarding; } @property (readonly, nonatomic) AVQueuePlayer *player; @property (readonly, nonatomic) AVAsset *currentAsset; @property (readonly, nonatomic, getter=isExternalPlaybackActive) BOOL externalPlaybackActive; @property (retain, nonatomic) id<TSKAVPlayerControllerPlayerItemMediating> playerItemMediator; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)keyPathsForValuesAffectingRate; + (void)initialize; + (id)keyPathsForValuesAffectingExternalPlaybackActive; + (BOOL)automaticallyNotifiesObserversOfRate; + (id)keyPathsForValuesAffectingAbsoluteDuration; + (id)keyPathsForValuesAffectingDuration; + (id)keyPathsForValuesAffectingEndTime; + (id)keyPathsForValuesAffectingStartTime; + (id)keyPathsForValuesAffectingCanFastForward; + (id)keyPathsForValuesAffectingCanFastReverse; + (id)keyPathsForValuesAffectingCurrentAsset; + (id)keyPathsForValuesAffectingHasCurrentTime; + (BOOL)p_canApplyVolumeRampAtRate:(float)a0; - (void)setStartTime:(double)a0; - (BOOL)canPlay; - (void)setRepeatMode:(long long)a0; - (void)setVolume:(float)a0; - (void)dealloc; - (void)teardown; - (id)delegate; - (double)endTime; - (void)setPlaying:(BOOL)a0; - (void)setEndTime:(double)a0; - (void)setRate:(float)a0; - (BOOL)isScrubbing; - (float)volume; - (double)startTime; - (void)endScrubbing; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (void).cxx_destruct; - (double)currentTime; - (BOOL)isPlaying; - (double)duration; - (long long)repeatMode; - (void)beginScrubbing; - (float)rate; - (double)remainingTime; - (BOOL)hasCurrentTime; - (void)cancelPendingSeeks; - (void)seekToBeginning; - (void)seekToEnd; - (void)stopSynchronously; - (BOOL)isFastReversing; - (double)absoluteCurrentTime; - (double)absoluteDuration; - (BOOL)isFastForwarding; - (void)p_enqueueAssetsFromIndex:(unsigned long long)a0; - (void)p_playerItemDidPlayToEndTime:(id)a0; - (void)scrubToTime:(double)a0 withTolerance:(double)a1; - (void)scrubToTime:(double)a0 withTolerance:(double)a1 completionHandler:(id /* block */)a2; - (void)seekBackwardByOneFrame; - (void)seekForwardByOneFrame; - (void)setFastForwarding:(BOOL)a0; - (void)setFastReversing:(BOOL)a0; - (void)skipToAssetAtIndex:(unsigned long long)a0; - (void)p_clearVolumeRampFromPlayerItem; - (void)addObservationToken:(id)a0; - (id)addPeriodicTimeObserverForInterval:(double)a0 block:(id /* block */)a1; - (void)attachAVPlayerViewController:(id)a0; - (BOOL)canFastForward; - (BOOL)canFastReverse; - (id)initWithAssets:(id)a0 initialAssetIndex:(unsigned long long)a1 delegate:(id)a2; - (id)initWithInitialPlayerItem:(id)a0 enqueuedAssets:(id)a1 initialEnqueuedAssetIndex:(unsigned long long)a2 delegate:(id)a3 streaming:(BOOL)a4; - (id)initWithPlayerItem:(id)a0 delegate:(id)a1 streaming:(BOOL)a2; - (id)newLayer; - (id)p_addTimeObserverForTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 handler:(id /* block */)a1; - (void)p_applyConstantVolumeToPlayerItem:(id)a0; - (void)p_applyPendingRateIfNeeded; - (void)p_applyRate:(float)a0; - (BOOL)p_canFastForwardAtCurrentTime; - (BOOL)p_canFastReverseAtCurrentTime; - (struct { long long x0; int x1; unsigned int x2; long long x3; })p_endCMTime; - (BOOL)p_notifyDelegateOfPlaybackErrorIfNeeded; - (void)p_notifyPlayerItemMediatorWithRate:(float)a0; - (void)p_playerItemDidJumpTime:(id)a0; - (void)p_playerItemDidPlayToEndTimeAtRate:(float)a0; - (BOOL)p_shouldUsePlayerLooperAtRate:(float)a0 timeRange:(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; })a1; - (struct { long long x0; int x1; unsigned int x2; long long x3; })p_startCMTime; - (void)p_updatePlayerItemsAndApplyRate:(float)a0; - (id)p_workingPlayerItems; - (void)removeObservationToken:(id)a0; - (void)removePeriodicTimeObserver:(id)a0; - (void)setVolume:(float)a0 rampDuration:(double)a1; @end