-
Notifications
You must be signed in to change notification settings - Fork 428
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
refactor: align DashPlaylistLoader closer to PlaylistLoader states #386
Merged
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
mjneil
previously requested changes
Jan 30, 2019
…urns and once when the initial media is selected
- start DashPlaylistLoader in HAVE_NOTHING state - enter HAVE_METADATA in media() method - set media automatically only for child playlist loader as masterPlaylistLoader is set from masterPlaylistController update tests with desired behavior ensure loadedmetadata is triggered after loadedplaylist remove unnecessary media playlist selection for master loader
- delay triggering selectedinitialmedia event until the active audio playlist loader is finished setting media - ensure that HLS playlists without alternate audio are not affected
70ce772
to
cf60c4f
Compare
ldayananda
commented
Feb 7, 2019
@@ -2915,6 +2915,50 @@ QUnit.test('configures eme if present on selectedinitialmedia', function(assert) | |||
}, 'set source eme options'); | |||
}); | |||
|
|||
QUnit.test('integration: configures eme if present on selectedinitialmedia', function(assert) { |
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.
The test above this tests the same thing, but with all the playlist loaders mocked. Should we keep both?
- moving haveMetadata to a class-level method, more comments. - remove setTimeouts as they were not performing a necessary function. XHR requests can return in any amount of time and HLS PlaylistLoader handles any requests within a callback, or returns if a request need not be made. DASH should do the same - cleanup the minimumUpdatePeriod setup - remove unnecessary clock.ticks from tests
7750428
to
52a1f18
Compare
mjneil
reviewed
Feb 12, 2019
3 tasks
mjneil
reviewed
Feb 14, 2019
…mention hasPendingRequest for fallback media selection
forbesjo
approved these changes
Feb 27, 2019
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.
Description
This is a change to ensure that DashPlaylistLoader and PlaylistLoader follow a similar setup path. This should make it easier for
sidx
boxes received to result in further XHR requests in particular DASH Media Presentations, e.gSegmentBase
withindexRange
Specific Changes proposed
HAVE_NOTHING -> HAVE_MASTER -> HAVE_METADATA
loadedplaylist
when the master playlist is setup after requesting or refreshing the mpdloadedplaylist
when a video playlist has finished being selected, or a child playlist(for media groups) has finished being selectedloadedmetadata
the first time a media playlist has been loaded for a specific loaderupdateMaster
should return null if there are no manifest changesWait until audioPlaylistLoader has set media to trigger
selectedinitalmedia
We now use
hasPendingRequest
to automatically select a media playlist for the masterPlaylistLoader as a fallback in case one is not selected by MPC. The child loaders are created with a media playlist so this fallback is not necessary for them.Sources to use for testing:
Requirements Checklist