Skip to content

[VideoToolbox] Update bindings up to Xcode 27 Beta 3#25990

Merged
dalexsoto merged 2 commits into
xcode27.0from
xc27-videotoolbox
Jul 9, 2026
Merged

[VideoToolbox] Update bindings up to Xcode 27 Beta 3#25990
dalexsoto merged 2 commits into
xcode27.0from
xc27-videotoolbox

Conversation

@dalexsoto

Copy link
Copy Markdown
Member

Bind the missing VideoToolbox APIs for Xcode 27 (SDK 27.0):

  • kVTCompressionPreset_ConsistentQuality
  • kVTCompressionPropertyKey_ConstantQualityFactor
  • kVTCompressionPropertyKey_LogTransferFunction
  • kVTProjectionKind_AppleImmersiveVideo (not available on tvOS)
  • +[VTLowLatencyFrameInterpolationConfiguration maximumDimensionForSpatialScaleFactor:]
  • +[VTLowLatencyFrameInterpolationConfiguration maximumPixelCountForSpatialScaleFactor:]

Remove the resolved xtro .todo entries and add the corresponding Documentation.KnownFailures.txt entries for the new public members.

Bind the missing VideoToolbox APIs for Xcode 27 (SDK 27.0):

* kVTCompressionPreset_ConsistentQuality
* kVTCompressionPropertyKey_ConstantQualityFactor
* kVTCompressionPropertyKey_LogTransferFunction
* kVTProjectionKind_AppleImmersiveVideo (not available on tvOS)
* +[VTLowLatencyFrameInterpolationConfiguration maximumDimensionForSpatialScaleFactor:]
* +[VTLowLatencyFrameInterpolationConfiguration maximumPixelCountForSpatialScaleFactor:]

Remove the resolved xtro .todo entries and add the corresponding
Documentation.KnownFailures.txt entries for the new public members.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the VideoToolbox bindings to cover newly exposed SDK 27.0 (Xcode 27 beta 3) APIs, and synchronizes the repository’s annotation/documentation test baselines accordingly.

Changes:

  • Added new VTCompression* preset/property bindings (including new preset dictionaries + compression property keys).
  • Added the new VTProjectionKind.AppleImmersiveVideo smart-enum value (not on tvOS) and new VTLowLatencyFrameInterpolationConfiguration static query APIs.
  • Removed now-resolved xtro-sharpie .todo entries and added corresponding Documentation.KnownFailures.txt entries for the new public surface area.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/videotoolbox.cs Adds the new VideoToolbox constants/properties/enum value and two new static selector bindings for SDK 27.0.
tests/cecil-tests/Documentation.KnownFailures.txt Registers documentation known-failures for the newly introduced public members so cecil documentation tests stay in sync.
tests/xtro-sharpie/api-annotations-dotnet/iOS-VideoToolbox.todo Removes resolved missing-binding entries for iOS.
tests/xtro-sharpie/api-annotations-dotnet/tvOS-VideoToolbox.todo Removes resolved missing-binding entries for tvOS.
tests/xtro-sharpie/api-annotations-dotnet/macOS-VideoToolbox.todo Removes resolved missing-binding entries for macOS.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-VideoToolbox.todo Removes resolved missing-binding entries for Mac Catalyst.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #c660dfb] Build passed (Build packages) ✅

Pipeline on Agent
Hash: c660dfba9b2a20326ed3a5295c6bf40793472792 [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [CI Build #c660dfb] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: c660dfba9b2a20326ed3a5295c6bf40793472792 [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@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: c660dfba9b2a20326ed3a5295c6bf40793472792 [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [CI Build #c660dfb] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: c660dfba9b2a20326ed3a5295c6bf40793472792 [PR build]

Comment thread src/videotoolbox.cs
[TV (27, 0), MacCatalyst (27, 0), Mac (27, 0), iOS (27, 0)]
// not strongly typed to CMFormatDescriptionLogTransferFunction because other values are allowed as well
[Export ("LogTransferFunction")]
string LogTransferFunction { get; set; }

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should have a strongly typed LogTransferFunction, and then a WeakLogTransferFunction as well? NBD either way.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot file an issue so we do not forget

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filed #26006 to track adding a strongly typed LogTransferFunction (with WeakLogTransferFunction) using CMFormatDescriptionLogTransferFunction.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🔥 [CI Build #c660dfb] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

1 tests crashed, 0 tests failed, 191 tests passed.

Failures

❌ Tests on macOS Golden Gate (27) tests

🔥 Failed catastrophically on VSTS: test results - mac_golden_gate (no summary found).

Html Report (VSDrops) Download

Successes

✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): 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
✅ linker (iOS): All 15 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 15 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 18 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 17 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 18 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 18 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: c660dfba9b2a20326ed3a5295c6bf40793472792 [PR build]

@dalexsoto dalexsoto merged commit b1feb51 into xcode27.0 Jul 9, 2026
63 checks passed
@dalexsoto dalexsoto deleted the xc27-videotoolbox branch July 9, 2026 11:54
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.

5 participants