luxlabs header browser preview


@class ISLivePhotoPlayer, ISWrappedAVPlayer, NSArray, NSString, PHLivePhoto, NSMutableSet, PUBrowsingIrisPlayerChange, PUMediaProvider;
@protocol PUDisplayAsset;

@interface PUBrowsingIrisPlayer : PUViewModel <ISChangeObserver, PXVideoScrubberControllerTarget> {
    struct { BOOL livePhoto; BOOL playerContent; BOOL playerLoadingTarget; BOOL playerItemScrubbingPhotoTime; BOOL playing; } _isValid;
    id _videoPeriodicObserver;
}

@property (retain, nonatomic) ISWrappedAVPlayer *videoPlayer;
@property (readonly, nonatomic) NSMutableSet *livePhotoLoadingDisablingReasons;
@property (readonly, nonatomic) NSMutableSet *livePhotoPlaybackDisablingReasons;
@property (nonatomic) long long _currentUnloadRequestId;
@property (retain, nonatomic) PHLivePhoto *livePhoto;
@property (nonatomic, getter=isLivePhotoLoadingAllowed) BOOL livePhotoLoadingAllowed;
@property (nonatomic) long long livePhotoRequestState;
@property (nonatomic) int livePhotoRequestID;
@property (copy, nonatomic) NSArray *currentlyDisplayedTimes;
@property (nonatomic, getter=isPlaying) BOOL playing;
@property (copy, nonatomic) id /* block */ seekCompletionHandler;
@property (readonly, nonatomic) PUBrowsingIrisPlayerChange *currentChange;
@property (nonatomic) BOOL isLivePhotoPlaybackAllowed;
@property (nonatomic) BOOL appIsInBackground;
@property (retain, nonatomic) id<PUDisplayAsset> asset;
@property (readonly, nonatomic) PUMediaProvider *mediaProvider;
@property (readonly, nonatomic) ISLivePhotoPlayer *player;
@property (nonatomic) long long loadingTarget;
@property (nonatomic, getter=isActivated) BOOL activated;
@property (readonly, nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } scrubbingPhotoTime;
@property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } currentPhotoTime;
@property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } currentVideoDuration;
@property (nonatomic, getter=isImageLoadingEnabled) BOOL imageLoadingEnabled;
@property (readonly, nonatomic) struct { void /* unknown type, empty encoding */ columns[3]; } vitalityTransform;
@property (readonly, nonatomic) BOOL allowLargeVitalityInset;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (copy, nonatomic) id /* block */ durationChangeHandler;
@property (copy, nonatomic) id /* block */ statusChangeHandler;
@property (copy, nonatomic) id /* block */ playerItemChangeHandler;

+ (id)new;

- (id)init;
- (struct CGSize { double x0; double x1; })_targetSize;
- (void)registerChangeObserver:(id)a0;
- (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2;
- (void)dealloc;
- (void)unregisterChangeObserver:(id)a0;
- (void)didPerformChanges;
- (BOOL)_needsUpdate;
- (void)_updateVitalityTransform;
- (void)_updateIfNeeded;
- (void).cxx_destruct;
- (id)playerItem;
- (id)newViewModelChange;
- (id)debugDetailedDescription;
- (long long)_contentMode;
- (id)addPeriodicTimeObserverForInterval:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 queue:(id)a1 usingBlock:(id /* block */)a2;
- (void)cancelPendingSeeks;
- (void)removeTimeObserver:(id)a0;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })currentItemDuration;
- (float)playRate;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })playerCurrentTime;
- (long long)playerStatus;
- (void)videoScrubberController:(id)a0 seekToTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1 toleranceBefore:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2 toleranceAfter:(struct { long long x0; int x1; unsigned int x2; long long x3; })a3 completionHandler:(id /* block */)a4;
- (void)unloadLivePhoto;
- (void)_cancelAllRequests;
- (void)_handleLivePhotoResult:(id)a0 info:(id)a1 requestID:(int)a2;
- (void)_handleLoadedVitalityTransform:(struct { void /* unknown type, empty encoding */ x0[3]; })a0 limitingAllowed:(BOOL)a1 forAsset:(id)a2;
- (void)_handlePeriodicObserverWithTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)_handlePlaybackStyleChanged;
- (void)_invalidateLivePhoto;
- (void)_invalidatePlayerContent;
- (void)_invalidatePlayerItemLoadingTarget;
- (void)_invalidatePlayerItemScrubbingPhotoTime;
- (void)_invalidatePlaying;
- (id)_playerCreateIfNeeded:(BOOL)a0;
- (void)_updateLivePhotoIfNeeded;
- (void)_updatePlayerContentIfNeeded;
- (void)_updatePlayerItemLoadingTargetIfNeeded;
- (void)_updatePlayerItemScrubbingPhotoTimeIfNeeded;
- (void)_updatePlayingIfNeeded;
- (id)initWithAsset:(id)a0 mediaProvider:(id)a1;
- (BOOL)isContentLoadingRequestInProgress;
- (void)playPreviewHintWhenReady;
- (id)playerCreateIfNeeded;
- (void)setLivePhotoLoadingDisabled:(BOOL)a0 forReason:(id)a1;
- (void)setLivePhotoPlaybackDisabled:(BOOL)a0 forReason:(id)a1;
- (void)setScrubbingPhotoTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 completion:(id /* block */)a1;
- (void)setVitalityTransform:(struct { void /* unknown type, empty encoding */ x0[3]; })a0 limitingAllowed:(BOOL)a1;

@end