// Autogenerated from Pigeon (v3.1.0), do not edit directly. // See also: https://pub.dev/packages/pigeon #import @protocol FlutterBinaryMessenger; @protocol FlutterMessageCodec; @class FlutterError; @class FlutterStandardTypedData; NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSUInteger, StreamType) { StreamTypeInvalid = 0, StreamTypeNone = 1, StreamTypeBuffered = 2, StreamTypeLive = 3, }; typedef NS_ENUM(NSUInteger, MediaType) { MediaTypeGeneric = 0, MediaTypeMovie = 1, MediaTypeTvShow = 2, MediaTypeMusicTrack = 3, MediaTypePhoto = 4, MediaTypeAudiobookChapter = 5, MediaTypeUser = 6, }; typedef NS_ENUM(NSUInteger, MediaMetadataKey) { MediaMetadataKeyAlbumArtist = 0, MediaMetadataKeyAlbumTitle = 1, MediaMetadataKeyArtist = 2, MediaMetadataKeyBookTitle = 3, MediaMetadataKeyBroadcastDate = 4, MediaMetadataKeyChapterNumber = 5, MediaMetadataKeyChapterTitle = 6, MediaMetadataKeyComposer = 7, MediaMetadataKeyCreationDate = 8, MediaMetadataKeyDiscNumber = 9, MediaMetadataKeyEpisodeNumber = 10, MediaMetadataKeyHeight = 11, MediaMetadataKeyLocationLatitude = 12, MediaMetadataKeyLocationLongitude = 13, MediaMetadataKeyLocationName = 14, MediaMetadataKeyQueueItemId = 15, MediaMetadataKeyReleaseDate = 16, MediaMetadataKeySeasonNumber = 17, MediaMetadataKeySectionDuration = 18, MediaMetadataKeySectionStartAbsoluteTime = 19, MediaMetadataKeySectionStartTimeInContainer = 20, MediaMetadataKeySectionStartTimeInMedia = 21, MediaMetadataKeySeriesTitle = 22, MediaMetadataKeyStudio = 23, MediaMetadataKeySubtitle = 24, MediaMetadataKeyTitle = 25, MediaMetadataKeyTrackNumber = 26, MediaMetadataKeyWidth = 27, }; typedef NS_ENUM(NSUInteger, TrackType) { TrackTypeUnknown = 0, TrackTypeText = 1, TrackTypeAudio = 2, TrackTypeVideo = 3, }; typedef NS_ENUM(NSUInteger, TrackSubtype) { TrackSubtypeUnknown = 0, TrackSubtypeNone = 1, TrackSubtypeSubtitles = 2, TrackSubtypeCaptions = 3, TrackSubtypeDescriptions = 4, TrackSubtypeChapters = 5, TrackSubtypeMetadata = 6, }; typedef NS_ENUM(NSUInteger, PlayerState) { PlayerStateUnknown = 0, PlayerStateIdle = 1, PlayerStatePlaying = 2, PlayerStatePaused = 3, PlayerStateBuffering = 4, PlayerStateLoading = 5, }; @class MediaLoadRequestData; @class MediaInfo; @class MediaMetadata; @class WebImage; @class MediaTrack; @class MediaStatus; @class AdBreakStatus; @class AdBreakClipInfo; @class MediaQueueItem; @class CastDevice; @class CastMessage; @interface MediaLoadRequestData : NSObject + (instancetype)makeWithShouldAutoplay:(nullable NSNumber *)shouldAutoplay currentTime:(nullable NSNumber *)currentTime mediaInfo:(nullable MediaInfo *)mediaInfo; @property(nonatomic, strong, nullable) NSNumber * shouldAutoplay; @property(nonatomic, strong, nullable) NSNumber * currentTime; @property(nonatomic, strong, nullable) MediaInfo * mediaInfo; @end @interface MediaInfo : NSObject + (instancetype)makeWithContentId:(nullable NSString *)contentId streamType:(StreamType)streamType contentType:(nullable NSString *)contentType mediaMetadata:(nullable MediaMetadata *)mediaMetadata mediaTracks:(nullable NSArray *)mediaTracks streamDuration:(nullable NSNumber *)streamDuration adBreakClips:(nullable NSArray *)adBreakClips customDataAsJson:(nullable NSString *)customDataAsJson; @property(nonatomic, copy, nullable) NSString * contentId; @property(nonatomic, assign) StreamType streamType; @property(nonatomic, copy, nullable) NSString * contentType; @property(nonatomic, strong, nullable) MediaMetadata * mediaMetadata; @property(nonatomic, strong, nullable) NSArray * mediaTracks; @property(nonatomic, strong, nullable) NSNumber * streamDuration; @property(nonatomic, strong, nullable) NSArray * adBreakClips; @property(nonatomic, copy, nullable) NSString * customDataAsJson; @end @interface MediaMetadata : NSObject + (instancetype)makeWithMediaType:(MediaType)mediaType strings:(nullable NSDictionary *)strings webImages:(nullable NSArray *)webImages; @property(nonatomic, assign) MediaType mediaType; @property(nonatomic, strong, nullable) NSDictionary * strings; @property(nonatomic, strong, nullable) NSArray * webImages; @end @interface WebImage : NSObject + (instancetype)makeWithUrl:(nullable NSString *)url; @property(nonatomic, copy, nullable) NSString * url; @end @interface MediaTrack : NSObject + (instancetype)makeWithId:(nullable NSNumber *)id trackType:(TrackType)trackType name:(nullable NSString *)name trackSubtype:(TrackSubtype)trackSubtype contentId:(nullable NSString *)contentId language:(nullable NSString *)language; @property(nonatomic, strong, nullable) NSNumber * id; @property(nonatomic, assign) TrackType trackType; @property(nonatomic, copy, nullable) NSString * name; @property(nonatomic, assign) TrackSubtype trackSubtype; @property(nonatomic, copy, nullable) NSString * contentId; @property(nonatomic, copy, nullable) NSString * language; @end @interface MediaStatus : NSObject + (instancetype)makeWithPlayerState:(PlayerState)playerState isPlayingAd:(nullable NSNumber *)isPlayingAd mediaInfo:(nullable MediaInfo *)mediaInfo adBreakStatus:(nullable AdBreakStatus *)adBreakStatus; @property(nonatomic, assign) PlayerState playerState; @property(nonatomic, strong, nullable) NSNumber * isPlayingAd; @property(nonatomic, strong, nullable) MediaInfo * mediaInfo; @property(nonatomic, strong, nullable) AdBreakStatus * adBreakStatus; @end @interface AdBreakStatus : NSObject + (instancetype)makeWithAdBreakId:(nullable NSString *)adBreakId adBreakClipId:(nullable NSString *)adBreakClipId whenSkippableMs:(nullable NSNumber *)whenSkippableMs; @property(nonatomic, copy, nullable) NSString * adBreakId; @property(nonatomic, copy, nullable) NSString * adBreakClipId; @property(nonatomic, strong, nullable) NSNumber * whenSkippableMs; @end @interface AdBreakClipInfo : NSObject + (instancetype)makeWithId:(nullable NSString *)id title:(nullable NSString *)title contentId:(nullable NSString *)contentId contentUrl:(nullable NSString *)contentUrl clickThroughUrl:(nullable NSString *)clickThroughUrl durationMs:(nullable NSNumber *)durationMs imageUrl:(nullable NSString *)imageUrl mimeType:(nullable NSString *)mimeType whenSkippableMs:(nullable NSNumber *)whenSkippableMs; @property(nonatomic, copy, nullable) NSString * id; @property(nonatomic, copy, nullable) NSString * title; @property(nonatomic, copy, nullable) NSString * contentId; @property(nonatomic, copy, nullable) NSString * contentUrl; @property(nonatomic, copy, nullable) NSString * clickThroughUrl; @property(nonatomic, strong, nullable) NSNumber * durationMs; @property(nonatomic, copy, nullable) NSString * imageUrl; @property(nonatomic, copy, nullable) NSString * mimeType; @property(nonatomic, strong, nullable) NSNumber * whenSkippableMs; @end @interface MediaQueueItem : NSObject + (instancetype)makeWithItemId:(nullable NSNumber *)itemId playbackDuration:(nullable NSNumber *)playbackDuration startTime:(nullable NSNumber *)startTime media:(nullable MediaInfo *)media autoplay:(nullable NSNumber *)autoplay preloadTime:(nullable NSNumber *)preloadTime; @property(nonatomic, strong, nullable) NSNumber * itemId; @property(nonatomic, strong, nullable) NSNumber * playbackDuration; @property(nonatomic, strong, nullable) NSNumber * startTime; @property(nonatomic, strong, nullable) MediaInfo * media; @property(nonatomic, strong, nullable) NSNumber * autoplay; @property(nonatomic, strong, nullable) NSNumber * preloadTime; @end @interface CastDevice : NSObject + (instancetype)makeWithDeviceId:(nullable NSString *)deviceId friendlyName:(nullable NSString *)friendlyName modelName:(nullable NSString *)modelName; @property(nonatomic, copy, nullable) NSString * deviceId; @property(nonatomic, copy, nullable) NSString * friendlyName; @property(nonatomic, copy, nullable) NSString * modelName; @end @interface CastMessage : NSObject + (instancetype)makeWithNamespace:(nullable NSString *)namespace message:(nullable NSString *)message; @property(nonatomic, copy, nullable) NSString * namespace; @property(nonatomic, copy, nullable) NSString * message; @end /// The codec used by CastHostApi. NSObject *CastHostApiGetCodec(void); @protocol CastHostApi - (void)sendMessageMessage:(CastMessage *)message error:(FlutterError *_Nullable *_Nonnull)error; - (void)showCastDialogWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)setMuteMuted:(NSNumber *)muted error:(FlutterError *_Nullable *_Nonnull)error; /// @return `nil` only when `error != nil`. - (nullable CastDevice *)getCastDeviceWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)loadMediaLoadRequestDataRequest:(MediaLoadRequestData *)request error:(FlutterError *_Nullable *_Nonnull)error; /// @return `nil` only when `error != nil`. - (nullable MediaInfo *)getMediaInfoWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)playWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)pauseWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)stopWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)showTracksChooserDialogWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)skipAdWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)queueAppendItemItem:(MediaQueueItem *)item error:(FlutterError *_Nullable *_Nonnull)error; - (void)queueNextItemWithError:(FlutterError *_Nullable *_Nonnull)error; - (void)queuePrevItemWithError:(FlutterError *_Nullable *_Nonnull)error; /// @return `nil` only when `error != nil`. - (nullable NSNumber *)getQueueItemCountWithError:(FlutterError *_Nullable *_Nonnull)error; /// @return `nil` only when `error != nil`. - (nullable MediaQueueItem *)getQueueItemAtIndexIndex:(NSNumber *)index error:(FlutterError *_Nullable *_Nonnull)error; @end extern void CastHostApiSetup(id binaryMessenger, NSObject *_Nullable api); /// The codec used by CastFlutterApi. NSObject *CastFlutterApiGetCodec(void); @interface CastFlutterApi : NSObject - (instancetype)initWithBinaryMessenger:(id)binaryMessenger; - (void)getSessionMessageNamespacesWithCompletion:(void(^)(NSArray *_Nullable, NSError *_Nullable))completion; - (void)onCastStateChangedCastState:(NSNumber *)castState completion:(void(^)(NSError *_Nullable))completion; - (void)onMessageReceivedMessage:(CastMessage *)message completion:(void(^)(NSError *_Nullable))completion; - (void)onSessionStartingWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSessionStartedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSessionStartFailedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSessionEndingWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSessionEndedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSessionResumingWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSessionResumedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSessionResumeFailedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSessionSuspendedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onStatusUpdatedMediaStatus:(MediaStatus *)mediaStatus completion:(void(^)(NSError *_Nullable))completion; - (void)onMetadataUpdatedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onQueueStatusUpdatedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onPreloadStatusUpdatedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onSendingRemoteMediaRequestWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onAdBreakStatusUpdatedMediaStatus:(MediaStatus *)mediaStatus completion:(void(^)(NSError *_Nullable))completion; - (void)onMediaErrorWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)onProgressUpdatedProgressMs:(NSNumber *)progressMs durationMs:(NSNumber *)durationMs completion:(void(^)(NSError *_Nullable))completion; - (void)onAdBreakClipProgressUpdatedAdBreakId:(NSString *)adBreakId adBreakClipId:(NSString *)adBreakClipId progressMs:(NSNumber *)progressMs durationMs:(NSNumber *)durationMs whenSkippableMs:(NSNumber *)whenSkippableMs completion:(void(^)(NSError *_Nullable))completion; - (void)itemsInsertedInRangeInsertIndex:(NSNumber *)insertIndex insertCount:(NSNumber *)insertCount completion:(void(^)(NSError *_Nullable))completion; - (void)itemsReloadedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)itemsRemovedAtIndexesIndexes:(NSArray *)indexes completion:(void(^)(NSError *_Nullable))completion; - (void)itemsReorderedAtIndexesIndexes:(NSArray *)indexes insertBeforeIndex:(NSNumber *)insertBeforeIndex completion:(void(^)(NSError *_Nullable))completion; - (void)itemsUpdatedAtIndexesIndexes:(NSArray *)indexes completion:(void(^)(NSError *_Nullable))completion; - (void)mediaQueueChangedWithCompletion:(void(^)(NSError *_Nullable))completion; - (void)mediaQueueWillChangeWithCompletion:(void(^)(NSError *_Nullable))completion; @end NS_ASSUME_NONNULL_END