-
Notifications
You must be signed in to change notification settings - Fork 142
Spec promise<bool> IsConfigSupported() #98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2612684 Commit-Queue: Chrome Cunningham <[email protected]> Reviewed-by: Thomas Guilbert <[email protected]> Cr-Commit-Position: refs/heads/master@{#841376}
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2612684 Commit-Queue: Chrome Cunningham <[email protected]> Reviewed-by: Thomas Guilbert <[email protected]> Cr-Commit-Position: refs/heads/master@{#841376}
…(), a=testonly Automatic update from web-platform-tests Implement VideoDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2612684 Commit-Queue: Chrome Cunningham <[email protected]> Reviewed-by: Thomas Guilbert <[email protected]> Cr-Commit-Position: refs/heads/master@{#841376} -- wpt-commits: e265ce28838b485f20b11aee723486a035715216 wpt-pr: 27055
…(), a=testonly Automatic update from web-platform-tests Implement VideoDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2612684 Commit-Queue: Chrome Cunningham <[email protected]> Reviewed-by: Thomas Guilbert <[email protected]> Cr-Commit-Position: refs/heads/master@{#841376} -- wpt-commits: e265ce28838b485f20b11aee723486a035715216 wpt-pr: 27055
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <[email protected]> Commit-Queue: Chrome Cunningham <[email protected]> Cr-Commit-Position: refs/heads/master@{#842153}
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <[email protected]> Commit-Queue: Chrome Cunningham <[email protected]> Cr-Commit-Position: refs/heads/master@{#842153}
…(), a=testonly Automatic update from web-platform-tests Implement VideoDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2612684 Commit-Queue: Chrome Cunningham <chcunninghamchromium.org> Reviewed-by: Thomas Guilbert <tguilbertchromium.org> Cr-Commit-Position: refs/heads/master{#841376} -- wpt-commits: e265ce28838b485f20b11aee723486a035715216 wpt-pr: 27055 UltraBlame original commit: 4df452a17a2f953d1ab68743d1fd7c03e3c30a7e
API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <[email protected]> Commit-Queue: Chrome Cunningham <[email protected]> Cr-Commit-Position: refs/heads/master@{#842153}
…(), a=testonly Automatic update from web-platform-tests Implement AudioDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <[email protected]> Commit-Queue: Chrome Cunningham <[email protected]> Cr-Commit-Position: refs/heads/master@{#842153} -- wpt-commits: 87bcad098015a7b983d29b13d2e64f33b93fbc85 wpt-pr: 27135
…(), a=testonly Automatic update from web-platform-tests Implement AudioDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <tguilbertchromium.org> Commit-Queue: Chrome Cunningham <chcunninghamchromium.org> Cr-Commit-Position: refs/heads/master{#842153} -- wpt-commits: 87bcad098015a7b983d29b13d2e64f33b93fbc85 wpt-pr: 27135 UltraBlame original commit: e37260abb59bac6743b881820b45f60857c6bab7
…(), a=testonly Automatic update from web-platform-tests Implement AudioDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <[email protected]> Commit-Queue: Chrome Cunningham <[email protected]> Cr-Commit-Position: refs/heads/master@{#842153} -- wpt-commits: 87bcad098015a7b983d29b13d2e64f33b93fbc85 wpt-pr: 27135
…(), a=testonly Automatic update from web-platform-tests Implement AudioDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <tguilbertchromium.org> Commit-Queue: Chrome Cunningham <chcunninghamchromium.org> Cr-Commit-Position: refs/heads/master{#842153} -- wpt-commits: 87bcad098015a7b983d29b13d2e64f33b93fbc85 wpt-pr: 27135 UltraBlame original commit: 90e13b80191eac0e913da8f1b39931f37c74b11c
Whether a configuration is supported is a dynamic affair, not a static one. There is a gap of time in between getting the answer and calling configure. If we have two calls, then it's well possible that the first call is a success and the second one is a failure (say, going in battery saving mode, unplugging a GPU, driver issue, resource contention on hw codec, etc.), or the opposite. We can decide to do it, but this needs to be clear (as an informative |
Removing the promise from configure() was a huge improvement to complexity and removed a lot of edge cases for the Chrome implementation. Specifically:
I vote that isConfigSupported() should be best-effort indication. |
+1. I'll update the PR accordingly. |
…(), a=testonly Automatic update from web-platform-tests Implement VideoDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3e53da5961119b4b36ec76666ad1a67cca19b963 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2612684 Commit-Queue: Chrome Cunningham <[email protected]> Reviewed-by: Thomas Guilbert <[email protected]> Cr-Commit-Position: refs/heads/master@{#841376} -- wpt-commits: e265ce28838b485f20b11aee723486a035715216 wpt-pr: 27055
…(), a=testonly Automatic update from web-platform-tests Implement AudioDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <[email protected]> Commit-Queue: Chrome Cunningham <[email protected]> Cr-Commit-Position: refs/heads/master@{#842153} -- wpt-commits: 87bcad098015a7b983d29b13d2e64f33b93fbc85 wpt-pr: 27135
…(), a=testonly Automatic update from web-platform-tests Implement AudioDecoder.isConfigSupported() API and motivations described here: w3c/webcodecs#98 Spec PR here: w3c/webcodecs#120 Bug: 1141707 Test: new layout tests Change-Id: I3a0f3cbc2bb64a86dcefdc454d6b03e72d3f36bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622421 Reviewed-by: Thomas Guilbert <[email protected]> Commit-Queue: Chrome Cunningham <[email protected]> Cr-Commit-Position: refs/heads/master@{#842153} -- wpt-commits: 87bcad098015a7b983d29b13d2e64f33b93fbc85 wpt-pr: 27135
This tracks spec work to offer a static asynchronous API to check whether a given configuration is supported.
Calling configure() with a valid but unsupported configuration will trigger a fatal error (see #53) via the error callback. Validity can be assessed synchronously and throw an exception. Support is harder because it may require async checks (e.g. if a given codec is only available via hardware acceleration, such acceleration typically happens in a separate process and may require IPC to verify details of support).
Our first thought was to have configure() return a promise, but this has a few drawbacks:
So instead we offer this static async API which users should call prior to calling configure().
The text was updated successfully, but these errors were encountered: