Skip to content

test: device.supportsOutput should respect `PhotoOutputOptions.cont…#1

Open
Jakef14 wants to merge 1 commit into
mainfrom
fix/supports-output-container-format-repro
Open

test: device.supportsOutput should respect `PhotoOutputOptions.cont…#1
Jakef14 wants to merge 1 commit into
mainfrom
fix/supports-output-container-format-repro

Conversation

@Jakef14
Copy link
Copy Markdown
Owner

@Jakef14 Jakef14 commented May 20, 2026

…ainerFormat`

Adds a failing harness test that pins the cross-field invariant: if device.supportsOutput(photoOutput) returns true, then session.configure([{ input: device, outputs: [{ output: photoOutput }] }]) must succeed.

Today supportsOutput does not consider PhotoOutputOptions.containerFormat. On iOS front cameras, RAW/DNG capture is not supported, but supportsOutput still returns true for a photo output created with containerFormat: 'dng', and the subsequent configure(...) throws at session-build time. High-level APIs that probe supportsOutput upfront (e.g. <Camera>) therefore fail to gate on an unsupported configuration.

The test soft-skips on devices where supportsOutput honestly returns false (the fixed end state), and hard-fails on the iOS-front-DNG repro.

…ainerFormat`

Adds a failing harness test that pins the cross-field invariant: if
`device.supportsOutput(photoOutput)` returns `true`, then
`session.configure([{ input: device, outputs: [{ output: photoOutput }] }])`
must succeed.

Today `supportsOutput` does not consider `PhotoOutputOptions.containerFormat`.
On iOS front cameras, RAW/DNG capture is not supported, but `supportsOutput`
still returns `true` for a photo output created with `containerFormat: 'dng'`,
and the subsequent `configure(...)` throws at session-build time. High-level
APIs that probe `supportsOutput` upfront (e.g. `<Camera>`) therefore fail
to gate on an unsupported configuration.

The test soft-skips on devices where `supportsOutput` honestly returns
`false` (the fixed end state), and hard-fails on the iOS-front-DNG repro.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants