Repository navigation
[CoreMedia] Bind missing format description constants. Fixes #7485 - #27176
rolfbjarne wants to merge 2 commits into
Conversation
Expose the vendor identifier, text color, rectangle, style, and extension keys, and time-code source reference keys as NSString constants on all four Apple platforms. Preserve the existing untyped Vendor property so custom four-character vendor identifiers remain supported. Add regression assertions for all 29 native constant values and remove their resolved xtro ignores. AudioChannelLayout already marshals native channel layouts, so the abandoned PR’s internal AudioChannelLayoutNative helper is not needed. Fixes #7485. Native symbol values and SDK declarations were checked locally; managed build and test execution are blocked by the unavailable required Xcode 27.1 and .NET 12 preview SDK, with the full build also reporting an outdated Xamarin.MacDev checkout. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f4688804-8c40-48a0-b1e6-3da1f78edfd4
Remove availability annotations older than the supported platform minimums while retaining explicit Mac Catalyst availability. Drop the constants-only regression test as requested; the test file now matches its pre-change contents. Bind all eight image and sound description flavor constants as documented smart enums and remove their xtro ignores. Keep iOS, tvOS, and Mac Catalyst 16.0 availability on the Apple-extension image flavor; its macOS introduction predates the supported minimum. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f4688804-8c40-48a0-b1e6-3da1f78edfd4
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the CoreMedia constants and smart-enum additions.
No open issues 🎉
What changed in this PR
Adds missing CoreMedia format description constants and smart enums to the Apple platform bindings, addressing #7485 while preserving support for custom vendor identifiers.
Changes:
- Exposes vendor, text-format, and time-code dictionary keys as
NSStringconstants. - Adds documented image and sound description flavor smart enums, including the ISO image flavor with Apple extensions.
- Removes 37 corresponding missing-field ignores.
| File | Description |
|---|---|
| tests/xtro-sharpie/api-annotations-dotnet/common-CoreMedia.ignore | Removes ignores for the newly bound constants. |
| src/coremedia.cs | Adds format description constants, flavor smart enums, and documentation. |
Review effort: Balanced
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
🔥 [CI Build #23ecb7a] Test results 🔥Test results❌ Tests failed on VSTS: test results 0 tests crashed, 3 tests failed, 214 tests passed. Failures❌ dotnettests tests (macOS)1 tests failed, 0 tests passed.Failed tests
Html Report (VSDrops) Download ❌ Tests on macOS Sonoma (14) tests1 tests failed, 4 tests passed.Failed tests
Html Report (VSDrops) Download ❌ Tests on macOS Sequoia (15) tests1 tests failed, 4 tests passed.Failed tests
Html Report (VSDrops) Download Successes✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
|
Expose the missing CoreMedia format description constants:
Keep the existing Vendor property untyped so callers can continue using custom vendor identifiers. AudioChannelLayout already handles native channel layout marshaling, so the internal AudioChannelLayoutNative helper from the abandoned PR is unnecessary.
Fixes #7485
🤖 Pull request created by Copilot