Skip to content
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

Inefficient buffering behavior with negative trick play rate #1958

Closed
joeyparrish opened this issue May 23, 2019 · 3 comments · Fixed by #6489
Closed

Inefficient buffering behavior with negative trick play rate #1958

joeyparrish opened this issue May 23, 2019 · 3 comments · Fixed by #6489
Assignees
Labels
priority: P4 Nice to have / wishful thinking type: enhancement New feature or request
Milestone

Comments

@joeyparrish
Copy link
Member

When we are doing trick play with a negative rate, the player is still buffering forwards. Either we should buffer backwards, or we should avoid buffering more than one segment at a time.

@joeyparrish joeyparrish added the type: enhancement New feature or request label May 23, 2019
@shaka-bot shaka-bot added this to the Backlog milestone May 23, 2019
@joeyparrish joeyparrish modified the milestones: Backlog, Backlog 2 Jan 28, 2020
@floribon
Copy link

I am also affected by this, backward playback causes the player to constantly buffer and clear buffer. I minified the impact by setting bufferingGoal: 1 and a rebufferingGoal: 0 but it is still wasting a lot of bandwidth.

@ismena
Copy link
Contributor

ismena commented Apr 22, 2021

@joeyparrish you mentioned that you had thoughts on this might be addressed. Could you share? Depending on priority and complexity, the team can take it on or we could open this for external contributions.

@joeyparrish
Copy link
Member Author

My gut feeling is that since today, StreamingEngine follows a SegmentIterator to decide what to fetch, what we need is something like a ReverseSegmentIterator. Any time the play rate changes, StreamingEngine could check if it changed between negative and non-negative and re-init the iterator accordingly. This would keep most of the complexity of the change in the implementation of ReverseSegmentIterator, which would be relatively easy to test in isolation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: P4 Nice to have / wishful thinking type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants