@class NSError, PXVideoSession, PUBrowsingVideoPlayerChange, NSHashTable, ISWrappedAVPlayer, AVPlayerItem, NSString, PXActivityCoordinator, NSMutableSet, PXUpdater, PFSlowMotionTimeRangeMapper, PUMediaProvider; @protocol PUDisplayAsset; @interface PUBrowsingVideoPlayer : PUViewModel { PXUpdater *_updater; struct { long long value; int timescale; unsigned int flags; long long epoch; } _pendingSeekTime; id /* block */ _pendingSeekCompletionHandler; void *_videoSessionPresenter; } @property (readonly, nonatomic) PUBrowsingVideoPlayerChange *currentChange; @property (retain, nonatomic) PXVideoSession *videoSession; @property (retain, nonatomic, setter=_setError:) NSError *error; @property (nonatomic, setter=_setPlayerLoadingAllowed:) BOOL isPlayerLoadingAllowed; @property (retain, nonatomic, setter=_setPlayerLoadingDisablingReasons:) NSMutableSet *_playerLoadingDisablingReasons; @property (nonatomic, setter=_setPlayingAllowed:) BOOL isPlayingAllowed; @property (retain, nonatomic, setter=_setPlayingDisablingReasons:) NSMutableSet *_playingDisablingReasons; @property (nonatomic, setter=_setUpdatingAudioSession:) BOOL _isUpdatingAudioSession; @property (nonatomic, setter=_setAudioStatus:) long long audioStatus; @property (nonatomic, setter=_setTargetSize:) struct CGSize { double width; double height; } targetSize; @property (nonatomic) unsigned long long nextPlayerLoadingEnabledUpdateID; @property (nonatomic) BOOL shouldLoadVideoSession; @property (readonly, nonatomic) NSHashTable *timeObservers; @property (readonly, nonatomic) NSHashTable *videoOutputs; @property (readonly, nonatomic) PXActivityCoordinator *playbackCoordinator; @property (nonatomic) BOOL shouldRegisterForPlayback; @property (nonatomic) BOOL shouldFadeNextVolumeChange; @property (nonatomic) BOOL shouldRequestNewRender; @property (retain, nonatomic) id asset; @property (readonly, nonatomic) PUMediaProvider *mediaProvider; @property (nonatomic) long long desiredPlayState; @property (readonly, nonatomic) BOOL isPlaybackDesired; @property (readonly, nonatomic) long long playState; @property (readonly, nonatomic) BOOL isStalled; @property (readonly, nonatomic) BOOL isPlayable; @property (nonatomic) float volume; @property (nonatomic, setter=setMuted:) BOOL isMuted; @property (readonly, nonatomic) ISWrappedAVPlayer *avPlayer; @property (readonly, nonatomic) BOOL isAtBeginning; @property (readonly, nonatomic) BOOL isAtEnd; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } playbackStartTime; @property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } currentTime; @property (readonly, nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } duration; @property (readonly, nonatomic) PFSlowMotionTimeRangeMapper *timeRangeMapper; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } desiredSeekTime; @property (nonatomic, setter=setActivated:) BOOL isActivated; @property (nonatomic) BOOL shouldPreloadVideoContent; @property (readonly, nonatomic) AVPlayerItem *playerItem; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (nonatomic) unsigned long long activityCoordinatorQueuePosition; - (void)_handleShouldReloadAssetMediaNotification:(id)a0; - (id)init; - (void)registerChangeObserver:(id)a0; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (void)dealloc; - (void)unregisterChangeObserver:(id)a0; - (void)didPerformChanges; - (void).cxx_destruct; - (id)newViewModelChange; - (void)setDuration:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0; - (void)seekToTime:(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 completionHandler:(id /* block */)a3; - (void)seekToTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 completionHandler:(id /* block */)a1; - (void)_performPendingSeekIfNeeded; - (void)_updatePlayerItem; - (void)_updatePlayerVolume; - (void)_updateVideoSession; - (void)videoSessionAudioSessionOutputVolumeDidChange:(id)a0 fromVolume:(float)a1 toVolume:(float)a2; - (void)videoSessionDidPlayToEnd:(id)a0; - (void)_setPlayerItem:(id)a0 timeRangeMapper:(id)a1; - (void)_requestNewRenderIfNeeded; - (void)_setVideoSessionVolume:(id)a0; - (void)_updatePlayerLoadingAllowedWithUpdateID:(unsigned long long)a0; - (void)_updateShouldRegisterForPlayback; - (void)_updateVideoDuration; - (void)_updateVideoSessionDesiredPlayState; - (long long)_videoSessionDesiredPlayState; - (void)assetContentDidChange; - (id)initWithAsset:(id)a0 mediaProvider:(id)a1; - (void)invalidateExistingPlayer; - (void)registerTimeObserver:(id)a0; - (void)registerVideoOutput:(id)a0; - (void)rewindExistingPlayer; - (void)setDesiredTargetSize:(struct CGSize { double x0; double x1; })a0; - (void)setPlayerLoadingDisabled:(BOOL)a0 forReason:(id)a1; - (void)setPlayingDisabled:(BOOL)a0 forReason:(id)a1; - (void)unregisterTimeObserver:(id)a0; - (void)unregisterVideoOutput:(id)a0; @end