jhooda / google-cast-sdk

Automatically exported from code.google.com/p/google-cast-sdk
0 stars 0 forks source link

default_KID in 'tenc' given precedence over KID in WRM Header in 'pssh' #599

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. extract the attached archive
2. play the "default_kid_bug/good.mpd" on the Chromecast
3. play the "default_kid_bug/bad.mpd" on the Chromecast

What is the expected output? What do you see instead?
good.mpd plays out fine; bad.mpd causes the Chomecast to stall, playing a frame 
ever 5 to 10 seconds.  As it turns out, this is being caused by the wrong 
"default_KID" in the Track Encryption box ('tenc').  The Chromecast is giving 
the "default_KID" in 'tenc' precedence over the "KID" in the wrmheader in the 
'pssh' box.  It therefor fetches the wrong key and decodes the audio data with 
the wrong key, putting bad audio data in the decode buffer.

What version of the product are you using? On what operating system?
Chromecast firmware: 31432

Please provide any additional information below.
The MPEG DASH PlayReady 1.2 specification indicates that a 'pssh' box in a 
'moof' box may be used for key rotation.  Therefor the KID in the WRM Header in 
the 'pssh' box should take precedence over the "default_KID" in the 'tenc' box:

2.2 IMPLEMENTATION RECOMMENDATIONS AND REQUIREMENTS
The PlayReady header Object (PRO) [PRHEADER] MAY be included in the encoded 
media Protection System Specific Header box (‘pssh’) [ISOBFF], the 
Initialization Segment or encoded in the MPD itself.
A ‘pssh’ box may be inserted in the Movie box (‘moov’) or the Movie 
Fragment box (‘moof’). For example, a ‘pssh’ box may be inserted in the 
‘moov’ box to enable the use of Initialization Segments ([DASH], section 
5.3.9.5.2). A ‘pssh’ box may be inserted in each ‘moof’ box to convey 
Leaf Licenses indexed by KID for key rotation.

Original issue reported on code.google.com by jason.ri...@gmail.com on 19 Jun 2015 at 10:39

Attachments:

GoogleCodeExporter commented 9 years ago
Our TAM should have recently contacted your team on how best to resolve these 
kinds of issues. If you haven't heard from him, please do reach out to him.

Original comment by jonathan...@google.com on 19 Jun 2015 at 11:54