@class NSError, NSString, AVPlayer, AVPlayerItem, NSMutableDictionary, NSObject, AVVideoComposition, ISWrappedAVAudioSession; @protocol OS_dispatch_queue, ISWrappedAVPlayerDelegate; @interface ISWrappedAVPlayer : ISObservable <ISKVOProxyDelegate> { NSObject<OS_dispatch_queue> *_avPlayerQueue; NSObject<OS_dispatch_queue> *_ivarQueue; NSObject<OS_dispatch_queue> *_delegateQueue; AVPlayer *_playerQueue_avPlayer; ISWrappedAVAudioSession *_playerQueue_wrappedAudioSession; id _playerQueue_playerItemDidPlayToEndObserver; NSString *_playerQueue_playerKVOIdentifier; NSString *_playerQueue_playerItemKVOIdentifier; AVPlayerItem *_ivarQueue_currentItem; long long _ivarQueue_status; NSError *_ivarQueue_error; float _ivarQueue_rate; float _ivarQueue_volume; struct { struct { long long value; int timescale; unsigned int flags; long long epoch; } start; struct { long long value; int timescale; unsigned int flags; long long epoch; } duration; } _ivarQueue_loopTimeRange; BOOL _ivarQueue_loopingEnabled; BOOL _ivarQueue_audioEnabled; BOOL _ivarQueue_preventsSleepDuringVideoPlayback; BOOL _ivarQueue_suppressesAudioRendering; long long _ivarQueue_itemStatus; NSError *_ivarQueue_itemError; struct { long long value; int timescale; unsigned int flags; long long epoch; } _ivarQueue_itemForwardPlaybackEndTime; struct { long long value; int timescale; unsigned int flags; long long epoch; } _ivarQueue_itemDuration; BOOL _ivarQueue_itemPlaybackBufferFull; AVVideoComposition *_ivarQueue_itemVideoComposition; BOOL _ivarQueue_itemIsLikelyToKeepUp; BOOL _ivarQueue_itemPlaybackBufferEmpty; NSMutableDictionary *_observersByID; void *_ivarQueueIdentifier; } @property (getter=isLoopingEnabled) BOOL loopingEnabled; @property BOOL suppressesAudioRendering; @property (weak) id<ISWrappedAVPlayerDelegate> delegate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)observedAVPlayerItemKeys; + (id)observedAVPlayerKeys; - (void)pause; - (void)setVolume:(float)a0; - (id)init; - (void)setAllowsExternalPlayback:(BOOL)a0; - (void)dealloc; - (id)currentItem; - (void)setRate:(float)a0; - (id)mutableChangeObject; - (long long)status; - (float)volume; - (void).cxx_destruct; - (struct { long long x0; int x1; unsigned int x2; long long x3; })currentTime; - (float)rate; - (id)error; - (void)registerChangeObserver:(id)a0 context:(void *)a1; - (void)replaceCurrentItemWithPlayerItem:(id)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)setActionAtItemEnd:(long long)a0; - (void)setAudioEnabled:(BOOL)a0; - (void)setPreventsSleepDuringVideoPlayback:(BOOL)a0; - (void)setWrappedAudioSession:(id)a0; - (void)unregisterChangeObserver:(id)a0 context:(void *)a1; - (BOOL)isAudioEnabled; - (id)addBoundaryTimeObserverForTimes:(id)a0 queue:(id)a1 usingBlock:(id /* block */)a2; - (id)addPeriodicTimeObserverForInterval:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 queue:(id)a1 usingBlock:(id /* block */)a2; - (void)cancelPendingPrerolls; - (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })loopTimeRange; - (void)prerollAtRate:(float)a0 completionHandler:(id /* block */)a1; - (void)removeTimeObserver:(id)a0; - (void)setDimensionsOfReservedVideoMemory:(struct CGSize { double x0; double x1; })a0; - (void)setLoopTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0; - (void)setRate:(float)a0 time:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1 atHostTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2; - (BOOL)_isOnIvarQueue; - (void)_performIvarRead:(id /* block */)a0; - (void)_performIvarWrite:(id /* block */)a0; - (void)_performPlayerTransaction:(id /* block */)a0; - (void)attachToPlayerLayerIfNeeded:(id)a0; - (struct { long long x0; int x1; unsigned int x2; long long x3; })currentItemDuration; - (BOOL)currentItemIsLikelyToKeepUp; - (BOOL)currentItemPlaybackBufferEmpty; - (BOOL)currentItemPlaybackBufferFull; - (long long)currentItemStatus; - (struct { long long x0; int x1; unsigned int x2; long long x3; })itemForwardPlaybackEndTime; - (void)playToTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 withInitialRate:(float)a1 overDuration:(double)a2 progressHandler:(id /* block */)a3; - (BOOL)preventsSleepDuringVideoPlayback; - (void)setLoopingEnabled:(BOOL)a0 withTemplateItem:(id)a1; - (void)_assertOnIvarQueue; - (void)_avPlayerQueue_registerChangeObserver:(id)a0 context:(void *)a1; - (void)_avPlayerQueue_unregisterChangeObserver:(id)a0 context:(void *)a1; - (id)_initWithAVPlayer:(id)a0; - (id)_nextObserverUID; - (id)_nilOrValue:(id)a0; - (void)_playerItemDidPlayToEnd:(id)a0; - (id)_playerQueue_avPlayer; - (void)_playerQueue_startObservingPlayerItem:(id)a0; - (void)_playerQueue_stopObservingPlayerItem:(id)a0; - (void)_playerQueue_updatePlayerItemAudioTracksEnabled; - (id)currentItemError; - (id)currentItemVideoComposition; - (void)observeChangeforKVOProxyIdentifier:(id)a0 keyPath:(id)a1 change:(id)a2; - (void)replaceCurrentItemWithPlayerItem:(id)a0 thenCall:(id /* block */)a1; - (void)setItemBlendsVideoFrames:(BOOL)a0; - (void)setItemForwardEndPlaybackTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0; @end