-
-
Notifications
You must be signed in to change notification settings - Fork 6.2k
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
Proposal to increase A/V demux queues slightly #17646
base: master
Are you sure you want to change the base?
Conversation
This proposal is based on a change already implemented by @davilla for MrMC which also fixes known issues with specific HLS streams. Whereas @davilla's changes for MrMC go a lot further than we need to fix the known issues increasing the SetMaxTimeSize of Audio *and* Video demux queues from a value of 8 seconds to 10 seconds is sufficient. @peak3d proposed 12 seconds for both. While these streams have issues, we are in no position to fix those streams. Other tools behave perfectly fine on these streams as well and with this small fix the streams behave well in Kodi as well. For Matrix we are looking into a more extensive fix in the player, but while we do not expect large changes in the VideoPlayer in Leia to be accepted and we like to see this fixed in the next release of Leia we are proposing this here. This PR to the master branch was required for backporting to Leia.
If you don't adjust calculations based on the buffer times, this will change behaviour, i.e. longer channel switching times for live tv. |
@FernetMenta The original value was acceptable 10 years ago. I would expect people's internet bandwidth and latency has only improved over that period, a multiple of the 25% increase we propose here. |
@dagwieers I think what @FernetMenta wants to tell us, is that if we change those buffersizes we also need to change other stuff that's based on them being this size. |
You always have to consider all use cases, not just your own. Receiving a realtime stream and having the buffer filled, i.e. 50% has nothing to do with bandwidth. If you increase the buffer by 25%, you have to wait 25% longer until the buffer is 50% full. |
@FernetMenta If you are filling buffers when streaming, the time to fill your buffer is directly related to bandwidth and latency (as well as the size of the buffer). If 10 years ago an 8-seconds buffer was good enough, I would expect a 10-seconds buffer today is filled faster than an 8-seconds buffer 10 years ago. I am sure your bandwidth and latency improved by more than 20% in the past 10 years. Update: So yes, I didn't get the "live stream" part of the discussion :-) |
Not for a real-time (live) stream. To fill 10 seconds of buffer will take 10 seconds regardless of network bandwidth. |
So we could fill 40% of a 10s buffer instead of 50% of a 8s buffer, right? |
in order not to change behavior you need to change all calculations to absolute time rather than percentage |
There is also the buffering rate limit clamp to deal with. We removed it long ago and fill buffers as fast as the network can handle. We would rather burst fill than fill too slow and it removes yet another dependency quirk that might or might not be causing issues. |
@FernetMenta whereabouts should the calculations based on the buffer times be changed? |
Would prefer not to just bump this though milestones, but unclear on state. Then there is also the opaque comment from @FernetMenta
Not expecting answers by tomorrow so going to bump that milestone one more time, but can those that know about the player please clarify what needs to be done or if this should be closed. |
@dagwieers is this PR still valid? |
I had to bump the values to |
Thanks for the info. Unless we can figure out where we need to change the calculations to absolute time instead of percentage then I don’t see how this PR could progress. |
@dagwieers this needs a rebase |
Description
This proposal is based on a change already implemented by @davilla for MrMC which also fixes known issues with specific HLS streams.
Whereas @davilla's changes for MrMC go a lot further than we need to fix the known issues increasing the
SetMaxTimeSize
of Audio and Video demux queues from a value of 8 seconds to 10 seconds is sufficient. @peak3d proposed 12 seconds for both.This PR is the same changes as PR #17608 but against the master branch.
Motivation and Context
While these streams have issues, we are in no position to fix those streams. Other tools (ffplay, THEOplayer, Shakaplayer, OMXplayer) behave perfectly fine on these streams as well and with this small fix the streams behave well in Kodi as well.
For Matrix we are looking into a more extensive fix in the player, but while we do not expect large changes in the VideoPlayer in Leia to be accepted and we like to see this fixed in the next release of Leia we are proposing this here.
Relates to:
How Has This Been Tested?
This has been tested by various people over the past 2 years which have suffered from the existing streaming issues and has proven to overcome those.
And this is the default
setMaxTimeSize
setting for MrMC.Types of change
Checklist: