-
Notifications
You must be signed in to change notification settings - Fork 6k
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 the waiting process was called too much. #2548
Fix the waiting process was called too much. #2548
Conversation
I'm sorry, the explanation was missing. |
Thanks for the pull request! This is something I had noticed some time ago but hadn't gotten to measure. We already have an internal fix for this which prevents the initiating the premature load, instead of discarding the already loaded playlists. Please let me know if you still notice too many requests. There is one minor optimization that can still be done, but I don't know whether it is worth it, though. |
I appreciate your reply! |
No, we have not yet pushed the fix to GitHub, it will happen soon. A reference to the commit should be automatically posted here. |
OK. I will wait for it. And the results are reported here. |
This greatly reduces the amount of server requests issued by the playlist tracker. Issue:#2548 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=150055046
Fix is ref'd above. Closing this. |
Thank you. |
The onLoadCompletedhls calling processLoadedPlaylist is triggered by loadPlaylist, but it fires at multiple events.
As a result, waiting for an excessive playlist rereading process not compliant with HLS spec v 20, section 6.3.4 "for more information on media playlist refreshing" was called. Therefore, since the acquisition process was excessive on the server side, measures were taken.
As for the correction contents, we implemented block processing with a flag between process wait start and wait end of processLoadedPlaylist to comply with hls reload specification.
Before:
After:
Please note that postDelayed is running if isPending: true.