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

DASH: Support cross-AdaptationSet seamless switching #2431

Closed
kqyang opened this issue Feb 8, 2017 · 4 comments
Closed

DASH: Support cross-AdaptationSet seamless switching #2431

kqyang opened this issue Feb 8, 2017 · 4 comments

Comments

@kqyang
Copy link
Contributor

kqyang commented Feb 8, 2017

http://dashif.org/wp-content/uploads/2016/12/DASH-IF-IOP-v4.0-clean.pdf

3.8. Switching across Adaptation Sets
 ...
 A content author may signal such seamless switching property across Adaptation Sets by providing
 a Supplemental Descriptor along with an Adaptation Set with @schemeIdUri set to
 urn:mpeg:dash:adaptation-set-switching:2016 and the @value is a comma-
 separated list of Adaptation Set IDs that may be seamlessly switched to from this Adaptation Set.
 ...
 As an example, a content author may signal that seamless switching across an H.264/AVC Adap-
 tation Set with AdaptationSet@id=”h264” and an HEVC Adaptation Set with Adapta-
 tionSet@id=”h265” is possible by adding a Supplemental Descriptor to the H.264/AVC Ad-
 aptation Set with @schemeIdUri set to urn:mpeg:dash:adaptation-set-switch-
 ing:2016 and the @value=”h265” and by adding a Supplemental Descriptor to the HEVC
 Adaptation Set with @schemeIdUri set to urn:mpeg:dash:adaptation-set-switching:2016
 and the @value=”h264”

This technology is expected to be available in ISO/IEC 23009-1:2014/Amd.4:2016, section 5.3.3.5.

Here is a sample content you can use for testing:

 "uri": "https://storage.googleapis.com/wvtemp/kylealexander/packager_test/iop_compliant_mpd_test/llama.mpd",
 "drm_scheme": "widevine",
 "drm_license_url": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
astinus-1 pushed a commit to shaka-project/shaka-packager that referenced this issue Feb 9, 2017
This will move ContentProtection element from Representation
to AdaptationSet.

Shaka Player already supports AdaptationSet switching
urn:mpeg:dash:adaptation-set-switching:2016;

ExoPlayer does not support it yet. Filed
google/ExoPlayer#2431 to track the issue.

(ExoPlayer does not like having ContentProtection in Representation
anyway)

Closes b/34691105

Change-Id: I69d0a4d0e15a912a35c8b2686620419a28e4cc99
kqyang added a commit to shaka-project/shaka-packager that referenced this issue Feb 11, 2017
This will move ContentProtection element from Representation
to AdaptationSet.

Shaka Player already supports AdaptationSet switching
urn:mpeg:dash:adaptation-set-switching:2016;

ExoPlayer does not support it yet. Filed
google/ExoPlayer#2431 to track the issue.

(ExoPlayer does not like having ContentProtection in Representation
anyway)

Closes b/34691105

Change-Id: I69d0a4d0e15a912a35c8b2686620419a28e4cc99
@ojw28 ojw28 changed the title adaptationset-switching DASH: Support cross-AdaptationSet seamless switching Feb 12, 2017
@ojw28
Copy link
Contributor

ojw28 commented May 25, 2017

Sanity check: Am I right in thinking the DASH IOP example is actually in violation of the DASH spec, because it uses string AdaptationSet@id values where-as the DASH spec says the type should be xs:unsignedInt? The example should use integers, I think?

@kqyang
Copy link
Contributor Author

kqyang commented May 25, 2017

Good catch. I filed a bug to DASH-IF-IOP: Dash-Industry-Forum/DASH-IF-IOP#136.

Not sure why DASH uses xs:unsignedInt for AdaptationSet but uses StringNoWhitespaceType for Representation.

Anyway, the sample content referenced in the issue description should be compliant to both DASH spec and DASH-IF-IOP.

@ojw28
Copy link
Contributor

ojw28 commented May 25, 2017

Heh, I filed one through the form on the DASH-IF website. I had no idea it got mirrored to GitHub. I'll file any future issues on that tracker directly! Thanks for confirming.

ojw28 added a commit that referenced this issue May 31, 2017
This will be used to merge adaptation sets that are marked for
seamless switching into single TrackGroups in DashMediaSource.

Issue: #2431

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=157209358
ojw28 added a commit that referenced this issue May 31, 2017
Issue: #2431

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=157236031
@ojw28
Copy link
Contributor

ojw28 commented May 31, 2017

This is now supported in dev-v2.

@ojw28 ojw28 closed this as completed May 31, 2017
@google google locked and limited conversation to collaborators Sep 29, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants