@class NSTimer, NSDate, VUIImageView, TVPVideoView, TVPStateMachine, NSString, AVPlayerViewController, VUIMediaInfo, NSObject, TVPPlaylist, UIViewController, VUIImageProxy; @protocol VUIMediaControllerDelegate, TVPAVFPlayback; @interface VUIMediaController : UIViewController @property (retain, nonatomic) VUIImageView *proxyImageView; @property (retain, nonatomic) VUIImageProxy *currentImageProxy; @property (retain, nonatomic) UIViewController *playbackContainerController; @property (retain, nonatomic) NSDate *playbackLoadingStartDate; @property (weak, nonatomic) NSTimer *playbackLoadingTimer; @property (retain, nonatomic) TVPStateMachine *stateMachine; @property (retain, nonatomic) TVPPlaylist *pendingPlaylist; @property (retain, nonatomic) VUIImageProxy *pendingImageProxy; @property (nonatomic) long long state; @property (nonatomic, getter=isPlayerReadyToBePlayed) BOOL playerReadyToBePlayed; @property (nonatomic) unsigned long long imageAnimationOptions; @property (nonatomic) double imageAnimationDuration; @property (nonatomic) double imageTransitionInterval; @property (nonatomic) BOOL shouldAnimateOverlayView; @property (nonatomic) double overlayViewDisplayDuration; @property (nonatomic) BOOL doesDelegateRespondToShowStill; @property (nonatomic) BOOL doesDelegateRespondToStateChange; @property (nonatomic) long long playbackStopReason; @property (retain, nonatomic) TVPVideoView *secondaryVideoView; @property (weak, nonatomic) NSTimer *pauseStateTimeoutTimer; @property (nonatomic, getter=isAutomaticPlaybackStart) BOOL automaticPlaybackStart; @property (nonatomic) unsigned long long vpafPlaybackStartReason; @property (nonatomic) BOOL shouldPlayAfterAppBecomesActive; @property (readonly, nonatomic, getter=isBackgrounded) BOOL backgrounded; @property (nonatomic) BOOL didWeCreatePlayer; @property (nonatomic) BOOL observingPictureInPictureActive; @property (copy, nonatomic) NSString *titleForLogging; @property (nonatomic) unsigned long long deactivationReasons; @property (retain, nonatomic) NSObject *player; @property (retain, nonatomic) AVPlayerViewController *avPlayerViewController; @property (copy, nonatomic) VUIMediaInfo *mediaInfo; @property (weak, nonatomic) id delegate; @property (nonatomic) BOOL showsVideoControls; @property (nonatomic) BOOL allowsSkipping; @property (nonatomic) BOOL shouldZoomWhenTransitioningToBackground; @property (readonly, copy, nonatomic) NSString *name; @property (nonatomic, getter=isPlaybackEnabled) BOOL playbackEnabled; @property (nonatomic, getter=shouldStopPlayerWhenViewDisappears) BOOL stopPlayerWhenViewDisappears; @property (nonatomic) BOOL clearPreviousImageBeforeLoading; @property (nonatomic) BOOL popWhenPlayerStops; @property (nonatomic, getter=isRestoringAVPlayerController) BOOL restoringAVPlayerController; @property (nonatomic, getter=shouldStopWhenAnotherMediaControllerStarts) BOOL stopWhenAnotherMediaControllerStarts; @property (nonatomic, getter=isAutomaticPlaybackStop) BOOL automaticPlaybackStop; @property (nonatomic) unsigned long long vpafPlaybackStopReason; @property (readonly, nonatomic) BOOL isPostPlayPiPActive; - (void)play; - (void)pause; - (id)init; - (void)dealloc; - (void)viewDidLoad; - (void)_applicationDidRemoveDeactivationReason:(id)a0; - (void)stop; - (id)initWithName:(id)a0; - (void)_applicationWillAddDeactivationReason:(id)a0; - (id)initWithNibName:(id)a0 bundle:(id)a1; - (void)viewWillDisappear:(BOOL)a0; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (void).cxx_destruct; - (BOOL)shouldUpdateFocusInContext:(id)a0; - (id)initWithCoder:(id)a0; - (BOOL)_canPause; - (void)_handleApplicationDidBecomeActiveNotification:(id)a0; - (id)coverImage; - (void)_handleApplicationWillResignActiveNotification:(id)a0; - (void)_playbackStateChanged:(id)a0; - (void)_addContentViewIfNeeded; - (void)_addOverlayViewAnimatedIfNeeded:(BOOL)a0 dismissAfter:(double)a1; - (void)_addPlaybackViewControllerForPlayback:(BOOL)a0; - (void)_addProxyImageView; - (void)_cleanUpEverything; - (void)_cleanUpEverythingPlaybackRelated; - (void)_delayLoadImage:(id)a0; - (void)_handleApplicationDidEnterBackgroundNotification:(id)a0; - (void)_handlePlaybackErrorNotification:(id)a0; - (BOOL)_hasSecondaryView; - (void)_mediaControllerStartedPlayback:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_playbackContainerViewFrame:(BOOL)a0 hasSecondaryVideoView:(BOOL)a1; - (void)_registerForApplicationStateNotifications; - (void)_registerPlayerNotifications; - (void)_registerStateMachineHandlers; - (void)_removeOverlayView:(id)a0 animated:(BOOL)a1; - (void)_removePlaybackViewController; - (void)_removeProxyImageView; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_secondaryVideoViewFrame:(BOOL)a0; - (void)_setImageProxies:(id)a0; - (void)_setPlaylist:(id)a0; - (BOOL)_shouldIgnorePlaybackStop; - (BOOL)_shouldPausePlaybackDueToDeactivationReasons; - (BOOL)_shouldShowSecondaryView; - (void)_stateDidChangeFromState:(id)a0 toState:(id)a1 onEvent:(id)a2 context:(id)a3 userInfo:(id)a4; - (void)_swapActiveMedia:(BOOL)a0 animated:(BOOL)a1 completion:(id /* block */)a2; - (void)_unregisterPlayerNotifications; - (void)_updateAVPlayerViewControllerWithAVPlayerForPlayer:(id)a0; - (void)_updateCurrentPlaybackViewFrameForPlaybackInBackground:(BOOL)a0 animated:(BOOL)a1; - (void)_updateMediaInfo; - (BOOL)isFullscreenPlaybackIntent; - (void)transitionToForeground:(BOOL)a0 animated:(BOOL)a1; @end