@class NSUserDefaults, NSString, NSOperationQueue, CMMotionContextSession, CMMotionActivityManager, NSObject; @protocol OS_dispatch_queue, OS_dispatch_source; @interface CMMediaSession : NSObject <CMDistributedSensingDelegate> { struct unique_ptr<CMHeadTrackingService, std::default_delete<CMHeadTrackingService>> { struct __compressed_pair<CMHeadTrackingService *, std::default_delete<CMHeadTrackingService>> { struct CMHeadTrackingService *__value_; } __ptr_; } _headTrackingService; struct Dispatcher { void /* function */ **x0; id x1; } *_deviceMotionDispatcher; struct Dispatcher { void /* function */ **x0; id x1; } *_accessoryDeviceMotionDispatcher; struct Dispatcher { void /* function */ **x0; id x1; } *_accessoryDeviceMotionConfigDispatcher; struct Dispatcher { void /* function */ **x0; id x1; } *_accessoryDeviceMotionInEarStatusDispatcher; NSObject<OS_dispatch_queue> *_clientQueue; id /* block */ _clientHandler; BOOL _started; int _clientMode; unsigned long long _predictionIntervalMicroseconds; int _scheme; struct CMOQuaternion { float elements[4]; } _q_bf; BOOL _useHeadToHeadsetTransformationEstimator; BOOL _disable2IMU; double _lidAngle; struct UnTimesyncedAuxSampleHelper { unsigned int totalUnsyncedSamples; unsigned int totalUnsyncedOutlierSamples; double auxAndSrcSensorTimeOffset; struct CMFixedSizeQueue<double, 10UL> { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[8]; struct CMQueueStorage<double, 10UL> { char buffer[72]; } fStorage; } auxAndSrcSensorTimeOffsetBuffer; } _unsyncedAuxHelper; struct unique_ptr<CMMediaSessionAnalyticsTracker, std::default_delete<CMMediaSessionAnalyticsTracker>> { struct __compressed_pair<CMMediaSessionAnalyticsTracker *, std::default_delete<CMMediaSessionAnalyticsTracker>> { struct CMMediaSessionAnalyticsTracker *__value_; } __ptr_; } _analyticsTracker; int _previousBTZState; double _lastInBTZTime; int _previousMotionActivityType; double _lastAccessoryDMTime; int _previousTracking1IMU; BOOL _previousCTState; BOOL _previousCTBodyTurnState; BOOL _previousHeadTurnState; double _lastExitCTTime; float _lastAngleBetweenCurrentBoresightToDefault; BOOL _previousTrackingEnabled; double _lastDistractedViewingStartTime; double _lastDistractedViewingEndTime; BOOL _previousSrcMoving; BOOL _previousAuxMoving; BOOL _previousSteadyStatePedestrian; BOOL _previousKeepBoresightCentered; int _lastTrackingDisableRoute; int _analyticsClientMode; struct AudioAccessorySample { struct { struct CMOQuaternion { float elements[4]; } quaternion; struct CMVector<float, 3UL> { float elements[3]; } rotationRate; struct CMVector<float, 3UL> { float elements[3]; } biasCovariance; struct CMVector<float, 3UL> { float elements[3]; } userAcceleration; struct Status { unsigned short bits; } status; } auxDM; unsigned long long sensorTime; double timestamp; double arrivalTimestamp; struct CMVector<float, 3UL> { float elements[3]; } filteredAcceleration; float quiescentNoise; int quiescentMode; unsigned int sequenceNumber; int sensorLocation; int timeSyncStatus; unsigned long long btcTimestamp; double sampleLatency; } _lastAudioAccessorySample; unsigned long long _lastAccessoryTimestamp; unsigned long long _lastSourceTimestampMicroSeconds; unsigned long long _lastStateTimestamp; BOOL _trackingEstimatesStagnated; BOOL _logForReplay; double _printPoseTimer; BOOL _enableJBLThreshold; BOOL _verboseLogging; double _accessorySampleTimer; int _accessorySamplesPerSecond; CMMotionActivityManager *_activityManager; NSOperationQueue *_activityQueue; struct unique_ptr<CLSettings, std::default_delete<CLSettings>> { struct __compressed_pair<CLSettings *, std::default_delete<CLSettings>> { struct CLSettings *__value_; } __ptr_; } _motionSettings; NSUserDefaults *_motionDefaults; double _minQuiescentPeriodForBTZ; int _notify50HzPoseDecimator; unsigned long long _lastFacePoseTimestampUs; unsigned long long _anchorUpdateIntervalUs; double _sessionStartTime; double _firstAccessoryDMTime; double _firstValidPoseTime; double _lastTimesyncLostTime; struct unique_ptr<CMSpatialLogger, std::default_delete<CMSpatialLogger>> { struct __compressed_pair<CMSpatialLogger *, std::default_delete<CMSpatialLogger>> { struct CMSpatialLogger *__value_; } __ptr_; } _logger; int _inEarStatus; BOOL _inEarStatusGatingEnabled; int _jitterBufferLevelNotificationToken; NSObject<OS_dispatch_source> *_jitterBufferLevelInitialUpdateTimer; unsigned short _jitterBufferLevel; unsigned short _jitterBufferLevelThreshold; BOOL _startedJitterBufferLevelPolling; BOOL _sitStandDetectorEnabled; BOOL _userSettingFwdPredictorEnabled; BOOL _motionContextSessonEnabled; BOOL _humanMotionLearningModelEnabled; CMMotionContextSession *_mcSession; BOOL _userSettingBypassAmbienceBedForE2ELatencyTesting; } @property unsigned int totalSourceIMUSamples; @property unsigned int totalAccessoryIMUSamples; @property unsigned int totalFacePoseAnchorSamples; @property unsigned int accessoryIMUSampleRate; @property float prevAmbienceBedRoll; @property BOOL overrideDefaultHeadsetOrientation; @property struct CMOQuaternion { float elements[4]; } headsetOrientationOverride; @property BOOL returnDefaultPose; @property BOOL returnRandomPose; @property BOOL alwaysNotify50HzPose; @property (copy) NSString *mcLogPath; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (BOOL)_isAvailable; - (id)_initWithOptions:(id)a0; - (BOOL)_start; - (id)init; - (void)dealloc; - (void)_reset; - (id).cxx_construct; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (void).cxx_destruct; - (void)_stop; - (void)_logEvent:(id)a0; - (void)_startDefaultsPreferenceUpdater; - (void)_updateMinQuiescentPeriodForBTZ; - (int)_createPoseFromListenerOrientation:(const struct ListenerOrientation { struct CMOQuaternion { float x0[4]; } x0; unsigned long long x1; unsigned long long x2; BOOL x3; BOOL x4; } *)a0 Pose:(id *)a1; - (int)_currentAudioListenerOrientation:(id *)a0; - (void)_disableLoggingForReplay; - (void)_enableLoggingForReplayWithFilenamePrefix:(id)a0 filePath:(id)a1; - (void)_feedAccessoryConfig:(const void *)a0; - (void)_feedAccessoryDeviceMotion:(const void *)a0; - (void)_feedAccessoryInEarStatus:(const int *)a0; - (void)_feedAdaptiveLatencyJitterBufferLevel; - (void)_feedFacePose:(id)a0 rotationMatrix:(id)a1 timestamp:(double)a2 error:(struct { float x0; BOOL x1; BOOL x2; int x3; double x4; } *)a3; - (void)_feedLidAngle:(double)a0; - (void)_feedPoseAnchor:(const struct Sample { double x0; struct { double x0; int x1; int x2; struct { double x0; double x1; double x2; double x3; } x3; struct { float x0; float x1; float x2; } x4; float x5; float x6; float x7; float x8; float x9; unsigned int x10; struct { float x0; float x1; float x2; } x11; struct { float x0; float x1; float x2; } x12; struct { float x0; float x1; float x2; } x13; } x1; } *)a0 facePoseError:(struct { float x0; BOOL x1; BOOL x2; int x3; double x4; } *)a1; - (void)_feedPredictorEstimates; - (void)_feedSourceDeviceIMU:(const struct Sample { double x0; struct { struct { double x0; double x1; double x2; double x3; } x0; struct { float x0; float x1; float x2; } x1; struct { float x0; float x1; float x2; } x2; struct { float x0; float x1; float x2; } x3; int x4; BOOL x5; BOOL x6; BOOL x7; float x8; BOOL x9; BOOL x10; int x11; } x1; struct { float x0; } x2; BOOL x3; unsigned int x4; unsigned char x5; struct Status { unsigned short x0; } x6; float x7; } *)a0; - (unsigned long long)_getAuxSampleTimestamp:(const void *)a0 currentTime:(double)a1; - (struct AudioAccessorySample { struct { struct CMOQuaternion { float x0[4]; } x0; struct CMVector<float, 3UL> { float x0[3]; } x1; struct CMVector<float, 3UL> { float x0[3]; } x2; struct CMVector<float, 3UL> { float x0[3]; } x3; struct Status { unsigned short x0; } x4; } x0; unsigned long long x1; double x2; double x3; struct CMVector<float, 3UL> { float x0[3]; } x4; float x5; int x6; unsigned int x7; int x8; int x9; unsigned long long x10; double x11; })_getLastAudioAccessorySample; - (int)_mapCMMediaSessionClientModeToRelDMClientMode:(long long)a0; - (void)_notifyClientHandler; - (void)_setConvergenceRateForBTZ:(float)a0; - (void)_setFixedTransforms:(const struct CMOQuaternion { float x0[4]; } *)a0; - (void)_startHeadTracking; - (void)_startJitterBufferLevelMonitor; - (void)_startJitterBufferLevelRetryTimer; - (BOOL)_startPoseUpdatesToQueue:(id)a0 andHandler:(id /* block */)a1; - (void)_stopDefaultsPreferenceUpdater; - (void)_stopHeadTracking; - (void)_stopJitterBufferLevelMonitor; - (void)_stopJitterBufferLevelRetryTimer; - (void)_triggerUserInteractedWithDeviceEvent; - (void)_updateAnchorIntervalSettings; - (void)_updateClientMode:(long long)a0; - (void)_updateTrackingSchemeSettings; - (void)_updateUseFwdPredictionUserSettings; - (void)_updateUseHeadToHeadsetTransformationEstimator; - (void)_updateUserSettings; - (void)feedPoseAnchorWithAttitude:(struct { double x0; double x1; double x2; double x3; })a0 position:(struct CMVector<float, 3UL> { float x0[3]; })a1 timestampUs:(unsigned long long)a2; @end