luxlabs header browser preview


@class MPQueueFeeder, NSDictionary, NSObject, AVAsset, MPMediaLibraryPrivacyContext, MPModelPlayEvent, MPModelGenericObject, AVPlayerItemAccessLog, MPMediaItem, NSString, AVPlayerItem, AVPlayerItemMetadataOutput, NSMutableArray, NSMutableSet, ICMusicSubscriptionLeaseStatus, NSArray, NSNumber, MPNowPlayingContentItem, NSError;
@protocol OS_dispatch_queue, MPAVItemObserver;

@interface MPAVItem : NSObject {
    AVAsset *_asset;
    NSObject<OS_dispatch_queue> *_assetQueue;
    AVPlayerItem *_avPlayerItem;
    double _cachedDuration;
    double _cachedPlayableDuration;
    NSArray *_cachedSeekableTimeRanges;
    double _seekableTimeRangesCacheTime;
    long long _type;
    MPNowPlayingContentItem *_contentItem;
    unsigned char _isStreamable : 2;
    unsigned char _watchingAttributes : 1;
    unsigned char _lyricsAvailable : 1;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock;
    BOOL _hasLoadedHasProtectedContent;
    BOOL _hasLoadedPlaybackMode;
    BOOL _hasValidPlayerItemDuration;
    double _lastLoggedTotalDuration;
    long long _likedState;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _playerItemDuration;
    long long _exportableArtworkRevision;
    MPMediaLibraryPrivacyContext *_privacyContext;
    AVPlayerItemMetadataOutput *_metadataOutput;
    NSMutableArray *_adjunctErrors;
    NSMutableSet *_pendingContentItemUpdates;
}

@property (class, readonly, nonatomic, getter=isPlaceholder) BOOL placeholder;

@property (nonatomic) BOOL isAssetLoaded;
@property (nonatomic) long long nowPlayingInfoQueueIndex;
@property (nonatomic) long long nowPlayingInfoQueueCount;
@property (readonly, nonatomic, getter=isPlaceholder) BOOL placeholder;
@property (nonatomic) long long lastChangeDirection;
@property (readonly, nonatomic) BOOL shouldPreventPlayback;
@property (nonatomic) BOOL isStartItem;
@property (nonatomic) BOOL isHostingSharedSession;
@property (readonly, nonatomic) MPModelGenericObject *modelGenericObject;
@property (retain, nonatomic) MPModelPlayEvent *modelPlayEvent;
@property (readonly, copy, nonatomic) NSNumber *bookmarkTime;
@property (readonly, copy, nonatomic) NSNumber *initialPlaybackStartTime;
@property (copy, nonatomic) NSNumber *initialPlaybackStartTimeOverride;
@property (readonly, copy, nonatomic) NSNumber *playbackInfoStartTime;
@property (copy, nonatomic) NSNumber *lastMetadataChangeTime;
@property (readonly, copy, nonatomic) NSString *rtcReportingServiceIdentifier;
@property (readonly, nonatomic) BOOL allowsAirPlayFromCloud;
@property (readonly, nonatomic) BOOL allowsExternalPlayback;
@property (readonly, nonatomic) BOOL requiresLoadedAssetForAirPlayProperties;
@property (nonatomic, getter=_currentPlaybackRate, setter=_setCurrentPlaybackRate:) float _currentPlaybackRate;
@property (readonly, nonatomic) BOOL hasFinishedDownloading;
@property (nonatomic) BOOL hasPerformedErrorResolution;
@property (copy, nonatomic) NSDictionary *playbackInfo;
@property (retain, nonatomic) AVPlayerItem *playerItem;
@property (readonly, nonatomic) struct OpaqueCMTimebase { } *timebase;
@property (nonatomic, getter=isActiveItem) BOOL activeItem;
@property (readonly, copy, nonatomic) NSString *storeFrontIdentifier;
@property (nonatomic, getter=hasExternalDisplay) BOOL externalDisplay;
@property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } _playerItemDurationIfAvailable;
@property (readonly, nonatomic) NSNumber *storeAccountID;
@property (readonly, nonatomic) long long leasePlaybackPreventionState;
@property (readonly, copy, nonatomic) ICMusicSubscriptionLeaseStatus *leaseStatus;
@property (copy, nonatomic) NSString *explicitBadge;
@property (readonly, nonatomic) BOOL didReachEnd;
@property (readonly, nonatomic) BOOL canUseLoadedAsset;
@property (nonatomic, getter=isInOverlappedTransition) BOOL inOverlappedTransition;
@property (nonatomic) double overlappedTransitionDuration;
@property (readonly, nonatomic) BOOL supportsFastForward;
@property (readonly, nonatomic) BOOL supportsRewind;
@property (readonly, nonatomic) BOOL supportsRateChange;
@property (readonly, copy, nonatomic) NSString *contentItemID;
@property (readonly, copy, nonatomic) NSString *queueSectionID;
@property (readonly, copy, nonatomic) NSString *queueItemID;
@property (nonatomic, getter=isAutoPlayItem) BOOL autoPlayItem;
@property (nonatomic, getter=isSharedListeningItem) BOOL sharedListeningItem;
@property (nonatomic) long long explicitContentState;
@property (readonly, nonatomic) MPNowPlayingContentItem *contentItem;
@property (readonly, nonatomic) BOOL supportsVocalAttenuation;
@property (nonatomic, getter=isConfiguredForVocalAttenuation) BOOL configuredForVocalAttenuation;
@property (readonly, nonatomic) NSArray *adjunctErrors;
@property (weak, nonatomic) id<MPAVItemObserver> observer;
@property (readonly, nonatomic, getter=isAssetLoaded) BOOL assetLoaded;
@property (readonly, nonatomic, getter=isAssetURLValid) BOOL assetURLValid;
@property (readonly, nonatomic) BOOL didAttemptToLoadAsset;
@property (readonly, nonatomic) AVAsset *asset;
@property (readonly, nonatomic) BOOL canReusePlayerItem;
@property (readonly, copy, nonatomic) NSError *playbackError;
@property (retain, nonatomic) NSError *itemError;
@property (readonly, nonatomic) long long status;
@property (retain, nonatomic) NSString *queueIdentifier;
@property (readonly, nonatomic, getter=isAlwaysLive) BOOL alwaysLive;
@property (readonly, nonatomic) BOOL usesBookmarking;
@property (weak, nonatomic) MPQueueFeeder *feeder;
@property (readonly, nonatomic) long long playbackMode;
@property (readonly, nonatomic) AVPlayerItemAccessLog *accessLog;
@property (readonly, nonatomic) double currentTimeDisplayOverride;
@property (nonatomic) float defaultPlaybackRate;
@property (readonly, nonatomic) NSArray *chapterTimeMarkers;
@property (readonly, nonatomic) NSArray *artworkTimeMarkers;
@property (readonly, nonatomic) NSArray *urlTimeMarkers;
@property (retain, nonatomic) NSArray *closedCaptionTimeMarkers;
@property (readonly, nonatomic) BOOL useEmbeddedChapterData;
@property (readonly, nonatomic) long long type;
@property (readonly, nonatomic) long long customAVEQPreset;
@property (readonly, nonatomic) BOOL allowsEQ;
@property (readonly, nonatomic) NSString *displayableText;
@property (readonly, nonatomic) BOOL displayableTextLoaded;
@property (readonly, nonatomic) NSString *album;
@property (readonly, nonatomic) long long albumStoreID;
@property (readonly, nonatomic) NSString *artist;
@property (readonly, nonatomic, getter=isArtistUploadedContent) BOOL artistUploadedContent;
@property (readonly, nonatomic) NSString *albumArtist;
@property (readonly, nonatomic) long long storeAlbumArtistID;
@property (readonly, nonatomic) long long artistStoreID;
@property (readonly, nonatomic) unsigned long long albumTrackNumber;
@property (readonly, nonatomic) unsigned long long albumTrackCount;
@property (readonly, nonatomic) NSString *composer;
@property (readonly, copy, nonatomic) NSString *copyrightText;
@property (readonly, nonatomic) unsigned long long discNumber;
@property (readonly, nonatomic) unsigned long long discCount;
@property (readonly, nonatomic, getter=isExplicitTrack) BOOL explicitTrack;
@property (readonly, copy, nonatomic) NSString *externalContentIdentifier;
@property (readonly, nonatomic) NSString *genre;
@property (readonly, nonatomic) unsigned long long mediaType;
@property (nonatomic) long long likedState;
@property (readonly, nonatomic, getter=isLikedStateEnabled) BOOL likedStateEnabled;
@property (readonly, nonatomic) BOOL supportsLikedState;
@property (readonly, nonatomic) NSString *lyrics;
@property (readonly, nonatomic) NSString *libraryLyrics;
@property (readonly, nonatomic) BOOL hasStoreLyrics;
@property (readonly, nonatomic) BOOL hasTimeSyncedLyrics;
@property (readonly, nonatomic) NSString *itemDescription;
@property (readonly, copy, nonatomic) NSString *containerUniqueID;
@property (readonly, nonatomic) NSString *mainTitle;
@property (readonly, nonatomic, getter=isStreamable) BOOL streamable;
@property (readonly, nonatomic) unsigned long long persistentID;
@property (readonly, nonatomic) NSString *databaseID;
@property (readonly, nonatomic) unsigned long long cloudID;
@property (readonly, nonatomic) NSString *personID;
@property (readonly, nonatomic) NSString *cloudUniversalLibraryID;
@property (readonly, nonatomic) NSString *cloudAlbumID;
@property (readonly, nonatomic) unsigned long long albumPersistentID;
@property (readonly, nonatomic) unsigned long long albumArtistPersistentID;
@property (readonly, nonatomic) unsigned long long artistPersistentID;
@property (readonly, nonatomic) unsigned long long genrePersistentID;
@property (readonly, nonatomic) unsigned long long composerPersistentID;
@property (readonly, nonatomic) BOOL shouldShowComposer;
@property (readonly, nonatomic) NSString *storeItemID;
@property (readonly, nonatomic) long long storeItemInt64ID;
@property (readonly, nonatomic) long long storePurchasedAdamID;
@property (readonly, nonatomic) long long storeSubscriptionAdamID;
@property (readonly, nonatomic) long long reportingAdamID;
@property (readonly, nonatomic) long long lyricsAdamID;
@property (readonly, nonatomic) float userRating;
@property (readonly, nonatomic) BOOL durationIsValid;
@property (readonly, nonatomic) double durationIfAvailable;
@property (readonly, nonatomic) double durationFromExternalMetadata;
@property (readonly, nonatomic) double playableDuration;
@property (readonly, nonatomic) double playableDurationIfAvailable;
@property (readonly, nonatomic) double timeOfSeekableStart;
@property (readonly, nonatomic) double timeOfSeekableEnd;
@property (readonly, nonatomic) struct CGSize { double x0; double x1; } naturalSize;
@property (readonly, nonatomic) NSArray *timedMetadataIfAvailable;
@property (readonly, nonatomic) BOOL usesSubscriptionLease;
@property (nonatomic) double lastPlayPerformanceTime;
@property (readonly, retain, nonatomic) MPMediaItem *mediaItem;
@property (readonly, nonatomic) BOOL mediaItemNeedsLoading;
@property (nonatomic) float loudnessInfoVolumeNormalization;
@property (nonatomic) float soundCheckVolumeNormalization;
@property (readonly, nonatomic) BOOL supportsRating;
@property (readonly, nonatomic) BOOL prefersSeekOverSkip;
@property (readonly, nonatomic) BOOL hasProtectedContent;
@property (readonly, nonatomic, getter=isRadioItem) BOOL radioItem;
@property (readonly, nonatomic) BOOL stationAllowsItemLiking;
@property (readonly, copy, nonatomic) NSString *stationHash;
@property (readonly, nonatomic) long long stationID;
@property (readonly, copy, nonatomic) NSString *stationName;
@property (readonly, copy, nonatomic) NSString *stationStringID;
@property (readonly, nonatomic) long long stationProviderID;
@property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } duration;
@property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } forwardPlaybackEndTime;
@property (readonly, nonatomic) struct CGSize { double x0; double x1; } presentationSize;

+ (id)URLFromPath:(id)a0;

- (long long)albumYear;
- (id)initWithURL:(id)a0;
- (id)init;
- (id)initWithPlayerItem:(id)a0;
- (void)dealloc;
- (id)initWithAsset:(id)a0;
- (id)initWithURL:(id)a0 options:(id)a1;
- (id)description;
- (id)path;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (void)setAsset:(id)a0;
- (id)url;
- (void)setRating:(float)a0;
- (id)_seekableTimeRanges;
- (void)setupEQPresetWithDefaultPreset:(long long)a0;
- (BOOL)isValidPlayerSubstituteForItem:(id)a0;
- (int)subtitleTrackID;
- (void)_addObservationsForAVPlayerItem:(id)a0;
- (void)_applyLoudnessInfo;
- (void)_clearAsset;
- (void)_clearAssetNow;
- (id)_contentItemDeviceSpecificUserInfo;
- (id)_contentItemUserInfo;
- (void)_currentPlaybackRateDidChange:(float)a0;
- (void)_didBecomeActivePlayerItem;
- (void)_didResignActivePlayerItem;
- (double)_durationFromExternalMetadataIfAvailable;
- (double)_expectedStartTimeWithPlaybackInfo:(id)a0;
- (double)_expectedStopTimeWithPlaybackInfo:(id)a0;
- (void)_handleUpdatedLikedState:(long long)a0 forUserIdentity:(id)a1 completion:(id /* block */)a2;
- (id)_imageChapterTrackIDsForAsset:(id)a0;
- (id)_initialPlaybackStartTimeForPlaybackInfo:(id)a0;
- (void)_internalLikedStateDidChangeNotification:(id)a0;
- (void)_itemAttributeAvailableKey:(id)a0;
- (void)_likedStateDidChange;
- (void)_loadAssetAndPlayerItem;
- (void)_loadAssetProperties;
- (void)_onAssetQueueClearAsset;
- (void)_performContentItemUpdate:(id /* block */)a0 debounceWithIdentifier:(id)a1;
- (long long)_persistedLikedState;
- (void)_pickupContentItemFrom:(id)a0;
- (double)_playableDurationForLoadedTimeRanges:(id)a0;
- (void)_removeObservationsForAVPlayerItem:(id)a0;
- (void)_setNeedsPersistedLikedStateUpdate;
- (BOOL)_shouldPublishArtworkURL;
- (void)_updateAudioFormatInfoForContentItem:(id)a0;
- (void)_updateContentItem;
- (void)_updateContentItemIncludingPlaybackState:(BOOL)a0;
- (void)_updateDurationSnapshotWithElapsedTime:(double)a0 playbackRate:(float)a1;
- (void)_updateHasFinishedDownloading;
- (void)_updateSoundCheckVolumeNormalizationForPlayerItem;
- (void)_willBecomeActivePlayerItem;
- (void)_willResignActivePlayerItem;
- (void)addAdjunctError:(id)a0;
- (id)analyticsContentType;
- (id)analyticsFormatType;
- (void)applyVolumeNormalizationWithSoundCheckEnabled:(BOOL)a0;
- (id /* block */)artworkCatalogBlock;
- (id)artworkCatalogForPlaybackTime:(double)a0;
- (void)clearAdjunctErrors;
- (void)copyPlayerItem;
- (void)disableItemReuse;
- (double)durationInSeconds;
- (void)invalidateContentItemAudioFormatInfo;
- (void)invalidateContentItemDeviceSpecificUserInfo;
- (void)invalidateContentItemUserInfo;
- (BOOL)isSupportedDefaultPlaybackSpeed:(long long)a0;
- (void)loadAssetAndPlayerItem;
- (void)notePlaybackFinishedByHittingEnd;
- (void)pauseContentKeySession;
- (void)prepareForRate:(float)a0 completionHandler:(id /* block */)a1;
- (void)reevaluateHasProtectedContent;
- (void)reevaluateType;
- (void)replacePlayerItemWithPlayerItem:(id)a0;
- (void)resolvePlaybackError:(id)a0 withCompletion:(id /* block */)a1;
- (void)resumeContentKeySession;
- (void)setContentItemID:(id)a0 queueSectionID:(id)a1 queueItemID:(id)a2;
- (void)setLikedState:(long long)a0 forUserIdentity:(id)a1;
- (void)setSubtitleTrackID:(int)a0;
- (void)setupWithPlaybackInfo;
- (void)updatePlayerItemMetadata;

@end