ashley1982 / google-cast-sdk

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

mspr:pro required in MPD in order to initiate a PlayReady DRM session on Chromecast #593

Closed GoogleCodeExporter closed 8 years ago

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

What is the expected output? What do you see instead?
I expect the "bad.mpd", which excludes the mspr:pro from the MPD, to have 
sufficient signaling to initiate a PlayReady DRM session on the Chromecast.  
Instead, the Chromecast fails to recognize the media segments are encrypted; 
seems to ignore the "pssh" boxes in the media, fetches 10 or so segments and 
then stops, never rendering video.

What version of the product are you using? On what operating system?
Chromecast firmware: 31432
mpl tried: //www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js
mpl tried: 
//www.gstatic.com/eureka/66b5fc9b8c644b959a59a87576b64dc2/010/media_player.js

Please provide any additional information below.
The "bad.mpd" is modeled as described in Microsoft DASH PlayReady specification 
found here:

http://download.microsoft.com/download/7/7/6/7762455C-D254-4C84-BE17-16B0C60E31F
D/MPEG%20DASH%20PlayReady%201.2%20-%202014-10-08.pdf

The "bad.mpd" works in the DASH Reference Player 1.3.0

Original issue reported on code.google.com by jason.ri...@gmail.com on 12 Jun 2015 at 4:35

Attachments:

GoogleCodeExporter commented 8 years ago
Why do you expect the bad.mpd stream to work? The MPD documentation recommends 
using both cenc and mspr.

Original comment by jonathan...@google.com on 12 Jun 2015 at 11:09

GoogleCodeExporter commented 8 years ago

Original comment by jonathan...@google.com on 12 Jun 2015 at 11:09

GoogleCodeExporter commented 8 years ago
It should be sufficient for the PRO to be present in the initialization segment:

2.2.3 WHERE TO INCLUDE THE PRO
The PRO SHALL be present in either MPD or Initialization Segment. It MAY be 
present in both. In the MPD, it SHOULD be present in both an mspr:pro element 
and a cenc:pssh element in the PlayReady Content Protection Descriptor 
(mspr:pro for legacy players).

Original comment by ted.perc...@gmail.com on 12 Jun 2015 at 11:18

GoogleCodeExporter commented 8 years ago
Also, from the above Microsoft DASH PlayReady Specification:

2.1.2 INCLUDING A PLAYREADY HEADER OBJECT IN THE MPD There are multiple 
situations where the PlayReady header Object (PRO) [PRHEADER] may need to be 
included in the PlayReady ContentProtection Descriptor element. For example: 
 A presentation where the PlayReady ‘pssh’ box is absent  A 
presentation where the PRO found in the PlayReady ‘pssh’ box needs to be 
overridden 

Original comment by jason.ri...@gmail.com on 13 Jun 2015 at 1:07

GoogleCodeExporter commented 8 years ago
We will look into it. Thanks for bringing it to our attention.

Original comment by jonathan...@google.com on 15 Jun 2015 at 11:51

GoogleCodeExporter commented 8 years ago
This issue has been resolved..

Original comment by jonathan...@google.com on 17 Jun 2015 at 10:55