-
Notifications
You must be signed in to change notification settings - Fork 2.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
Bugfix/live start bugs #4303
Bugfix/live start bugs #4303
Conversation
… when determining appropriate seekToLive.
…xpected on initial loads.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the problem exists on audio tracks, it will likely exist also on subtitle tracks that exist.
I'd check if you need to add similar changes on the subtitle stream controller above to ensure these also align using the new mechanism.
src/utils/discontinuities.ts
Outdated
* @param details - The details of the rendition you'd like to time-align (e.g. an audio rendition). | ||
* @param refDetails - The details of the reference rendition with start and PDT times for alignment. | ||
*/ | ||
export function alignByPDT(details: LevelDetails, refDetails: LevelDetails) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you document the difference between alignByPDT and alignPDT above. Given the closeness in the implementation, having a description for them would be helpful.
That or a better name for each.
Perhaps alignByPDT
could be something like; alignMediaPlaylistByPDT
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup can do both.
Good callout. Not sure if I have a stream available to test, but the reasoning tracks. |
…ng further description, and updating subtitle-track-controller to also use for initial load, per PR feedback.
I'm not sure, when I run the job, the sauce labs username/access key isn't present so the check is skipped. @tjenkinson thoughts? I'm not sure where the CI was left here. |
Thanks for the quick response, @itsjamie |
Yeh unfortunately sauce can’t run on forks because it doesn’t get the secrets, so the options are admin override and merge and have the checks run on master or merge this into a separate branch in the repo and open a new pr off that one into master, where the secret will then be there. |
Ran the functional tests in #4321 existing tests all passed except for the LL-HLS due to the test stream being down. Going to merge. Thanks @cjpillsbury. |
This PR will...
Resolve edge case issues in initial load for live content, which are more likely with LL-HLS:
maxFragLookUpTolerance
when determining start position (not justmaxBufferHole
)Are there any points in the code the reviewer needs to double check?
If possible, confirm there aren't any discontinuity-related issues with new
alignMediaPlaylistByPDT
, or at least none that wouldn't also occur with the originalalignPDT
usage inonAudioTrackLoaded
&onSubtitleTrackLoaded
Resolves issues:
#4302 (Startup on Live Streams sometimes hangs based on requesting the wrong audio and/or video segment)
Checklist