28 #import <Foundation/Foundation.h> 29 #import "VLCMediaList.h" 32 NS_ASSUME_NONNULL_BEGIN
38 extern NSString *
const VLCMetaInformationTitle;
39 extern NSString *
const VLCMetaInformationArtist;
40 extern NSString *
const VLCMetaInformationGenre;
41 extern NSString *
const VLCMetaInformationCopyright;
42 extern NSString *
const VLCMetaInformationAlbum;
43 extern NSString *
const VLCMetaInformationTrackNumber;
44 extern NSString *
const VLCMetaInformationDescription;
45 extern NSString *
const VLCMetaInformationRating;
46 extern NSString *
const VLCMetaInformationDate;
47 extern NSString *
const VLCMetaInformationSetting;
48 extern NSString *
const VLCMetaInformationURL;
49 extern NSString *
const VLCMetaInformationLanguage;
50 extern NSString *
const VLCMetaInformationNowPlaying;
51 extern NSString *
const VLCMetaInformationPublisher;
52 extern NSString *
const VLCMetaInformationEncodedBy;
53 extern NSString *
const VLCMetaInformationArtworkURL;
54 extern NSString *
const VLCMetaInformationArtwork;
55 extern NSString *
const VLCMetaInformationTrackID;
56 extern NSString *
const VLCMetaInformationTrackTotal;
57 extern NSString *
const VLCMetaInformationDirector;
58 extern NSString *
const VLCMetaInformationSeason;
59 extern NSString *
const VLCMetaInformationEpisode;
60 extern NSString *
const VLCMetaInformationShowName;
61 extern NSString *
const VLCMetaInformationActors;
62 extern NSString *
const VLCMetaInformationAlbumArtist;
63 extern NSString *
const VLCMetaInformationDiscNumber;
69 extern NSString *
const VLCMediaMetaChanged;
75 typedef NS_ENUM(NSInteger, VLCMediaState) {
76 VLCMediaStateNothingSpecial,
77 VLCMediaStateBuffering,
86 @protocol VLCMediaDelegate <NSObject>
95 - (void)mediaMetaDataDidChange:(
VLCMedia *)aMedia;
102 - (void)mediaDidFinishParsing:(
VLCMedia *)aMedia;
121 + (instancetype)mediaWithURL:(NSURL *)anURL;
129 + (instancetype)mediaWithPath:(NSString *)aPath;
137 + (NSString *)codecNameForFourCC:(uint32_t)fourcc trackType:(NSString *)trackType;
146 + (instancetype)mediaAsNodeWithName:(NSString *)aName;
154 - (instancetype)initWithURL:(NSURL *)anURL;
161 - (instancetype)initWithPath:(NSString *)aPath;
168 - (instancetype)initAsNodeWithName:(NSString *)aName;
173 typedef NS_ENUM(NSUInteger, VLCMediaOrientation) {
174 VLCMediaOrientationTopLeft,
175 VLCMediaOrientationTopRight,
176 VLCMediaOrientationBottomLeft,
177 VLCMediaOrientationBottomRight,
178 VLCMediaOrientationLeftTop,
179 VLCMediaOrientationLeftBottom,
180 VLCMediaOrientationRightTop,
181 VLCMediaOrientationRightBottom
187 typedef NS_ENUM(NSUInteger, VLCMediaProjection) {
188 VLCMediaProjectionRectangular,
189 VLCMediaProjectionEquiRectangular,
190 VLCMediaProjectionCubemapLayoutStandard = 0x100
199 VLCMediaTypeDirectory,
202 VLCMediaTypePlaylist,
209 @property (readonly) VLCMediaType
mediaType;
220 - (NSComparisonResult)compare:(
VLCMedia *)media;
226 @property (nonatomic, weak) id<VLCMediaDelegate>
delegate;
243 - (
VLCTime *)lengthWaitUntilDate:(NSDate *)aDate;
249 @property (nonatomic, readonly) BOOL isParsed
__attribute__((deprecated));
254 typedef NS_ENUM(
unsigned, VLCMediaParsedStatus)
256 VLCMediaParsedStatusInit = 0,
257 VLCMediaParsedStatusSkipped,
258 VLCMediaParsedStatusFailed,
259 VLCMediaParsedStatusDone
264 @property (nonatomic, readonly) VLCMediaParsedStatus
parsedStatus;
269 @property (nonatomic, readonly, strong) NSURL *
url;
282 - (NSString *)metadataForKey:(NSString *)key;
290 - (void)setMetadata:(NSString *)data forKey:(NSString *)key;
306 @property (nonatomic, readonly) VLCMediaState
state;
501 VLCMediaParseLocal = 0x00,
502 VLCMediaParseNetwork = 0x01,
503 VLCMediaFetchLocal = 0x02,
504 VLCMediaFetchNetwork = 0x04,
545 - (void)addOptions:(NSDictionary*)options;
562 - (int)storeCookie:(NSString * _Nonnull)cookie
563 forHost:(NSString * _Nonnull)host
564 path:(NSString * _Nonnull)path;
580 @property (NS_NONATOMIC_IOSONLY, readonly, copy, nullable) NSDictionary *
stats;
582 #pragma mark - individual stats 669 NS_ASSUME_NONNULL_END