-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
fix: allow the playback on platforms when low latency APIs are not supported #4485
Conversation
The problem occurs in Chromium 43 to 65, the problem is that for this to work the ReadableStream API has to be supported and fetch has to be used and not xhr. Putting fetch as a condition does not seem the best because there may be user plugins that do support this functionality. |
Incremental code coverage: 61.11% |
cd96764
to
2d65a18
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm somewhat nervous about the duplication of what looks like subtle code ("if waitingToClearBuffer"), but it's probably fine.
const streamDataCallback = async (data) => { | ||
if (processingResult) { | ||
// If the fallback result processing was triggered, don't also |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Am I correct in my understanding, that this shouldn't happen? In theory, if the fallback has executed, the streamDataCallback shouldn't fire after that, correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The theory tells me that it should never happen, but... I have found a case in an old TV :(
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, yikes. Well, maybe add some mention of that in the comments. Otherwise, some well-meaning person might "optimize" this check away later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added!
Changes addressed, reviewed by Joey
🤖 I have created a release *beep* *boop* --- ## [3.2.13](v3.2.12...v3.2.13) (2022-10-07) ### Bug Fixes * allow build without text ([#4506](#4506)) ([5f3afd4](5f3afd4)) * allow the playback on platforms when low latency APIs are not supported ([#4485](#4485)) ([0239aa5](0239aa5)) * check for negative rows before moving ([#4510](#4510)) ([12e3305](12e3305)), closes [#4508](#4508) * Filter unsupported H.264 streams in Xbox ([#4493](#4493)) ([ea02766](ea02766)) * Fix hang when seeking to the last segment ([#4537](#4537)) ([951aaea](951aaea)) * Respect existing app usage of Cast SDK ([#4523](#4523)) ([da5fd15](da5fd15)), closes [#4521](#4521) * **ttml:** Default TTML background color to transparent if unspecified ([#4496](#4496)) ([0c6ad6d](0c6ad6d)), closes [#4468](#4468) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [3.3.11](v3.3.10...v3.3.11) (2022-10-07) ### Bug Fixes * allow build without text ([#4506](#4506)) ([5014c1d](5014c1d)) * allow the playback on platforms when low latency APIs are not supported ([#4485](#4485)) ([c0fc0b4](c0fc0b4)) * check for negative rows before moving ([#4510](#4510)) ([359b63e](359b63e)), closes [#4508](#4508) * Filter unsupported H.264 streams in Xbox ([#4493](#4493)) ([21ee94f](21ee94f)) * Fix hang when seeking to the last segment ([#4537](#4537)) ([2868e12](2868e12)) * Respect existing app usage of Cast SDK ([#4523](#4523)) ([d2258d6](d2258d6)), closes [#4521](#4521) * **ttml:** Default TTML background color to transparent if unspecified ([#4496](#4496)) ([862ee42](862ee42)), closes [#4468](#4468) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [4.1.5](v4.1.4...v4.1.5) (2022-10-07) ### Bug Fixes * allow build without text ([#4506](#4506)) ([1db6265](1db6265)) * allow the playback on platforms when low latency APIs are not supported ([#4485](#4485)) ([55d1390](55d1390)) * check for negative rows before moving ([#4510](#4510)) ([31abae3](31abae3)), closes [#4508](#4508) * Filter unsupported H.264 streams in Xbox ([#4493](#4493)) ([1ecede6](1ecede6)) * Fix choppy HLS startup ([#4553](#4553)) ([1675bff](1675bff)), closes [#4516](#4516) * Fix errors with TS segments on Chromecast ([#4543](#4543)) ([15a1c60](15a1c60)) * Fix hang when seeking to the last segment ([#4537](#4537)) ([72a119d](72a119d)) * Fix HLS dynamic to static transition ([932d37c](932d37c)) * Fix HLS dynamic to static transition ([#4483](#4483)) ([932d37c](932d37c)), closes [#4431](#4431) * Fix in-band key rotation on Xbox One ([#4478](#4478)) ([5a8f09c](5a8f09c)), closes [#4401](#4401) * Respect existing app usage of Cast SDK ([#4523](#4523)) ([9c3a494](9c3a494)), closes [#4521](#4521) * **ttml:** Default TTML background color to transparent if unspecified ([#4496](#4496)) ([16da1e7](16da1e7)), closes [#4468](#4468) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [4.2.2](v4.2.1...v4.2.2) (2022-10-07) ### Bug Fixes * allow build without text ([#4506](#4506)) ([7e93720](7e93720)) * allow the playback on platforms when low latency APIs are not supported ([#4485](#4485)) ([cf8c857](cf8c857)) * check for negative rows before moving ([#4510](#4510)) ([23f39d7](23f39d7)), closes [#4508](#4508) * Filter unsupported H.264 streams in Xbox ([#4493](#4493)) ([914a08a](914a08a)) * Fix choppy HLS startup ([#4553](#4553)) ([950ce69](950ce69)), closes [#4516](#4516) * Fix errors with TS segments on Chromecast ([#4543](#4543)) ([8204db6](8204db6)) * Fix hang when seeking to the last segment ([#4537](#4537)) ([3d6c768](3d6c768)) * Fix HLS dynamic to static transition ([d9ecbf3](d9ecbf3)) * Fix HLS dynamic to static transition ([#4483](#4483)) ([d9ecbf3](d9ecbf3)), closes [#4431](#4431) * Fix in-band key rotation on Xbox One ([#4478](#4478)) ([bc0a588](bc0a588)), closes [#4401](#4401) * Missing AES-128 key of last HLS segment ([#4519](#4519)) ([2c2677f](2c2677f)), closes [#4517](#4517) * Respect existing app usage of Cast SDK ([#4523](#4523)) ([3db2568](3db2568)), closes [#4521](#4521) * **ttml:** Default TTML background color to transparent if unspecified ([#4496](#4496)) ([0b5c985](0b5c985)), closes [#4468](#4468) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Close #3590