Dash-Industry-Forum / CPIX

25 stars 9 forks source link

Comments on DRMSystems elements (spec/xsd/examples) #61

Closed Heronyme closed 5 years ago

Heronyme commented 5 years ago

When looking through the latest release package some questions and possible issues regarding the DRMSystem elements came up:

  1. ContentProtectionData (Spec)

"This is the full well-formed standalone XML element...". Perhaps it should say "XML fragment", because e.g. in PlayReady case this snippet can contain multiple root-level XML elements (a fragment).

  1. HLSSignalingData (Spec, XSD)

A. I understand there can be max two of these elements, with one for master and other for media playlist; and both elements can't have the same playlist type. If so, could mention this restriction explicitly; had to imply a bit. Perhaps this restriction should be defined in the XSD, by adding a uniqueness constraint for HLSSignalingData elements' playlist attribute. Then it's also possible to automatically validate it.

B. It's specified that one possible playlist attribute values is "variant", but otherwise in the spec (and also in HLS spec) it seems its usually referred to as "media" playlist. So attribute value "media" might be better fit or there's a reason it's not so.

  1. ClearContentKeysOnly.xml (Examples)

A. There's an extra space in ContentProtectionData examples: "...wcm8 +".

B. The contents of the ContentProtectionData values (PSSH boxes/data) do not match the DRM System/content key being signaled. E.g. the first DrmSystem entry contains PlayReady PSSH boxes/data, but the element doesn't have PlayReady System ID. In all cases the KeyID in the PSSHs doesn't seem to match the "kid" in the element. Not sure if its in CPIX scope, but making this data match could improve the examples.

C. The "pssh" XML elements in ContentProtectionData examples contain undeclared "cenc" prefixes. To make it a "full well-formed standalone XML..." they should be declared.

The above points probably also apply to other example files where DRMSystems were inserted.

  1. Meaning of "extended" keyword (Spec)

For example: "HLSSignalingData (0...2, extended xs:base64binary)". Not sure if "extended" is something standard or its meaning should be defined in the beginning of "Hierarchical data model" paragraph.

sandersaares commented 5 years ago

1 2 and 4 were cared for by #64. Point 3 remains - I will assign to myself to take care ofit.

sandersaares commented 5 years ago

Updated examples with real data are now available at https://github.com/Dash-Industry-Forum/cpix-test-vectors. I will file some PRs to update references.

sandersaares commented 5 years ago

https://github.com/Dash-Industry-Forum/Dash-Industry-Forum.github.io/pull/23 and https://github.com/Dash-Industry-Forum/CPIX/pull/65 submitted to update references.

lpiron commented 5 years ago

Merging and closing