luxlabs header browser preview


@class AVPixelBufferAttributeMediator, NSMutableDictionary, AVApplicationStateMonitor, NSHashTable, NSDictionary, NSObject, AVPlayerMediaSelectionCriteria, AVOutputContext, NSMutableArray, AVPlayerItem, AVQueuePlayer, NSString, AVPlayerPlaybackCoordinator, AVAudioSession, NSMutableSet, NSArray, NSNumber, AVWeakReference, NSError, AVPlayerRateState;
@protocol OS_dispatch_queue, AVBlockScheduler, AVLoggingIdentifier;

@interface AVPlayerInternal : NSObject {
    BOOL fullyInitializedAndNotDeallocating;
    AVWeakReference *weakReference;
    AVPixelBufferAttributeMediator *pixelBufferAttributeMediator;
    NSObject<OS_dispatch_queue> *stateDispatchQueue;
    NSObject<OS_dispatch_queue> *figConfigurationQueue;
    NSObject<OS_dispatch_queue> *layerInteractionQueue;
    NSObject<OS_dispatch_queue> *ivarAccessQueue;
    NSObject<OS_dispatch_queue> *currentItemPropertyUpdateQueue;
    NSObject<OS_dispatch_queue> *layersQ;
    struct OpaqueCMTimebase { } *proxyTimebase;
    BOOL logPerformanceData;
    id didFinishSuspensionNotificationToken;
    id didEnterBackgroundNotificationToken;
    id willEnterForegroundNotificationToken;
    void *IAPDCallbackToken;
    struct OpaqueFigSimpleMutex { } *prerollIDMutex;
    NSObject<OS_dispatch_queue> *configurationQueue;
    id layerForegroundingChangeToken;
    id<AVBlockScheduler> KVOChangeSerializer;
    long long status;
    NSError *error;
    AVPlayerItem *currentItem;
    AVPlayerItem *lastItem;
    NSMutableSet *items;
    NSArray *queueModifications;
    NSMutableDictionary *pendingFigPlayerProperties;
    AVAudioSession *audioSession;
    NSDictionary *vibrationPattern;
    AVOutputContext *outputContext;
    BOOL IOwnTheFigPlayer;
    AVQueuePlayer *interstitialPlayer;
    struct OpaqueFigPlayerInterstitialCoordinator { } *interstitialEventCoordinator;
    NSString *playerName;
    long long audiovisualBackgroundPlaybackPolicy;
    NSMutableArray *handlersToCallWhenReadyToPlay;
    BOOL shouldReduceResourceUsage;
    long long resourceConservationLevelWhilePaused;
    NSString *playerRole;
    BOOL usesDedicatedNotificationQueueForMediaServices;
    struct CGSize { double width; double height; } dimensionsOfReservedVideoMemory;
    BOOL participatesInAudioSession;
    NSString *externalPlaybackVideoGravity;
    long long actionAtItemEnd;
    float volume;
    float userVolume;
    float minRateForAudioPlayback;
    float maxRateForAudioPlayback;
    BOOL autoSwitchStreamVariants;
    BOOL preparesItemsForPlaybackAsynchronously;
    BOOL allowsOutOfBandTextTrackRendering;
    BOOL muted;
    BOOL closedCaptionDisplayEnabled;
    BOOL appliesMediaSelectionCriteriaAutomatically;
    BOOL limitsBandwidthForCellularAccess;
    BOOL usesAudioOnlyModeForExternalPlayback;
    BOOL allowsPixelBufferPoolSharing;
    BOOL disallowsAMRAudio;
    BOOL disallowsHardwareAcceleratedVideoDecoder;
    BOOL layerDestinationIsTVOut;
    BOOL preventsDisplaySleepDuringVideoPlayback;
    BOOL preventsAutomaticBackgroundingDuringVideoPlayback;
    BOOL disallowsVideoLayerDisplayCompositing;
    BOOL allowsExternalPlayback;
    BOOL usesExternalPlaybackWhileExternalScreenIsActive;
    BOOL supportsAdvanceTimeForOverlappedPlayback;
    NSString *captionPipelineStrategy;
    NSString *audioOutputDeviceUniqueID;
    NSString *clientName;
    NSString *STSLabel;
    NSString *multichannelAudioStrategy;
    long long clientPriority;
    BOOL PIPModePossible;
    BOOL isDisplayingClosedCaptions;
    BOOL externalPlaybackActive;
    BOOL airPlayVideoActive;
    BOOL bufferedAirPlayActive;
    BOOL isConnectedToPhysicalSecondScreen;
    BOOL outputObscuredDueToInsufficientExternalProtection;
    long long externalProtectionStatus;
    NSString *ancillaryPerformanceInformationForDisplay;
    AVPlayerRateState *rateState;
    int rateChangeIdentifier;
    float defaultRate;
    struct CGSize { double width; double height; } currentItemPresentationSize;
    BOOL currentItemNonForcedSubtitlesEnabled;
    unsigned long long preferredVideoDecoderGPURegistryID;
    BOOL disallowsAutoPauseOnRouteRemovalIfNoAudio;
    BOOL ensuresActiveAudioSessionWhenStartingPlayback;
    AVApplicationStateMonitor *applicationStateMonitor;
    BOOL preservesAudioSessionSampleRate;
    BOOL silencesOtherPlaybackDuringPIP;
    BOOL prefersPlayingSilentlyWhenConflictingWithOtherPlayback;
    BOOL suppressesAudioRendering;
    BOOL isInterstitialPlayer;
    BOOL isSilencedDueToConflictWithOtherPlayback;
    NSNumber *mxSessionID;
    NSArray *videoTargets;
    struct __CFDictionary { } *videoTargetsForInterstitialPlayer;
    BOOL shouldWaitForVideoTarget;
    AVPlayerPlaybackCoordinator *playbackCoordinator;
    BOOL clientRequestedPlaybackCoordinator;
    NSString *backgroundPIPAuthorizationToken;
    BOOL rateDidChangeNotificationIncludesExtendedDiagnosticPayload;
    id<AVLoggingIdentifier> loggingIdentifier;
    NSDictionary *cachedFigMediaSelectionCriteriaProperty;
    NSArray *taggedBufferOutputs;
    NSMutableArray *videoLayers;
    NSMutableArray *subtitleLayers;
    NSMutableArray *closedCaptionLayers;
    NSHashTable *avPlayerLayers;
    NSHashTable *playerCaptionLayers;
    int nextPrerollIDToGenerate;
    int pendingPrerollID;
    id /* block */ prerollCompletionHandler;
    id currentItemSuppressesVideoLayersNotificationToken;
    id currentItemPreferredPixelBufferAttributesNotificationToken;
    struct OpaqueFigPlayer { } *figPlayer;
    struct OpaqueFigPlaybackItem { } *figPlaybackItemToIdentifyNextCurrentItem;
    BOOL needsToCreateFigPlayer;
    BOOL allowsLegibleFallbackForAllAudibleMediaSelections;
    AVPlayerMediaSelectionCriteria *cachedFigLegibleFallbackMediaSelectionCriteriaProperty;
    NSArray *itemsInFigPlayQueue;
    NSArray *expectedAssetTypes;
    BOOL reevaluateBackgroundPlayback;
    BOOL hadAssociatedOnscreenPlayerLayerWhenSuspended;
    BOOL suspensionExpected;
    BOOL rateUpdateDuringTransitionDecided;
    BOOL videoLayersAreAttached;
    struct OpaqueCMClock { } *figSourceClock;
    NSString *captionRenderingStrategy;
    NSArray *displaysUsedForPlayback;
}

@end