Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created December 31, 2024 11:41
Show Gist options
  • Save vs-mobiletools-engineering-service2/e01a5ca17c1f8e272d28e7cd1f47be75 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/e01a5ca17c1f8e272d28e7cd1f47be75 to your computer and use it in GitHub Desktop.
stable-api-comparison/diff/Microsoft.macOS.md

API diff: Microsoft.macOS.dll

Microsoft.macOS.dll

Namespace AVKit

Type Changed: AVKit.AVPlayerView

Added property:

public virtual AVVideoFrameAnalysisType VideoFrameAnalysisTypes { get; set; }

Namespace CoreFoundation

New Type: CoreFoundation.CFComparisonResult

[Serializable]
public enum CFComparisonResult {
	EqualTo = 0,
	GreaterThan = 1,
	LessThan = -1,
}

Namespace CoreMedia

Type Changed: CoreMedia.CMFormatDescription

Added property:

public CMTaggedBufferGroupFormatType TaggedBufferGroupFormatType { get; }

Type Changed: CoreMedia.CMMediaType

Added value:

TaggedBufferGroup = 1952606066,

Type Changed: CoreMedia.CMSampleBuffer

Added property:

public CMTaggedBufferGroup TaggedBufferGroup { get; }

Added methods:

public static CMSampleBuffer CreateWithNewTiming (CMSampleBuffer original, CMSampleTimingInfo[] timing, out int status);
public CMSampleTimingInfo[] GetSampleTimingInfo (out int status);

New Type: CoreMedia.CMPackingType

[Serializable]
public enum CMPackingType {
	None = 1852796517,
	OverUnder = 1870030194,
	SideBySide = 1936286821,
}

New Type: CoreMedia.CMProjectionType

[Serializable]
public enum CMProjectionType {
	Equirectangular = 1701934441,
	Fisheye = 1718186856,
	HalfEquirectangular = 1751478645,
	Rectangular = 1919247220,
}

New Type: CoreMedia.CMStereoViewComponents

[Serializable]
[Flags]
public enum CMStereoViewComponents {
	LeftEye = 1,
	None = 0,
	RightEye = 2,
}

New Type: CoreMedia.CMStereoViewInterpretationOptions

[Serializable]
[Flags]
public enum CMStereoViewInterpretationOptions {
	AdditionalViews = 2,
	Default = 0,
	StereoOrderReversed = 1,
}

New Type: CoreMedia.CMTag

public struct CMTag {
	// properties
	public CMTagCategory Category { get; }
	public CMTagDataType DataType { get; }
	public ulong FlagsValue { get; }
	public double Float64Value { get; }
	public bool HasFlagsValue { get; }
	public bool HasFloat64Value { get; }
	public bool HasInt64Value { get; }
	public bool HasOSTypeValue { get; }
	public long Int64Value { get; }
	public static CMTag Invalid { get; }
	public bool IsValid { get; }
	public static CMTag MediaSubTypeMebx { get; }
	public static CMTag MediaTypeAudio { get; }
	public static CMTag MediaTypeMetadata { get; }
	public static CMTag MediaTypeVideo { get; }
	public uint OSTypeValue { get; }
	public static CMTag PackingTypeNone { get; }
	public static CMTag PackingTypeOverUnder { get; }
	public static CMTag PackingTypeSideBySide { get; }
	public static CMTag ProjectionTypeEquirectangular { get; }
	public static CMTag ProjectionTypeFisheye { get; }
	public static CMTag ProjectionTypeHalfEquirectangular { get; }
	public static CMTag ProjectionTypeRectangular { get; }
	public static CMTag StereoInterpretationOrderReversed { get; }
	public static CMTag StereoLeftAndRightEye { get; }
	public static CMTag StereoLeftEye { get; }
	public static CMTag StereoNone { get; }
	public static CMTag StereoRightEye { get; }
	public ulong Value { get; }
	// methods
	public static CoreFoundation.CFComparisonResult Compare (CMTag tag1, CMTag tag2);
	public static CMTag? Create (Foundation.NSDictionary dictionary);
	public static CMTag CreateWithFlagsValue (CMTagCategory category, ulong flags);
	public static CMTag CreateWithFloat64Value (CMTagCategory category, double value);
	public static CMTag CreateWithOSTypeValue (CMTagCategory category, uint osTypeValue);
	public static CMTag CreateWithSInt64Value (CMTagCategory category, long value);
	public override bool Equals (object obj);
	public static bool Equals (CMTag tag1, CMTag tag2);
	public override int GetHashCode ();
	public Foundation.NSDictionary ToDictionary ();
	public override string ToString ();
}

New Type: CoreMedia.CMTagCategory

[Serializable]
public enum CMTagCategory {
	ChannelId = 1986226286,
	MediaSubType = 1836283234,
	MediaType = 1835297121,
	PackingType = 1885430635,
	PixelFormat = 1885960294,
	ProjectionType = 1886547818,
	StereoView = 1702454643,
	StereoViewInterpretation = 1702455664,
	TrackId = 1953653099,
	Undefined = 0,
	VideoLayerId = 1986814329,
}

New Type: CoreMedia.CMTagCollection

public class CMTagCollection : CoreFoundation.NativeObject {
	// properties
	public IntPtr Count { get; }
	public bool IsEmpty { get; }
	public CMTag[] Tags { get; }
	// methods
	public CMTagCollectionError Add (CMTag tag);
	public CMTagCollectionError Add (CMTagCollection collection);
	public CMTagCollectionError Add (CMTag[] tags);
	public void Apply (CMTagCollectionApplyFunction callback);
	public CMTag ApplyUntil (CMTagCollectionTagFilterFunction callback);
	public bool ContainsCategory (CMTagCategory category);
	public bool ContainsTag (CMTag tag);
	public bool ContainsTagCollection (CMTagCollection tagCollection);
	public bool ContainsTags (CMTag[] tags);
	public CMTagCollection Copy (out CMTagCollectionError status);
	public static CMTagCollection Create (CMTag[] tags);
	public static CMTagCollection Create (Foundation.NSData data, out CMTagCollectionError status);
	public static CMTagCollection Create (Foundation.NSDictionary dictionary, out CMTagCollectionError status);
	public static CMTagCollection Create (out CMTagCollectionError status, CMTag[] tags);
	public static CMTagCollection CreateMutable ();
	public static CMTagCollection CreateMutable (out CMTagCollectionError status);
	public static CMTagCollection CreateMutable (IntPtr capacity, out CMTagCollectionError status);
	public CMTagCollection CreateMutableCopy (out CMTagCollectionError status);
	public CMTagCollection CreateWithCopyOfTags (out CMTagCollectionError status, CMTagCategory[] categories);
	public CMTagCollection ExclusiveOr (CMTagCollection collection, out CMTagCollectionError status);
	public static CMTagCollection ExclusiveOr (CMTagCollection collection1, CMTagCollection collection2, out CMTagCollectionError status);
	public IntPtr GetCount (CMTagCategory category);
	public IntPtr GetCount (CMTagCollectionTagFilterFunction filter);
	public CMTag[] GetTags (CMTagCollectionTagFilterFunction filter);
	public CMTag[] GetTags (out CMTagCollectionError status);
	public CMTag[] GetTags (CMTagCategory category, out CMTagCollectionError status);
	public CMTagCollectionError GetTags (CMTag[] tags, IntPtr tagCount, out IntPtr tagsCopied);
	public CMTagCollectionError GetTags (CMTagCategory category, CMTag[] tags, IntPtr tagCount, out IntPtr tagsCopied);
	public CMTagCollectionError GetTags (CMTagCollectionTagFilterFunction filter, CMTag[] tags, IntPtr tagCount, out IntPtr tagsCopied);
	public static IntPtr GetTypeId ();
	public CMTagCollection Intersect (CMTagCollection collection, out CMTagCollectionError status);
	public static CMTagCollection Intersect (CMTagCollection collection1, CMTagCollection collection2, out CMTagCollectionError status);
	public CMTagCollectionError Remove (CMTag tag);
	public CMTagCollectionError RemoveAllTags ();
	public CMTagCollectionError RemoveAllTags (CMTagCategory category);
	public CMTagCollection Subtract (CMTagCollection collection, out CMTagCollectionError status);
	public static CMTagCollection Subtract (CMTagCollection collection1, CMTagCollection collection2, out CMTagCollectionError status);
	public Foundation.NSData ToData ();
	public Foundation.NSDictionary ToDictionary ();
	public override string ToString ();
	public CMTagCollection Union (CMTagCollection collection, out CMTagCollectionError status);
	public static CMTagCollection Union (CMTagCollection collection1, CMTagCollection collection2, out CMTagCollectionError status);
}

New Type: CoreMedia.CMTagCollectionApplyFunction

public sealed delegate CMTagCollectionApplyFunction : System.MulticastDelegate {
	// constructors
	public CMTagCollectionApplyFunction (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CMTag tag, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CMTag tag);
}

New Type: CoreMedia.CMTagCollectionError

[Serializable]
public enum CMTagCollectionError {
	AllocationFailed = -15741,
	ExhaustedBufferSize = -15748,
	InternalError = -15742,
	InvalidTag = -15743,
	InvalidTagCollectionData = -15745,
	InvalidTagCollectionDataVersion = -15747,
	InvalidTagCollectionDictionary = -15744,
	NotYetImplemented = -15749,
	ParamErr = -15740,
	Success = 0,
	TagNotFound = -15746,
}

New Type: CoreMedia.CMTagCollectionTagFilterFunction

public sealed delegate CMTagCollectionTagFilterFunction : System.MulticastDelegate {
	// constructors
	public CMTagCollectionTagFilterFunction (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CMTag tag, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (CMTag tag);
}

New Type: CoreMedia.CMTagDataType

[Serializable]
public enum CMTagDataType {
	Flags = 7,
	Float64 = 3,
	Invalid = 0,
	OSType = 5,
	SInt64 = 2,
}

New Type: CoreMedia.CMTagError

[Serializable]
public enum CMTagError {
	AllocationFailed = -15731,
	ParamErr = -15730,
	Success = 0,
}

New Type: CoreMedia.CMTaggedBufferGroup

public class CMTaggedBufferGroup : CoreFoundation.NativeObject {
	// properties
	public IntPtr Count { get; }
	// methods
	public static CMTaggedBufferGroup Combine (CMTaggedBufferGroup[] groups);
	public static CMTaggedBufferGroup Combine (out CMTaggedBufferGroupError status, CMTaggedBufferGroup[] groups);
	public static CMTaggedBufferGroup Create (CMTagCollection[] tagCollections, CoreFoundation.NativeObject[] buffers, out CMTaggedBufferGroupError status);
	public static CMTaggedBufferGroup Create (CMTagCollection[] tagCollections, CMSampleBuffer[] buffers, out CMTaggedBufferGroupError status);
	public static CMTaggedBufferGroup Create (CMTagCollection[] tagCollections, CoreVideo.CVPixelBuffer[] buffers, out CMTaggedBufferGroupError status);
	public CMFormatDescription CreateFormatDescription (out CMTaggedBufferGroupError status);
	public CMSampleBuffer CreateSampleBuffer (CMTime sampleBufferPts, CMTime sampleBufferDuration, CMFormatDescription formatDescription, out CMTaggedBufferGroupError status);
	public IntPtr GetNumberOfMatches (CMTagCollection tagCollection);
	public CoreVideo.CVPixelBuffer GetPixelBuffer (IntPtr index);
	public CoreVideo.CVPixelBuffer GetPixelBuffer (CMTag tag, out IntPtr index);
	public CoreVideo.CVPixelBuffer GetPixelBuffer (CMTagCollection tagCollection, out IntPtr index);
	public CMSampleBuffer GetSampleBuffer (IntPtr index);
	public CMSampleBuffer GetSampleBuffer (CMTag tag, out IntPtr index);
	public CMSampleBuffer GetSampleBuffer (CMTagCollection tagCollection, out IntPtr index);
	public CMTagCollection GetTagCollection (IntPtr index);
	public static CMTaggedBufferGroup GetTaggedBufferGroup (CMSampleBuffer sampleBuffer);
	public static IntPtr GetTypeId ();
	public bool Matches (CMFormatDescription formatDescription);
}

New Type: CoreMedia.CMTaggedBufferGroupError

[Serializable]
public enum CMTaggedBufferGroupError {
	AllocationFailed = -15781,
	InternalError = -15782,
	ParamErr = -15780,
	Success = 0,
}

New Type: CoreMedia.CMTaggedBufferGroupFormatType

[Serializable]
public enum CMTaggedBufferGroupFormatType {
	TaggedBufferGroup = 1952606066,
}

Namespace Foundation

Type Changed: Foundation.NSAttributedString

Obsoleted constructors:

 [Obsolete ("Use the 'Create' method instead, because there's no way to return an error from a constructor.")]
 public NSAttributedString (NSData data, out NSError error);
 [Obsolete ("Use the 'Create' method instead, because there's no way to return an error from a constructor.")]
 public NSAttributedString (NSUrl url, out NSError error);
 [Obsolete ("Use the 'Create' method instead, because there's no way to return an error from a constructor.")]
 public NSAttributedString (NSData data, NSAttributedStringDocumentAttributes documentAttributes, out NSError error);
 [Obsolete ("Use the 'Create' method instead, because there's no way to return an error from a constructor.")]
 public NSAttributedString (NSUrl url, NSAttributedStringDocumentAttributes documentAttributes, out NSError error);
 [Obsolete ("Use the 'Create' method instead, because there's no way to return an error from a constructor.")]
 public NSAttributedString (NSData markdown, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);
 [Obsolete ("Use the 'Create' method instead, because there's no way to return an error from a constructor.")]
 public NSAttributedString (NSUrl markdownFile, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);
 [Obsolete ("Use the 'Create' method instead, because there's no way to return an error from a constructor.")]
 public NSAttributedString (string markdownString, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);

Added methods:

public static NSAttributedString Create (NSData data, out NSError error);
public static NSAttributedString Create (NSUrl url, out NSError error);
public static NSAttributedString Create (NSData data, NSAttributedStringDocumentAttributes options, out NSError error);
public static NSAttributedString Create (NSUrl url, NSAttributedStringDocumentAttributes options, out NSError error);
public static NSAttributedString Create (NSData markdown, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);
public static NSAttributedString Create (NSUrl markdownFile, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);
public static NSAttributedString Create (string markdownString, NSAttributedStringMarkdownParsingOptions options, NSUrl baseUrl, out NSError error);

Type Changed: Foundation.RegisterAttribute

Added property:

public bool IsStubClass { get; set; }

Namespace ObjCBindings

Type Changed: ObjCBindings.EnumValue

Removed value:

None = 0,

Added value:

Default = 0,

Type Changed: ObjCBindings.Field

Removed value:

None = 0,

Added value:

Default = 0,

New Type: ObjCBindings.BindingTypeAttribute`1

public class BindingTypeAttribute`1 : System.Attribute {
	// constructors
	public BindingTypeAttribute`1 ();
	// properties
	public T Flags { get; set; }
	public string Name { get; set; }
}

New Type: ObjCBindings.Category

[Serializable]
[Flags]
public enum Category {
	Default = 0,
}

New Type: ObjCBindings.Class

[Serializable]
[Flags]
public enum Class {
	Default = 0,
	DisableDefaultCtor = 4,
}

New Type: ObjCBindings.Protocol

[Serializable]
[Flags]
public enum Protocol {
	Default = 0,
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string Version = "15.2.9170";
+public const string Version = "15.2.9179";

Type Changed: ObjCRuntime.Dlfcn

Added method:

public static T GetStruct<T> (IntPtr handle, string symbol);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment