@class AVCoordinatedPlaybackSuspension, NSDate, NSDictionary, NSObject, BSSimpleAssertion, AVObservationController, AVValueTiming, AVAsset, AVPlayerLayer, AVMediaSelectionOption, NSString, AVInterstitialController, AVTimecodeController, NSTimer, AVAssetTrack, NSArray, NSNumber, AVPlayerItemPhotosensitivityMetadataHandler, AVPlayer, NSError; @protocol AVPlayerControllerDelegate, OS_dispatch_queue, OS_dispatch_source; @interface AVPlayerController : NSObject { NSArray *_audioMediaSelectionOptions; NSArray *_visualMediaSelectionOptions; NSArray *_legibleMediaSelectionOptions; AVMediaSelectionOption *_cachedSelectedAudioMediaSelectionOption; AVMediaSelectionOption *_cachedSelectedLegibleMediaSelectionOption; AVMediaSelectionOption *_cachedSelectedLegibleMediaSelectionOptionAccordingToAVFoundation; NSString *_lastKnownPersistedExtendedLanguageTag; void *_observationInfo; BOOL _inspectionSuspended; id _updateAtMinMaxTimePeriodicObserverToken; id _timecodePeriodicObserverToken; BOOL _pictureInPictureInterrupted; BOOL _handlesAudioSessionInterruptions; BOOL _isDeallocating; BOOL _hasSetUpSeekableLiveStreamState; NSNumber *_rateToRestoreAfterAudioSessionInterruptionEnds; id /* block */ _retryPlayingImmediatelyBlock; BOOL _shouldPlayImmediately; BOOL _looping; long long _actionAtItemEnd; long long _playbackSuspensionCount; long long _scrubbingCount; NSObject<OS_dispatch_queue> *_seekQueue; BOOL _pendingSeek; struct { long long value; int timescale; unsigned int flags; long long epoch; } _toleranceBefore; struct { long long value; int timescale; unsigned int flags; long long epoch; } _toleranceAfter; BOOL _isScanningForward; BOOL _isScanningBackward; unsigned long long _scanningCount; double _preScanningRate; AVValueTiming *_liveStreamMinTiming; AVValueTiming *_liveStreamMaxTiming; BOOL _liveStreamEventModePossible; long long _canUseNetworkResourcesForLiveStreamingWhilePausedCount; BOOL _previousValueOfCanUseNetworkResourcesForLiveStreamingWhilePaused; BOOL _shouldPlayWhenLikelyToKeepUp; BOOL _forceScanning; double _rateBeforeForceScanning; BOOL _playingOnSecondScreen; BOOL _didPreventSleepWhenStartingExternalPlayback; BSSimpleAssertion *_reduceResourceUsageAssertion; double _defaultPlaybackRate; BOOL _touchBarRequiresLinearPlayback; AVTimecodeController *_timecodeController; id<AVPlayerControllerDelegate> _internalDelegate; NSObject<OS_dispatch_queue> *_backgroundQueue; NSDate *_lastTimePlayingOnMatchPointDeviceWasUpdated; NSTimer *_updatePlayingOnMatchPointDeviceThrottleTimer; AVPlayerItemPhotosensitivityMetadataHandler *_photosensitivityMetadataHandler; BOOL _muted; BOOL _avkitSettingMuted; BOOL _allowsAudioPlayback; BOOL _hasPendingAtLiveEdgeStateUpdate; NSTimer *_liveEdgeTimer; } @property (nonatomic, getter=isPlayingOnSecondScreen) BOOL playingOnSecondScreen; @property (readonly, nonatomic) BOOL usesExternalPlaybackWhileExternalScreenIsActive; @property (readonly, nonatomic) struct CGSize { double x0; double x1; } maximumVideoResolution; @property (nonatomic) BOOL handlesAudioSessionInterruptions; @property (readonly, nonatomic, getter=isPlayingOnMatchPointDevice) BOOL playingOnMatchPointDevice; @property (readonly, nonatomic) BOOL hasReadableTimecodes; @property (readonly, nonatomic) AVTimecodeController *timecodeController; @property (weak, nonatomic) id<AVPlayerControllerDelegate> internalDelegate; @property (nonatomic, getter=isAtMaxTime) BOOL atMaxTime; @property (nonatomic, getter=isAtMinTime) BOOL atMinTime; @property (nonatomic, getter=isScrubbing) BOOL scrubbing; @property (retain, nonatomic) AVPlayer *player; @property (retain, nonatomic) AVPlayer *activePlayer; @property (nonatomic) double activeRate; @property (readonly, nonatomic) AVObservationController *observationController; @property (nonatomic) struct CGSize { double width; double height; } presentationSize; @property (retain, nonatomic) AVAsset *currentAssetIfReady; @property (retain, nonatomic) NSObject<OS_dispatch_queue> *assetInspectionQueue; @property (retain, nonatomic) AVAsset *assetBeingPrepared; @property (nonatomic, getter=isPictureInPictureSupported) BOOL pictureInPictureSupported; @property (retain, nonatomic) NSString *externalPlaybackAirPlayDeviceLocalizedName; @property (readonly, nonatomic, getter=isReadyToPlay) BOOL readyToPlay; @property (retain, nonatomic) AVValueTiming *timing; @property (retain, nonatomic) AVValueTiming *minTiming; @property (retain, nonatomic) AVValueTiming *maxTiming; @property (retain, nonatomic) AVAssetTrack *currentAudioTrack; @property (retain, nonatomic) AVAssetTrack *currentVideoTrack; @property (getter=isSeekingInternal) BOOL seekingInternal; @property (nonatomic, getter=isSeeking) BOOL seeking; @property struct { long long value; int timescale; unsigned int flags; long long epoch; } seekToTimeInternal; @property (nonatomic) double seekToTime; @property (nonatomic) double initialScrubbingTime; @property (retain, nonatomic) NSDictionary *metadata; @property (retain, nonatomic) NSArray *contentChapters; @property (nonatomic, getter=isComposable) BOOL composable; @property (nonatomic) BOOL hasProtectedContent; @property (retain, nonatomic) NSArray *availableMetadataFormats; @property (nonatomic, getter=isCompatibleWithAirPlayVideo) BOOL compatibleWithAirPlayVideo; @property (nonatomic) double rateBeforeScrubBegan; @property (retain, nonatomic) AVCoordinatedPlaybackSuspension *scrubCoordinatorSuspension; @property (nonatomic, getter=isPreventingIdleSystemSleep) BOOL preventingIdleSystemSleep; @property (nonatomic, getter=isPreventingIdleDisplaySleep) BOOL preventingIdleDisplaySleep; @property (nonatomic, getter=isDisablingAutomaticTermination) BOOL disablingAutomaticTermination; @property (nonatomic) BOOL allowsPictureInPicturePlayback; @property (nonatomic, getter=isPictureInPictureActive) BOOL pictureInPictureActive; @property (nonatomic) BOOL canTogglePictureInPicture; @property (copy, nonatomic) NSString *pipActivitySessionIdentifier; @property (nonatomic) BOOL hasBegunInspection; @property (nonatomic, getter=isPlayingOnMatchPointDevice) BOOL playingOnMatchPointDevice; @property (retain, nonatomic) AVInterstitialController *interstitialController; @property (retain, nonatomic) BSSimpleAssertion *reduceResourceUsageAssertion; @property (weak, nonatomic) AVPlayerLayer *playerLayerForReducingResources; @property (retain, nonatomic) NSArray *photosensitivityRegions; @property (nonatomic, getter=isAtLiveEdge) BOOL atLiveEdge; @property (nonatomic, getter=_isScanningTV) BOOL scanningTV; @property (readonly, nonatomic) NSObject<OS_dispatch_source> *seekTimer; @property (readonly, nonatomic) NSDate *currentDate; @property (readonly, nonatomic) NSDate *currentOrEstimatedDate; @property (nonatomic) BOOL touchBarRequiresLinearPlayback; @property (nonatomic) BOOL shouldLoadVisualMediaSelectionOptions; @property (readonly, nonatomic) NSArray *visualMediaSelectionOptions; @property (retain, nonatomic) AVMediaSelectionOption *currentVideoMediaSelectionOption; @property (readonly, nonatomic, getter=isPlaybackSuspended) BOOL playbackSuspended; @property (readonly, nonatomic) double suspendedRate; @property (nonatomic) BOOL coordinatedPlaybackActive; @property (readonly, nonatomic) long long status; @property (readonly, nonatomic) NSError *error; + (id)keyPathsForValuesAffectingRate; + (id)keyPathsForValuesAffectingHasLegibleMediaSelectionOptions; + (void)setCachedIsPictureInPictureSupported:(BOOL)a0; + (id)keyPathsForValuesAffectingCanScanForward; + (id)keyPathsForValuesAffectingCurrentTimeWithinEndTimes; + (void)initialize; + (id)keyPathsForValuesAffectingPictureInPicturePossible; + (id)keyPathsForValuesAffectingHasLiveStreamingContent; + (id)keyPathsForValuesAffectingCompletelySeekable; + (id)keyPathsForValuesAffectingPlayableOffline; + (id)keyPathsForValuesAffectingCanSeekFrameBackward; + (id)keyPathsForValuesAffectingContentDimensions; + (id)keyPathsForValuesAffectingStreaming; + (id)keyPathsForValuesAffectingCanPause; + (id)keyPathsForValuesAffectingError; + (id)keyPathsForValuesAffectingHasEnabledVideo; + (id)keyPathsForValuesAffectingVolume; + (id)keyPathsForValuesAffectingCanSeekFrameForward; + (id)keyPathsForValuesAffectingTimeControlStatus; + (id)keyPathsForValuesAffectingHasSeekableLiveStreamingContent; + (id)keyPathsForValuesAffectingHasVideo; + (id)keyPathsForValuesAffectingCanTogglePlayback; + (id)keyPathsForValuesAffectingContentDuration; + (id)_sortedAudibleOption:(id)a0; + (id)keyPathsForValuesAffectingHasContentChapters; + (id)keyPathsForValuesAffectingAllowsExternalPlayback; + (id)keyPathsForValuesAffectingMinTime; + (id)keyPathsForValuesAffectingUsesExternalPlaybackWhileExternalScreenIsActive; + (id)keyPathsForValuesAffectingCurrentVideoMediaSelectionOption; + (id)keyPathsForValuesAffectingHasTrimmableContent; + (id)keyPathsForValuesAffectingStatus; + (id)keyPathsForValuesAffectingCanSeek; + (id)keyPathsForValuesAffectingCurrentLegibleMediaSelectionOption; + (id)keyPathsForValuesAffectingDefaultPlaybackRate; + (id)keyPathsForValuesAffectingCanScanBackward; + (id)keyPathsForValuesAffectingpreferredTransform; + (id)keyPathsForValuesAffectingForwardPlaybackEndTime; + (id)keyPathsForValuesAffectingCanSeekChapterForward; + (id)keyPathsForValuesAffectingPlayingOnExternalScreen; + (id)keyPathsForValuesAffectingExternalPlaybackType; + (id)keyPathsForValuesAffectingCanSeekToBeginning; + (id)canonicalLanguageIdentifierFromString:(id)a0; + (id)keyPathsForValuesAffectingHasShareableContent; + (id)keyPathsForValuesAffectingActiveRate; + (id)keyPathsForValuesAffectingReversePlaybackEndTime; + (id)keyPathsForValuesAffectingCurrentTime; + (id)keyPathsForValuesAffectingHasEnabledAudio; + (id)keyPathsForValuesAffectingCurrentAudioMediaSelectionOption; + (id)keyPathsForValuesAffectingCanSeekToEnd; + (id)keyPathsForValuesAffectingContentDurationWithinEndTimes; + (id)keyPathsForValuesAffectingSeekableTimeRanges; + (id)keyPathsForValuesAffectingPreferredDisplayCriteria; + (id)keyPathsForValuesAffectingMaxTime; + (id)keyPathsForValuesAffectingReadyToPlay; + (id)keyPathsForValuesAffectingCanSeekChapterBackward; + (id)keyPathsForValuesAffectingHasAudioMediaSelectionOptions; + (id)keyPathsForValuesAffectingHasContent; + (BOOL)cachedIsPictureInPictureSupported; + (id)keyPathsForValuesAffectingCanPlay; + (id)keyPathsForValuesAffectingPlaying; + (id)keyPathsForValuesAffectingExternalPlaybackActive; + (id)keyPathsForValuesAffectingMaximumVideoResolution; + (id)keyPathsForValuesAffectingLoadedTimeRanges; + (id)keyPathsForValuesAffectingHasMediaSelectionOptions; - (void)_updatePlayerMutedState; - (BOOL)isLooping; - (long long)externalPlaybackType; - (BOOL)canSeekToEnd; - (void)_updatePhotosensitivityRegions; - (void)_updateCurrentAudioTrackIfNeeded; - (void)startUsingNetworkResourcesForLiveStreamingWhilePaused; - (BOOL)canPlay; - (void)setVolume:(double)a0; - (id)init; - (double)timecodeObservationInterval; - (void)setLegibleMediaSelectionOptions:(id)a0; - (void)setAllowsExternalPlayback:(BOOL)a0; - (BOOL)hasLegibleMediaSelectionOptions; - (void)_updateRateForScrubbingAndSeeking; - (void)_endPlaybackSuspension_AVFoundationStrategy; - (void)seekToTimecode:(id)a0; - (long long)timeControlStatus; - (void)seekFrameForward:(id)a0; - (void)dealloc; - (void)setMinTime:(double)a0; - (void)increaseVolume:(id)a0; - (BOOL)canPlayImmediately; - (BOOL)canUseNetworkResourcesForLiveStreamingWhilePaused; - (void)setMuted:(BOOL)a0; - (BOOL)hasAudioMediaSelectionOptions; - (id)mediaSelectionGroupForMediaCharacteristic:(id)a0; - (void)setPlaying:(BOOL)a0; - (void)setVisualMediaSelectionOptions:(id)a0; - (struct CGSize { double x0; double x1; })contentDimensions; - (BOOL)isReducingResourcesForPictureInPicture; - (id)_queuePlayer; - (void)_setMinTiming:(id)a0 maxTiming:(id)a1; - (struct { long long x0; int x1; unsigned int x2; long long x3; })reversePlaybackEndTime; - (void)_stopSuspendingPlayback; - (void)_updateCoordinatedPlaybackActive; - (void)setAllowsAudioPlayback:(BOOL)a0; - (BOOL)allowsExternalPlayback; - (void)autoplay:(id)a0; - (void)setCurrentLegibleMediaSelectionOption:(id)a0; - (BOOL)hasTrimmableContent; - (void)startKVO; - (id)visualOptions; - (BOOL)_mediaSelectionCriteriaCanBeAppliedAutomaticallyToLegibleMediaSelectionGroup; - (BOOL)allowsAudioPlayback; - (void)seekByTimeInterval:(double)a0 toleranceBefore:(double)a1 toleranceAfter:(double)a2; - (void)beginScanningForward:(id)a0; - (id)loadedTimeRanges; - (BOOL)avkit_isAVPlayerControllerOrSubclass; - (double)_adjustedSeekTimeFromTime:(double)a0 toTime:(double)a1; - (void)throttledSeekToTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 toleranceBefore:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1 toleranceAfter:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2; - (id)maxFrameCountString; - (BOOL)isPlayingOnExternalScreen; - (BOOL)canScanForward; - (BOOL)canScanBackward; - (void)_setMediaOption:(id)a0 mediaCharacteristic:(id)a1; - (void)_retryPlayImmediatelyIfNeeded; - (void)toggleMuted:(id)a0; - (void)_updateAtLiveEdgeStateIfNeeded; - (void)setRate:(double)a0; - (id)_timecodeTrack; - (void)changeVolumeToMinimum:(id)a0; - (void)scanBackward:(id)a0; - (BOOL)hasEnabledAudio; - (void)play:(id)a0; - (void)setReversePlaybackEndTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0; - (void)actuallySeekToTime; - (void)_updateCurrentVideoTrackIfNeeded; - (void)beginScrubbing:(id)a0; - (id)legibleOptions; - (void)_updatePlayingOnMatchPointDeviceIfNeeded; - (void)seekToChapter:(id)a0; - (void)_updateAtLiveEdgeStateAndScheduleTimerIfNeeded; - (void)skipBackwardThirtySeconds:(id)a0; - (void)_updateActivePlayer; - (void)seekToEnd:(id)a0; - (BOOL)isExternalPlaybackActive; - (float)nominalFrameRate; - (id)maxTimecode; - (double)contentDuration; - (void)togglePlayback:(id)a0; - (id)currentAudioMediaSelectionOption; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })preferredTransform; - (void)setMaxTime:(double)a0; - (id)currentLegibleMediaSelectionOption; - (void)_updateScanningBackwardRate; - (void)changeVolumeToMaximum:(id)a0; - (void)selectedMediaOptionMayHaveChanged; - (BOOL)hasLiveStreamingContent; - (void)_disableLegibleMediaSelectionOptions:(id)a0; - (void)setPictureInPictureInterrupted:(BOOL)a0; - (void)endPlaybackSuspension; - (void)_cancelOutstandingAtLiveEdgeStateUpdates; - (void)_scheduleAtLiveEdgeStateUpdateWithTimeInterval:(double)a0; - (void)_scheduleAtLiveEdgeStateUpdateIfNeeded; - (void)_setSuspendedRate:(double)a0; - (BOOL)isStreaming; - (double)volume; - (void)_setNeedsAtLiveEdgeStateUpdate; - (BOOL)hasShareableContent; - (void)seekToBeginning:(id)a0; - (BOOL)hasContent; - (void)beginPlaybackSuspension; - (void)startInspectionIfNeeded; - (BOOL)startGeneratingTimecodesUsingBlock:(id /* block */)a0; - (BOOL)canSeekChapterForward; - (BOOL)isPictureInPictureInterrupted; - (void)_prepareAssetForInspectionIfNeeded; - (BOOL)canSeekChapterBackward; - (void)togglePictureInPicture:(id)a0; - (void)_updateMinMaxTimingIfNeeded; - (void)_setPlaybackSuspended:(BOOL)a0; - (void)suspendPlaybackCoordinatorWhileActivelySeekingIfNecessary; - (void)endScrubbing; - (BOOL)_assetContainsProResRaw:(id)a0; - (void)setRateWithForce:(double)a0; - (BOOL)isPlayableOffline; - (id)initWithPlayer:(id)a0; - (BOOL)_assetIsRestrictedFromSaving:(id)a0; - (BOOL)hasTimecodes; - (BOOL)canSeekToBeginning; - (void)pause:(id)a0; - (double)currentTimeWithinEndTimes; - (BOOL)hasContentChapters; - (id)scanningDelays; - (void)scanForward:(id)a0; - (void)decreaseVolume:(id)a0; - (void)reloadOptionsAssumingMediaOptionsMayHaveChanged:(BOOL)a0; - (BOOL)canSeek; - (double)contentDurationWithinEndTimes; - (void)seekFrameBackward:(id)a0; - (void)endScrubbing:(id)a0; - (void)setCanUseNetworkResourcesForLiveStreamingWhilePaused:(BOOL)a0; - (double)minTime; - (void)resumePlaybackCoordinatorIfSuspended; - (void).cxx_destruct; - (BOOL)hasVideo; - (id)_outputContext; - (void)_playAtRate:(double)a0; - (struct { long long x0; int x1; unsigned int x2; long long x3; })forwardPlaybackEndTime; - (id)currentEnabledAssetTrackForMediaType:(id)a0; - (void)endScanningBackward:(id)a0; - (BOOL)isPictureInPicturePossible; - (void)_observeValueForKeyPath:(id)a0 oldValue:(id)a1 newValue:(id)a2; - (void)seekToTime:(double)a0; - (double)defaultPlaybackRate; - (void)setInspectionSuspended:(BOOL)a0; - (void)pauseForAllCoordinatedPlaybackParticipants:(BOOL)a0; - (id)loadTimecodeControllerIfNeeded; - (BOOL)isMuted; - (void)reloadOptions; - (void)_ensureUserCaptionDisplayType:(long long)a0; - (void)setDefaultPlaybackRate:(double)a0; - (void)setCurrentAudioMediaSelectionOption:(id)a0; - (void)acquireResourceReductionAssertion; - (void)setObservationInfo:(void *)a0; - (double)currentTime; - (void)_updateExternalPlaybackAirPlayDeviceLocalizedNameIfNeeded; - (void)seekToCMTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 toleranceBefore:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1 toleranceAfter:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2; - (BOOL)isPlaying; - (BOOL)isInspectionSuspended; - (BOOL)hasEnabledVideo; - (id)audioMediaSelectionOptions; - (void)seekToTime:(double)a0 toleranceBefore:(double)a1 toleranceAfter:(double)a2; - (void)endReducingResourcesForPictureInPicturePlayerLayer:(id)a0; - (void)beginReducingResourcesForPictureInPicturePlayerLayer:(id)a0; - (void)reloadLegibleOptions; - (BOOL)hasMediaSelectionOptions; - (void)stopGeneratingTimecodes; - (id)_selectedMediaOptionWithMediaCharacteristic:(id)a0; - (void)endScanningForward:(id)a0; - (void)togglePlaybackEvenWhenInBackground:(id)a0; - (void *)observationInfo; - (void)_setupInterstitialController; - (BOOL)hasSeekableLiveStreamingContent; - (id)_optionsForGroup:(id)a0; - (id)preferredDisplayCriteria; - (id)timecodeForCurrentTime; - (id)currentVideoMediaSelectionOption; - (BOOL)canSeekFrameBackward; - (void)setLegibleMediaSelectionOptions:(id)a0 audioMediaSelectionOptions:(id)a1 assumeMediaOptionMayHaveChanged:(BOOL)a2; - (void)_setRate_AVFoundationStrategy:(double)a0; - (void)setLooping:(BOOL)a0; - (void)_updateScanningForwardRate; - (void)gotoEndOfSeekableRanges:(id)a0; - (void)reloadAudioOptions; - (void)_beginPlaybackSuspension_AVFoundationStrategy; - (void)seekChapterBackward:(id)a0; - (void)reloadVisualOptions; - (BOOL)canSeekFrameForward; - (void)setAudioMediaSelectionOptions:(id)a0; - (void)reloadOptionsAndCurrentSelections; - (id)legibleMediaSelectionOptions; - (void)_enableAutoMediaSelection:(id)a0; - (void)updateMinMaxTiming; - (void)updateAtMinMaxTime; - (void)selectedMediaOptionMayHaveChanged:(BOOL)a0; - (id)audioWaveform; - (id)audioOptions; - (void)beginScrubbing; - (BOOL)canPause; - (void)stopUsingNetworkResourcesForLiveStreamingWhilePaused; - (double)rate; - (BOOL)_assetIsMarkedNotSerializable:(id)a0; - (void)beginScanningBackward:(id)a0; - (void)seekChapterForward:(id)a0; - (void)setForwardPlaybackEndTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0; - (void)_commonInit; - (BOOL)isCompletelySeekable; - (id)seekableTimeRanges; - (void)updateTiming; - (void)_startSuspendingPlayback; - (void)seekOrStepByFrameCount:(long long)a0; - (id)visualMediaSelectionOptions; - (void)_performAutomaticMediaSelectionForUserCaptionDisplayType:(long long)a0; - (void)seekByTimeInterval:(double)a0; - (void)_updateMetadata; - (double)maxTime; - (void)_cancelPendingSeeksIfNeeded; - (void)_throttledUpdatePlayingOnMatchPointDeviceIfNeededWithContext:(id)a0; - (long long)frameNumberForCurrentTime; - (BOOL)canTogglePlayback; - (id)_createMetadataDictionaryForCurrentAsset; - (void)seekToFrame:(long long)a0; - (id)_photosensitiveDisplayTimes; @end