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: Low Latency DASH: include the "availabilityTimeComplete=false" attribute #1198

Conversation

CaitlinOCallaghan
Copy link
Contributor

Low Latency DASH - availabilityTimeComplete=false

Low Latency DASH manifests generated by Packager were missing the attribute availabilityTimeComplete. As per the DASH specs:

the AdaptationSet@availabilityTimeCompleteshould be present and be set to 'FALSE'
image

The Issue

The missing attribute caused ULL streams from Shaka Packager to no longer be compatible with DASH.js. Previous versions of DASH.js allowed users to specify ULL mode when initializing the player. However, the most recent releases of DASH.js automatically detect ULL by scanning the manifest for ULL specific attributes. Although there are many attributes only associated with ULL, DASH.js only greps for availabilityTimeComplete in its detection logic. Because of the missing attribute in Packager and the limited ULL verification criteria by DASH.js, Packager streams were not being treated as low latency streams by DASH.js.

Testing

Unit Testing

./mpd_unittest --gtest_filter="SegmentTemplateTest.OneSegmentLowLatency"
./mpd_unittest --gtest_filter="LowLatencySegmentTest.LowLatencySegmentTemplate"

Manual Testing

  • Created a low latency stream with Shaka Packager
  • Observed the expected availabilityTimeComplete=false attribute in the generated DASH manifest.
    image

@CaitlinOCallaghan CaitlinOCallaghan changed the title Cocallaghan/ull dash manifest spec bug Low Latency DASH: include the "availabilityTimeComplete=false" attribute Apr 12, 2023
@CaitlinOCallaghan CaitlinOCallaghan changed the title Low Latency DASH: include the "availabilityTimeComplete=false" attribute [Fix] Low Latency DASH: include the "availabilityTimeComplete=false" attribute Apr 12, 2023
@CaitlinOCallaghan CaitlinOCallaghan changed the title [Fix] Low Latency DASH: include the "availabilityTimeComplete=false" attribute fix: Low Latency DASH: include the "availabilityTimeComplete=false" attribute Apr 12, 2023
@joeyparrish joeyparrish merged commit d687ad1 into shaka-project:main Jul 5, 2023
20 of 22 checks passed
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Sep 3, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants