-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
duplicated audio requests #1009
Comments
@kuznetcoff777 I see the problem you are talking about, but I don't understand how this would happen under normal use. In what scenarios would you be re-configuring the player while it is playing back content? |
For example while changing resolution of player. If small player, then download only SD profiles, if huge player, then download all up to HD profiles |
One more important thing i want to notice, if maxBandwidth changed (for example player changed to hires), then player download hd segemtns (while palyer still have SD buffer) so player stalls for a couple of seconds. It irritates. It is good from the point of quality of picture, but bad from point of player stalls. I think it will be good to have some parameter, for if it is true then player downloads new segments, if false, then player should play its previous buffer and only after that goes to another resolution. |
@kuznetcoff777 , I would suggest opening a separate issue for delaying the change from SD to HD as that increases the scope of this issue and enters into the space of an enhancement. |
So here's the problem: when you call The restrictions object is meant to restrict what tracks can be played. There are two kinds of restrictions, one that is applied globally and one for ABR. The global one is meant for giving Shaka Player more info about the platform or DRM. For example, if the device can't play UHD, you can tell us not to try. So if you change the restrictions, it is important to do so immediately since the content we are playing may not play well (or at all for protected content). When changing the restrictions for ABR, it may not make much sense to clear the buffer since the restrictions don't apply as strictly. So I think we should make an exception and not clear the buffer when changing the ABR restrictions; but keep the old behavior when changing the global restrictions or changing languages/roles. |
@TheModMaker So do i need to open new issue? |
No, it is all part of the same issue. |
It appears that we were clearing the buffers when we re-configured the ABR manager. This was not necessary, so instead we do not clear the buffers so that any buffered data can be used. Change-Id: I3b57278fc47eed4d36e91e0e59211f374dfdfc06 Issue: #1009
@kuznetcoff777 I have submitted a fix for the bug into master. However I am going to keep this issue open until I add tests to ensure we do not regress in the future. |
Thanks! It works! |
I'm cherry-picking the fix to v2.2.3. This issue is still open until we land appropriate regression tests to go along with the fix. |
It appears that we were clearing the buffers when we re-configured the ABR manager. This was not necessary, so instead we do not clear the buffers so that any buffered data can be used. Change-Id: I3b57278fc47eed4d36e91e0e59211f374dfdfc06 Issue: #1009
When changing restrictions, we don't need to clear the buffers. This tests checks that when we change the config to change the ABR restrictions, we do not clear the buffers. Change-Id: I04e360c7fdfa008d7ae9a8050974bcd28f1d3388 Closes: #1009
Regression test cherry-picked for v2.2.5. |
Have you read the FAQ and checked for duplicate issues: yes
What version of Shaka Player are you using: v2.2.1-debug
Can you reproduce the issue with our latest release version: yes
Can you reproduce the issue with the latest code from
master
: did not checkAre you using the demo app or your own custom app: demo
If custom app, can you reproduce the issue using our demo app:
What browser and OS are you using:chrome/win7x64
What are the manifest and license server URIs:
(you can send the URIs to [email protected] instead, but please use GitHub and the template for the rest)
What did you do? Opened https://shaka-player-demo.appspot.com/demo/#asset=//download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/
TelecomParisTech/mp4-live-periods/mp4-live-periods-mpd.mpd;lang=ru
After that in console i inserted
shakaDemo.localPlayer_.configure({abr: {restrictions: {maxBandwidth: 200000}}})
Player downloaded few audio/video segments
After that in console i inserted
shakaDemo.localPlayer_.configure({abr: {restrictions: {maxBandwidth: 1000000}}})
What did you expect to happen? Player fetch new video segments, but audio segments will not refetch.
What actually happened? At first player downloaded low profile video segments with audio segments (25-26). After that player fetched higher profile video segments and refeteched the same 25-26 audio segments. So it is not not effectively.
The text was updated successfully, but these errors were encountered: