15 #ifndef SHAKA_EMBEDDED_SHAKA_PLAYER_H_ 16 #define SHAKA_EMBEDDED_SHAKA_PLAYER_H_ 18 #import <AVFoundation/AVFoundation.h> 19 #import <Foundation/Foundation.h> 38 typedef NS_ENUM(NSInteger, ShakaPlayerLogLevel) {
40 ShakaPlayerLogLevelNone = 0,
41 ShakaPlayerLogLevelError = 1,
42 ShakaPlayerLogLevelWarning = 2,
43 ShakaPlayerLogLevelInfo = 3,
44 ShakaPlayerLogLevelDebug = 4,
45 ShakaPlayerLogLevelV1 = 5,
46 ShakaPlayerLogLevelV2 = 6
50 NS_ASSUME_NONNULL_BEGIN
79 @protocol ShakaPlayerClient <NSObject>
92 - (void)onPlayer:(
ShakaPlayer *)player bufferingChange:(BOOL)is_buffering;
115 - (void)onPlayerSeekingEvent:(
ShakaPlayer *)player;
130 - (void)onPlayerAttachSource:(
ShakaPlayer *)player;
144 @protocol ShakaPlayerNetworkFilter <NSObject>
158 ofType:(ShakaPlayerRequestType)type
171 ofType:(ShakaPlayerRequestType)type
237 - (nullable instancetype)initWithError:(NSError * _Nullable __autoreleasing * _Nullable)error NS_SWIFT_NAME(init());
241 @property (atomic, weak, nullable) id<ShakaPlayerClient>
client;
253 @property(atomic, readonly) BOOL
ended;
303 @property(atomic, readonly, nullable) AVPlayer *
avPlayer;
344 - (void)load:(NSString *)uri
345 withStartTime:(
double)startTime
360 - (void)configure:(const NSString *)namePath withBool:(BOOL)value;
370 - (void)configure:(const NSString *)namePath withDouble:(
double)value;
380 - (void)configure:(const NSString *)namePath withString:(const NSString *)value;
390 - (void)configure:(const NSString *)namePath withData:(NSData *)value;
399 - (void)configureWithDefault:(const NSString *)namePath;
408 - (BOOL)getConfigurationBool:(const NSString *)namePath;
417 - (double)getConfigurationDouble:(const NSString *)namePath;
426 - (nullable NSString *)getConfigurationString:(const NSString *)namePath;
433 - (void)selectAudioLanguage:(NSString *)language withRole:(nullable NSString *)role;
439 - (void)selectAudioLanguage:(NSString *)language;
445 - (void)selectTextLanguage:(NSString *)language withRole:(nullable NSString *)role;
451 - (void)selectTextLanguage:(NSString *)language;
457 - (void)selectTextTrack:(const
ShakaTrack *)track;
463 - (void)selectVariantTrack:(const
ShakaTrack *)track;
469 - (void)selectVariantTrack:(const
ShakaTrack *)track withClearBuffer:(BOOL)clear;
486 - (void)addTextTrack:(NSString *)uri
487 language:(NSString *)lang
488 kind:(NSString *)kind
489 mime:(NSString *)mime;
490 - (void)addTextTrack:(NSString *)uri
491 language:(NSString *)lang
492 kind:(NSString *)kind
493 mime:(NSString *)mime
494 codec:(nullable NSString *)codec;
495 - (void)addTextTrack:(NSString *)uri
496 language:(NSString *)lang
497 kind:(NSString *)kind
498 mime:(NSString *)mime
499 codec:(nullable NSString *)codec
500 label:(nullable NSString *)label;
507 - (void)addNetworkFilter:(
id<ShakaPlayerNetworkFilter>)filter;
510 - (void)removeNetworkFilter:(
id<ShakaPlayerNetworkFilter>)filter;
516 NS_ASSUME_NONNULL_END
517 #endif // SHAKA_EMBEDDED_SHAKA_PLAYER_H_ ShakaBufferedInfo * bufferedInfo
NSArray< ShakaLanguageRole * > * audioLanguagesAndRoles
NSArray< ShakaLanguageRole * > * textLanguagesAndRoles
void(^ ShakaPlayerAsyncBlock)(ShakaPlayerError *_Nullable)
id< ShakaPlayerClient > client
ShakaPlayerLogLevel logLevel
NSArray< ShakaTrack * > * getTextTracks()
NSString * ShakaPlayerAdvancedDrmConfig(const NSString *key_system, const NSString *config)
NS_ASSUME_NONNULL_BEGIN NSString * ShakaPlayerLicenseServerConfig(const NSString *key_system)
NSArray< ShakaTrack * > * getVariantTracks()
typedef NS_ENUM(NSInteger, ShakaPlayerLogLevel)
ShakaBufferedRange * seekRange
instancetype NS_UNAVAILABLE()