luxlabs header browser preview


@class NADelegateDispatcher, NSUUID, NSMapTable, NSDate, HMHome, AVPlayer, HFCameraAnalyticsCameraClipPlaybackSessionEvent, HMCameraClipManager, HMCameraClip, HFCameraPlaybackPosition, NSString, HMCameraSource, HFCameraPlaybackEngineEventCache, NSArray, NSError, HMCameraProfile;
@protocol HFCameraClipPlaying, HFCameraLiveStreamControlling, HFCameraClipScrubbing;

@interface HFCameraPlaybackEngine : NSObject <HMCameraRecordingEventManagerObserver, HFCameraClipPlayerDelegate, HFCameraLiveStreamControllerDelegate>

@property (retain, nonatomic) HMHome *home;
@property (readonly, nonatomic) id<HFCameraLiveStreamControlling> liveStreamController;
@property (readonly, nonatomic) id<HFCameraClipScrubbing> clipScrubber;
@property (readonly, nonatomic) NSMapTable *observerStates;
@property (readonly, nonatomic) NADelegateDispatcher *observerDispatcher;
@property (nonatomic) unsigned long long playbackContentType;
@property (nonatomic) unsigned long long engineMode;
@property (copy, nonatomic) NSDate *lastRequestedClipPlaybackDate;
@property (nonatomic) BOOL wantsToPlay;
@property (nonatomic) unsigned long long timeControlStatus;
@property (retain, nonatomic) NSError *playbackError;
@property (retain, nonatomic) HMCameraSource *liveCameraSource;
@property (nonatomic) unsigned long long scrubbingInProgressCount;
@property (nonatomic, getter=isScrubbing) BOOL scrubbing;
@property (retain, nonatomic) HMCameraProfile *cameraProfile;
@property (nonatomic) long long lastPlayerTimeControlStatus;
@property (retain, nonatomic) HFCameraAnalyticsCameraClipPlaybackSessionEvent *playbackSessionEvent;
@property (nonatomic) unsigned long long playbackRetryAttempts;
@property (retain, nonatomic) HFCameraPlaybackEngineEventCache *eventCache;
@property (weak, nonatomic) HMCameraClipManager *clipManager;
@property (retain, nonatomic) NSUUID *notificationCenterClipUUID;
@property (readonly, nonatomic) id<HFCameraClipPlaying> clipPlayer;
@property (readonly, copy, nonatomic) NSArray *observers;
@property (nonatomic) unsigned long long timelineState;
@property (nonatomic, getter=isUserScrubbing) BOOL userScrubbing;
@property (readonly, nonatomic) HMCameraClip *currentClip;
@property (readonly, nonatomic) AVPlayer *player;
@property (readonly, copy, nonatomic) NSArray *cameraEvents;
@property (readonly, copy, nonatomic) NSArray *cameraClips;
@property (nonatomic, getter=isMicrophoneEnabled) BOOL microphoneEnabled;
@property (nonatomic, getter=isStreamAudioEnabled) BOOL streamAudioEnabled;
@property (nonatomic) float streamAudioVolume;
@property (nonatomic) BOOL prefersAudioEnabled;
@property (readonly, nonatomic) BOOL shouldDisplayVolumeControls;
@property (nonatomic, getter=isPictureInPictureModeActive) BOOL pictureInPictureModeActive;
@property (nonatomic) BOOL shouldBypassVideoFetchRequest;
@property (nonatomic) BOOL shouldBypassHighQualityScrubbing;
@property (nonatomic) unsigned long long scrubbingSpeed;
@property (readonly, nonatomic) BOOL hasRecordingEvents;
@property (readonly, nonatomic) BOOL isCameraPortraitMode;
@property (retain, nonatomic) HFCameraPlaybackPosition *playbackPosition;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)findClipPositionForDate:(id)a0 inEvents:(id)a1 options:(unsigned long long)a2;
+ (unsigned long long)hf_indexOfClipForDate:(id)a0 inEvents:(id)a1 enumerationOptions:(unsigned long long)a2 searchOptions:(unsigned long long)a3;

- (void)updateConfiguration:(id)a0;
- (void)play;
- (void)pause;
- (id)init;
- (void)dealloc;
- (void)removeObserver:(id)a0;
- (id)shortDebugDescription;
- (void)endScrubbing;
- (id)initWithConfiguration:(id)a0;
- (void).cxx_destruct;
- (void)beginScrubbing;
- (void)recordingEventManager:(id)a0 didRemoveRecordingEventsWithUUIDs:(id)a1;
- (void)recordingEventManager:(id)a0 didUpdateRecordingEvents:(id)a1;
- (BOOL)isLiveStreaming;
- (void)streamControllerStateDidUpdate:(id)a0;
- (void)addObserver:(id)a0 withOptions:(id)a1;
- (id)engineModeDescription;
- (void)fetchCameraClipForNotificationUUID:(id)a0 withCompletion:(id /* block */)a1;
- (void)fetchCameraClipForUUID:(id)a0 withCompletion:(id /* block */)a1;
- (void)fetchCameraEventsWithCompletion:(id /* block */)a0;
- (id)findClipPositionForDate:(id)a0;
- (id)firstOfTheDayClipForDate:(id)a0;
- (BOOL)isFirstEventOfTheDay:(id)a0;
- (BOOL)isLiveStreamPlaying;
- (void)modifyPlaybackFromSender:(id)a0 usingBlock:(id /* block */)a1;
- (void)startPlaybackAtDate:(id)a0 withClip:(id)a1;
- (id)timeControlStatusDescription;
- (id)timelineStateDescription;
- (void)updateLiveStreamForCameraProfile:(id)a0;
- (void)updatePlaybackPositionToDate:(id)a0 usingClip:(id)a1;
- (id)_derivedPlaybackError;
- (unsigned long long)_derivedTimeControlStatus;
- (void)_setMicrophoneEnabled:(BOOL)a0 notifyObservers:(BOOL)a1;
- (void)_setPlayerVolume:(float)a0 notifyObservers:(BOOL)a1;
- (void)_setStreamAudioEnabled:(BOOL)a0 notifyObservers:(BOOL)a1;
- (void)_setupClipPlayerWithClipManager:(id)a0;
- (void)_setupLiveStreamController:(id)a0;
- (void)_setupTimeObservationForObserver:(id)a0;
- (void)_updatePlaybackStateNotifyingObservers:(BOOL)a0;
- (void)_updatePlaybackStateNotifyingObservers:(BOOL)a0 rebuildClipPlayerIfNeeded:(BOOL)a1;
- (void)_updateStateForRequestedPlaybackPosition:(id)a0 notifyObservers:(BOOL)a1;
- (void)clipPlayer:(id)a0 didUpdateError:(id)a1 isFatal:(BOOL)a2;
- (void)clipPlayer:(id)a0 didUpdateMuted:(BOOL)a1;
- (void)clipPlayer:(id)a0 didUpdateTimeControlStatus:(long long)a1;
- (void)clipPlayerDidPlayToEndTime:(id)a0;
- (id)findClipPositionForDate:(id)a0 options:(unsigned long long)a1;
- (void)startPlaybackForCurrentClip;

@end