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

fix(playlist controller): improve hasPlayed check #496

Closed
wants to merge 1 commit into from

Conversation

gkatsev
Copy link
Member

@gkatsev gkatsev commented May 3, 2019

This should fix #464.

Copy link
Member

@misteroneill misteroneill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks much more accurate.

@squarebracket
Copy link
Contributor

Do you think there's any problem with potentially calling setupFirstPlay more than once?

@gkatsev
Copy link
Member Author

gkatsev commented May 6, 2019

That is a good thing to check @squarebracket.

@gkatsev gkatsev added the blocked label May 9, 2019
@stale
Copy link

stale bot commented Jul 8, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the outdated label Jul 8, 2019
@stale
Copy link

stale bot commented Sep 8, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the outdated label Sep 8, 2019
@stale stale bot closed this Sep 15, 2019
@brandonocasey brandonocasey reopened this Sep 17, 2019
@stale stale bot removed the outdated label Sep 17, 2019
@stale
Copy link

stale bot commented Nov 16, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the outdated label Nov 16, 2019
@gkatsev gkatsev removed the outdated label Nov 22, 2019
gkatsev pushed a commit that referenced this pull request Jan 10, 2020
…oaded (#700)

* Fix live startup failures when play happens before playlist is downloaded

When joining a live stream, VHS starts playback at a time of 0,
regardless of how long the stream has been playing. This means that the
playlist will start with sync info of time 0 for the first media index.

However, if the stream "played" (either via API, autoplay, etc.) before
a playlist was downloaded, then after the playlist downloaded the
loader would reset the sync info, erasing the assumed time 0 for first
media index, and the player would request segments ad infinitum, never
able to place them in the timeline and get a new sync point.

This separates the notion of played between play initiation and playback
of content (progress on the timeline), in order to ensure that the
initial sync info is maintained.

* Use segment loader's state to determine when to update sync info

While using hasPlayedContent helped to alleviate most issues around
when to update the sync info in segment loader when updating a live
playlist, there still remained potential issues when a segment was
requested and the sync info was changed for the in-flight segment.

This change uses the segment loader's INIT state to determine if the
sync info should be updated, meaning in-flight segment requests keep
their sync info fixed.

Fixes #464, closes #496, closes #500.
@gkatsev
Copy link
Member Author

gkatsev commented Jan 10, 2020

Fixed as part of #700. Release soon.

@gkatsev gkatsev closed this Jan 10, 2020
@gkatsev gkatsev deleted the has-played branch January 10, 2020 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Switching quality leads to infinite buffering
4 participants