-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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 multiperiod #3360
Merged
dsilhavy
merged 45 commits into
Dash-Industry-Forum:development
from
fraunhoferfokus:fix-multiperiod
Aug 12, 2020
Merged
Fix multiperiod #3360
dsilhavy
merged 45 commits into
Dash-Industry-Forum:development
from
fraunhoferfokus:fix-multiperiod
Aug 12, 2020
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…dash.js into fix-multiperiod
…ause audio buffering is handled different than video buffering
…tuations in which the upcoming periods are not prebuffered. Period switch is now performed by jumping to the beginning of the upcoming period.
… of the next period to avoid small timing errors
… implications for multiperiod though
…ltiperiod streams
5 tasks
dsilhavy
added a commit
that referenced
this pull request
Aug 25, 2020
* Move handling for non initial stream start time to getStreamForTime * Remove unused period switch handler from BolaRule * Fix type in variable * Check for manifest duration before assigning it to the media source * WiP: Multiperiod gap handling * WiP: Multiperiod gap handling * WiP: Multiperiod gap handling * DashIF multiperiod sample working again * Elemental stream worked for a single testrun and video only * Video only prebuffering multiple streams instead of a single one * Only update timestampOffset if buffering is not completed * First working version with audio in Chrome * Prebuffering with audio should work now. Adjusted BufferLevelRule because audio buffering is handled different than video buffering * Add appendWindow update again and improve logic to calculate next streams * Potential fix for VoD streams not starting at 0 * Remove console logs * Do not deactivate stream when next stream is prebuffered * Use global setting for appendWindow * Add try catch for Sourcebuffer appendWindow reset * Fix a bug in which the DashHandler was stuck when no liveEdge was found * Add support for gap jumping when playback has stalled. This covers situations in which the upcoming periods are not prebuffered. Period switch is now performed by jumping to the beginning of the upcoming period. * Instead of jumping to the end of the current period jump to the start of the next period to avoid small timing errors * Gap jumping before moving to a separate GapController * Move gap handling to GapController.js * Change buffer level rule for audio * Specific event for gap caused playback seek * Deactivate postponeTimePeriod for multiperiod, need to understand the implications for multiperiod though * Fix an error for the bitrate metric in the ref client when playing multiperiod streams * Fix linting errors * Move setting of availabilityWindow to BufferController.js * Fix BufferLevelRule unit test * Add availabilityWindow to TextBufferController.js * Check if interval handler already exist * Small changes in the GapController.js * Change log level for ref client * Fix wrong JSDoc in Settings.js * Rename useAppendWindow in index.d.ts * Add jumpLargeGaps to JsDoc and index.d.ts * Fix JsDoc description for gap caused playback seek * Remove unnecessary reference to streamInfo * Check for stalls using settings wallclock time parameter * Remove streamInfo parameter from TextBufferController.js * Use constants for interval handler
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to fix multiple issues with multiperiod streams. The changes are mainly based on test content specified in #2946. #2946 also contains comments on the changes included in this PR. To summarize: