Skip to content

[CoreMediaIO] Add complete C# bindings for CoreMediaIO framework up to Xcode 26.4#25029

Draft
dalexsoto wants to merge 1 commit intomainfrom
dev/alex/CoreMediaIO
Draft

[CoreMediaIO] Add complete C# bindings for CoreMediaIO framework up to Xcode 26.4#25029
dalexsoto wants to merge 1 commit intomainfrom
dev/alex/CoreMediaIO

Conversation

@dalexsoto
Copy link
Copy Markdown
Member

Add bindings for the CoreMediaIO framework on macOS and Mac Catalyst:

  • 12 ObjC classes (CMIOExtensionClient, Device, Provider, Stream, etc.)
  • 3 protocols (CMIOExtensionStreamSource, DeviceSource, ProviderSource)
  • 3 enums (StreamDirection, StreamClockType, StreamDiscontinuityFlags)
  • ~52 NSString property fields (CMIOExtensionProperty* constants)
  • ~30 C P/Invoke declarations (CMIOObject*, CMIODevice*, CMIOStream*, CMIOSampleBuffer* hardware and sample buffer functions)
  • Async support for ConsumeSampleBuffer completion handler

Resolves all 423 .todo entries (211 macOS + 212 MacCatalyst).

Add bindings for the CoreMediaIO framework on macOS and Mac Catalyst:

- 12 ObjC classes (CMIOExtensionClient, Device, Provider, Stream, etc.)
- 3 protocols (CMIOExtensionStreamSource, DeviceSource, ProviderSource)
- 3 enums (StreamDirection, StreamClockType, StreamDiscontinuityFlags)
- ~52 NSString property fields (CMIOExtensionProperty* constants)
- ~30 C P/Invoke declarations (CMIOObject*, CMIODevice*, CMIOStream*,
  CMIOSampleBuffer* hardware and sample buffer functions)
- Async support for ConsumeSampleBuffer completion handler

Resolves all 423 .todo entries (211 macOS + 212 MacCatalyst).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [CI Build #1c52068] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 1c52068ed8d0086a5ba6a6d26155a8aef1ac6441 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #1c52068] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 1c52068ed8d0086a5ba6a6d26155a8aef1ac6441 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 1c52068ed8d0086a5ba6a6d26155a8aef1ac6441 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [CI Build #1c52068] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 1c52068ed8d0086a5ba6a6d26155a8aef1ac6441 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

🔥 [CI Build #1c52068] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

0 tests crashed, 6 tests failed, 150 tests passed.

Failures

❌ cecil tests

1 tests failed, 0 tests passed.

Failed tests

  • Cecil-based tests: Failed (Execution failed with exit code 1)
    • Cecil.Tests.Documentation.VerifyEveryVisibleMemberIsDocumented: Found 1 undocumented APIs (not known failures) and 0 APIs that were marked as known failures but are now documented. If this is ...

Html Report (VSDrops) Download

❌ dotnettests tests (MacCatalyst)

1 tests failed, 0 tests passed.

Failed tests

  • DotNet tests: Failed (Execution failed with exit code 1)
    • Xamarin.Tests.DotNetProjectTest.LinkedWithNativeLibraries(MacCat...: Frameworks
      Expected: equivalent to < "/System/iOSSupport/System/Library/Frameworks/AddressBook.framework/Versions/A/AddressB...

Html Report (VSDrops) Download

❌ dotnettests tests (macOS)

1 tests failed, 0 tests passed.

Failed tests

  • DotNet tests: Failed (Execution failed with exit code 1)
    • Xamarin.Tests.DotNetProjectTest.LinkedWithNativeLibraries(MacOSX...: Frameworks
      Expected: equivalent to < "@executable_path/../../Contents/MonoBundle/libclrgc.dylib", "@executable_path/../../Co...

Html Report (VSDrops) Download

❌ linker tests

1 tests failed, 43 tests passed.

Failed tests

  • dont link/macOS/Debug: BuildFailure

Html Report (VSDrops) Download

❌ Tests on macOS Monterey (12) tests

1 tests failed, 4 tests passed.

Failed tests

  • introspection: Failed (exit code 2)
    • FieldExists : 1 errors found in 7034 fields validated: kCMIOSampleBufferAttachmentKey_PixelBufferOverlaidByStaticImage
    • Could not find the field 'kCMIOSampleBufferAttachmentKey_PixelBufferOverlaidByStaticImage' in /System/Library/Frameworks/CoreMediaIO.framework/CoreMediaIO
    • NonNullNSStringFields : 1 errors found in 5226 fields validated: CoreMediaIO.CMIOSampleBufferAttachmentKeys.PixelBufferOverlaidByStaticImage
    • ... and 13 more failures

Html Report (VSDrops) Download

❌ Tests on macOS Ventura (13) tests

1 tests failed, 4 tests passed.

Failed tests

  • introspection: Failed (exit code 2)
    • FieldExists : 1 errors found in 7497 fields validated: kCMIOSampleBufferAttachmentKey_PixelBufferOverlaidByStaticImage
    • Could not find the field 'kCMIOSampleBufferAttachmentKey_PixelBufferOverlaidByStaticImage' in /System/Library/Frameworks/CoreMediaIO.framework/CoreMediaIO
    • NonNullNSStringFields : 1 errors found in 5447 fields validated: CoreMediaIO.CMIOSampleBufferAttachmentKeys.PixelBufferOverlaidByStaticImage
    • ... and 13 more failures

Html Report (VSDrops) Download

Successes

✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 11 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 12 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 11 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 1c52068ed8d0086a5ba6a6d26155a8aef1ac6441 [PR build]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants