-
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
HLS Live stream - Chromecast reproduction fails #1411
Comments
When you say that "cast reproduction fails", do you mean that the receiver app fails to load, or that it loads but fails to play the stream? I tried casting that sample from our Ubuntu lab machine, and it launched the receiver app but failed to play there. I tried other computers to cast from and other Chromecasts to cast to, and they failed to play Shaka Player History (Live, HLS) also. |
It's the same behavior you experienced, it launches the receiver app but fails to play the stream. |
Alright. I'll look into it. Thanks for the report. |
I tried using my WIP change for #1307, and the asset played correctly. So it definitely looks like this is a problem with the narrow seek window on HLS livestreams. |
Ok, I've tried a few values for MIN_SEEK_RANGE. 1s played, but was a bit choppy; it periodically had to pause and seek forward. Of the values I tried, 3s was the smallest that didn't have any choppiness. |
Can you please test one more time on the V1 Chromecast? I want to be sure we are picking values that work on the slowest hardware we have. Whatever works for the V1 Chromecast, let's choose that for MIN_SEEK_RANGE and leave comments explaining how we arrived at that value experimentally. |
On Chromecast, some streams were unable to keep up with the narrow seek window, and got stuck perpetually seeking forward. This change increases the seek window to 3 seconds long, which some initial testing has shown to be the shortest value to play without uncomfortable choppiness. Unfortunately, v1 Chromecasts still have issues, even with this. It seems like they have a separate issue. Issue #1411 Change-Id: I597315cd418861b18e63a859197a8c2585cb4fd0
This change is for the sake of the cast receiver, so you won't be able to see it in effect until we update the cast receiver. |
On Chromecast, some streams were unable to keep up with the narrow seek window, and got stuck perpetually seeking forward. This change increases the seek window to 3 seconds long, which some initial testing has shown to be the shortest value to play without uncomfortable choppiness. Unfortunately, v1 Chromecasts still have issues, even with this. It seems like they have a separate issue. Issue #1411 Change-Id: I597315cd418861b18e63a859197a8c2585cb4fd0
On Chromecast, some streams were unable to keep up with the narrow seek window, and got stuck perpetually seeking forward. This change increases the seek window to 3 seconds long, which some initial testing has shown to be the shortest value to play without uncomfortable choppiness. Unfortunately, v1 Chromecasts still have issues, even with this. It seems like they have a separate issue. Issue #1411 Change-Id: I597315cd418861b18e63a859197a8c2585cb4fd0
The changes that have been made so far are in v2.3.7 and will also be in our upcoming v2.4.0 release. I'm going to bump this to v2.5 for any additional investigation that is needed. |
Playhead.onSeeking_ assumes that seeking is nearly instant; thus, it has 0.001s tolerance. That works fine on most platforms, but on some slow platforms (e.g. v1 Chromecasts), this can actually be a problem. Specifically, it can cause them to get stuck in a loop of repeatedly seeking, when playing HLS livestreams. This changes Playhead.onSeeking_ so that it will only attempt to undo a seek once every second. This way, if running on a slow platform, it won't get stuck trying to seek to start time. Closes #1411 Change-Id: Ia4fa6da8bcd90eb04b80d80c3f793bba2a7f382d
Cherry-picked for v2.4.2. |
Playhead.onSeeking_ assumes that seeking is nearly instant; thus, it has 0.001s tolerance. That works fine on most platforms, but on some slow platforms (e.g. v1 Chromecasts), this can actually be a problem. Specifically, it can cause them to get stuck in a loop of repeatedly seeking, when playing HLS livestreams. This changes Playhead.onSeeking_ so that it will only attempt to undo a seek once every second. This way, if running on a slow platform, it won't get stuck trying to seek to start time. Closes #1411 Change-Id: Ia4fa6da8bcd90eb04b80d80c3f793bba2a7f382d
Cherry-picked for v2.3.10. |
Have you read the FAQ and checked for duplicate open issues?:
Yes
What version of Shaka Player are you using?:
v2.3.6
Can you reproduce the issue with our latest release version?:
Yes
Can you reproduce the issue with the latest code from
master
?:Yes
Are you using the demo app or your own custom app?:
Demo app
What browser and OS are you using?:
Chrome 64 - Ubuntu
What are the manifest and license server URIs?:
Shaka demo asset: Shaka Player History (Live, HLS)
Also tested with a custom stream, same result.
(NOTE: a copy of the manifest text or an attached manifest will not be enough to reproduce your issue, and we will ask you to send a URI instead)
What did you do?
Start playing stream, initialize cast from player's controls.
What did you expect to happen?
Content being casted.
What actually happened?
Cast reproduction fails.
The text was updated successfully, but these errors were encountered: