diff --git a/src/coremedia.cs b/src/coremedia.cs index cb0fe12b9e7..70ffc1637bc 100644 --- a/src/coremedia.cs +++ b/src/coremedia.cs @@ -187,6 +187,169 @@ enum CMFormatDescriptionChromaLocation { DV420, } + /// Provides vendor identifiers for media format descriptions. + [MacCatalyst (13, 1)] + [Static] + interface CMFormatDescriptionVendor { + [Field ("kCMFormatDescriptionVendor_Apple")] + NSString Apple { get; } + } + + /// Provides keys for color components in text format description dictionaries. + [MacCatalyst (13, 1)] + [Static] + interface CMTextFormatDescriptionColor { + [Field ("kCMTextFormatDescriptionColor_Red")] + NSString Red { get; } + + [Field ("kCMTextFormatDescriptionColor_Green")] + NSString Green { get; } + + [Field ("kCMTextFormatDescriptionColor_Blue")] + NSString Blue { get; } + + [Field ("kCMTextFormatDescriptionColor_Alpha")] + NSString Alpha { get; } + } + + /// Provides keys for the edges of a text format description's default text box. + [MacCatalyst (13, 1)] + [Static] + interface CMTextFormatDescriptionRect { + [Field ("kCMTextFormatDescriptionRect_Top")] + NSString Top { get; } + + [Field ("kCMTextFormatDescriptionRect_Left")] + NSString Left { get; } + + [Field ("kCMTextFormatDescriptionRect_Bottom")] + NSString Bottom { get; } + + [Field ("kCMTextFormatDescriptionRect_Right")] + NSString Right { get; } + } + + /// Provides keys for default text styles in text format descriptions. + [MacCatalyst (13, 1)] + [Static] + interface CMTextFormatDescriptionStyle { + [Field ("kCMTextFormatDescriptionStyle_StartChar")] + NSString StartChar { get; } + + [Field ("kCMTextFormatDescriptionStyle_Font")] + NSString Font { get; } + + [Field ("kCMTextFormatDescriptionStyle_FontFace")] + NSString FontFace { get; } + + [Field ("kCMTextFormatDescriptionStyle_ForegroundColor")] + NSString ForegroundColor { get; } + + [Field ("kCMTextFormatDescriptionStyle_FontSize")] + NSString FontSize { get; } + + [Field ("kCMTextFormatDescriptionStyle_EndChar")] + NSString EndChar { get; } + + [Field ("kCMTextFormatDescriptionStyle_Height")] + NSString Height { get; } + + [Field ("kCMTextFormatDescriptionStyle_Ascent")] + NSString Ascent { get; } + } + + /// Provides extension keys for QuickTime and 3GPP text format descriptions. + [MacCatalyst (13, 1)] + [Static] + interface CMTextFormatDescriptionExtension { + [Field ("kCMTextFormatDescriptionExtension_DisplayFlags")] + NSString DisplayFlags { get; } + + [Field ("kCMTextFormatDescriptionExtension_BackgroundColor")] + NSString BackgroundColor { get; } + + [Field ("kCMTextFormatDescriptionExtension_DefaultTextBox")] + NSString DefaultTextBox { get; } + + [Field ("kCMTextFormatDescriptionExtension_DefaultStyle")] + NSString DefaultStyle { get; } + + [Field ("kCMTextFormatDescriptionExtension_HorizontalJustification")] + NSString HorizontalJustification { get; } + + [Field ("kCMTextFormatDescriptionExtension_VerticalJustification")] + NSString VerticalJustification { get; } + + [Field ("kCMTextFormatDescriptionExtension_FontTable")] + NSString FontTable { get; } + + [Field ("kCMTextFormatDescriptionExtension_TextJustification")] + NSString TextJustification { get; } + + [Field ("kCMTextFormatDescriptionExtension_DefaultFontName")] + NSString DefaultFontName { get; } + } + + /// Provides extension keys for time-code format descriptions. + [MacCatalyst (13, 1)] + [Static] + interface CMTimeCodeFormatDescriptionExtension { + [Field ("kCMTimeCodeFormatDescriptionExtension_SourceReferenceName")] + NSString SourceReferenceName { get; } + } + + /// Provides keys for a time-code format description's source reference name dictionary. + [MacCatalyst (13, 1)] + [Static] + interface CMTimeCodeFormatDescriptionKeys { + [Field ("kCMTimeCodeFormatDescriptionKey_Value")] + NSString Value { get; } + + [Field ("kCMTimeCodeFormatDescriptionKey_LangCode")] + NSString LangCode { get; } + } + + /// Specifies the serialization format for image descriptions. + [MacCatalyst (13, 1)] + enum CMImageDescriptionFlavor { + /// The QuickTime Movie image description format. + [Field ("kCMImageDescriptionFlavor_QuickTimeMovie")] + QuickTimeMovie, + + /// The ISO family sample description format used in MP4 files. + [Field ("kCMImageDescriptionFlavor_ISOFamily")] + IsoFamily, + + /// The ISO family sample description format with additional rules for 3GPP files. + [Field ("kCMImageDescriptionFlavor_3GPFamily")] + ThreeGPFamily, + + /// The ISO family sample description format with Apple extensions for M4A, M4B, and M4V files. + [iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] + [Field ("kCMImageDescriptionFlavor_ISOFamilyWithAppleExtensions")] + IsoFamilyWithAppleExtensions, + } + + /// Specifies the serialization format for sound descriptions. + [MacCatalyst (13, 1)] + enum CMSoundDescriptionFlavor { + /// The most backward-compatible QuickTime Movie sound description format, using version 1 where possible. + [Field ("kCMSoundDescriptionFlavor_QuickTimeMovie")] + QuickTimeMovie, + + /// The QuickTime Movie version 2 sound description format, without the legacy constant-bit-rate layout. + [Field ("kCMSoundDescriptionFlavor_QuickTimeMovieV2")] + QuickTimeMovieV2, + + /// The ISO family sample description format used in MP4 and M4A files. + [Field ("kCMSoundDescriptionFlavor_ISOFamily")] + IsoFamily, + + /// The ISO family sample description format with additional rules for 3GPP files. + [Field ("kCMSoundDescriptionFlavor_3GPFamily")] + ThreeGPFamily, + } + enum CMMPEG2VideoProfile : int { HDV_720p30 = 0x68647631, // 'hdv1' HDV_1080i60 = 0x68647632, // 'hdv2' diff --git a/tests/xtro-sharpie/api-annotations-dotnet/common-CoreMedia.ignore b/tests/xtro-sharpie/api-annotations-dotnet/common-CoreMedia.ignore index 6cb3cedb35f..ba3b4b3294a 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/common-CoreMedia.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/common-CoreMedia.ignore @@ -1,9 +1,4 @@ !missing-enum! CMTimeFlags not bound -!missing-field! kCMFormatDescriptionVendor_Apple not bound -!missing-field! kCMImageDescriptionFlavor_3GPFamily not bound -!missing-field! kCMImageDescriptionFlavor_ISOFamily not bound -!missing-field! kCMImageDescriptionFlavor_QuickTimeMovie not bound -!missing-field! kCMImageDescriptionFlavor_ISOFamilyWithAppleExtensions not bound !missing-field! kCMMetadataDataType_QuickTimeMetadataDirection not bound !missing-field! kCMMetadataDataType_QuickTimeMetadataLocation_ISO6709 not bound !missing-field! kCMMetadataFormatDescription_StructuralDependencyKey_DependencyIsInvalidFlag not bound @@ -34,35 +29,6 @@ !missing-field! kCMSampleBufferNotification_DataBecameReady not bound !missing-field! kCMSampleBufferNotification_DataFailed not bound !missing-field! kCMSampleBufferNotificationParameter_OSStatus not bound -!missing-field! kCMSoundDescriptionFlavor_3GPFamily not bound -!missing-field! kCMSoundDescriptionFlavor_ISOFamily not bound -!missing-field! kCMSoundDescriptionFlavor_QuickTimeMovie not bound -!missing-field! kCMSoundDescriptionFlavor_QuickTimeMovieV2 not bound -!missing-field! kCMTextFormatDescriptionColor_Alpha not bound -!missing-field! kCMTextFormatDescriptionColor_Blue not bound -!missing-field! kCMTextFormatDescriptionColor_Green not bound -!missing-field! kCMTextFormatDescriptionColor_Red not bound -!missing-field! kCMTextFormatDescriptionExtension_BackgroundColor not bound -!missing-field! kCMTextFormatDescriptionExtension_DefaultFontName not bound -!missing-field! kCMTextFormatDescriptionExtension_DefaultStyle not bound -!missing-field! kCMTextFormatDescriptionExtension_DefaultTextBox not bound -!missing-field! kCMTextFormatDescriptionExtension_DisplayFlags not bound -!missing-field! kCMTextFormatDescriptionExtension_FontTable not bound -!missing-field! kCMTextFormatDescriptionExtension_HorizontalJustification not bound -!missing-field! kCMTextFormatDescriptionExtension_TextJustification not bound -!missing-field! kCMTextFormatDescriptionExtension_VerticalJustification not bound -!missing-field! kCMTextFormatDescriptionRect_Bottom not bound -!missing-field! kCMTextFormatDescriptionRect_Left not bound -!missing-field! kCMTextFormatDescriptionRect_Right not bound -!missing-field! kCMTextFormatDescriptionRect_Top not bound -!missing-field! kCMTextFormatDescriptionStyle_Ascent not bound -!missing-field! kCMTextFormatDescriptionStyle_EndChar not bound -!missing-field! kCMTextFormatDescriptionStyle_Font not bound -!missing-field! kCMTextFormatDescriptionStyle_FontFace not bound -!missing-field! kCMTextFormatDescriptionStyle_FontSize not bound -!missing-field! kCMTextFormatDescriptionStyle_ForegroundColor not bound -!missing-field! kCMTextFormatDescriptionStyle_Height not bound -!missing-field! kCMTextFormatDescriptionStyle_StartChar not bound !missing-field! kCMTextMarkupAlignmentType_End not bound !missing-field! kCMTextMarkupAlignmentType_Left not bound !missing-field! kCMTextMarkupAlignmentType_Middle not bound @@ -99,9 +65,6 @@ !missing-field! kCMTimebaseNotification_EffectiveRateChanged not bound !missing-field! kCMTimebaseNotification_TimeJumped not bound !missing-field! kCMTimebaseNotificationKey_EventTime not bound -!missing-field! kCMTimeCodeFormatDescriptionExtension_SourceReferenceName not bound -!missing-field! kCMTimeCodeFormatDescriptionKey_LangCode not bound -!missing-field! kCMTimeCodeFormatDescriptionKey_Value not bound !missing-field! kCMTimeIndefinite not bound !missing-field! kCMTimeInvalid not bound !missing-field! kCMTimeNegativeInfinity not bound