LicenseAcquirer

Topics: Windows 8 Xaml
Jun 11, 2012 at 10:26 AM

In previous versions of SMF we could play PlayReady (DRM) files setting PlaylistItem.LicenseAcquirer - we could even add some custom logic deriving from the LicenseAcquirer class.

How can we do that in MMPPF for WinRT (XAML/C#)?

Coordinator
Jun 11, 2012 at 3:47 PM

There is a property called ProtectionManager that provides the equivalent to LicenseAcquirer for Win8 metro. For more info, there's a PlayReady sample on MSDN that should help demonstrate how to use it. Note: You'll also need to download the PlayReady SDK.

Regards, Tim

Jun 22, 2012 at 9:01 AM

I've tried the sample, but I get a runtime error. Where can I get help with that?

I've found nowhere detailed information about what might cause failures. The best I get is: http://msdn.microsoft.com/en-us/library/windows.media.protection.revocationandrenewalreasons.aspx#Y0 which indicate vague causes for EncryptionFailure but no solution.

Coordinator
Jun 22, 2012 at 3:32 PM

I just downloaded the PlayReady sample from MSDN and it worked fine out of the box. Note: I did need to unblock the zip file before extracting. Could this be the issue?

Coordinator
Jun 22, 2012 at 5:54 PM

I was able to get the playready sample code to work with the player framework but there are a few gotchas:

1) Because I was running on a 64-bit machine, I had to uncheck "Prefer 32-bit" in the project properties.

2) Because I was running on a 64-bit machine, I had to set my build configuration to target x64. Note: Any CPU will work here if you are *not* using smooth streaming.

3) You cannot run over remote desktop. Content Protection prohibits this.

Jun 26, 2012 at 7:35 AM

I will try what you suggested, but here are some details about my setup:

- I've tried running on a real Windows 8 install, so no VM/Remote Desktop issues here.

- I've tried running with and without debugger attached.

- I've removed Smooth Streaming from my tests already, I'm trying to play a WMV file.

- I am running this on a 64 bits machine.

 

I haven't unblocked the .zip, but then, Visual Studio prompted about the unsecure project file and the solution worked fine afterwards.

Jun 27, 2012 at 2:17 PM

When I target x64 (from the build configuration manager), I've got an exception first thing during startup, complaining about PlayReady SDK.

I've tried running in the simulator too, didn't change anything.

 

Something must be wrong with my PC/drivers, but I don't know what.

Aug 14, 2012 at 2:00 AM
timgreenfield wrote:

I was able to get the playready sample code to work with the player framework but there are a few gotchas:

1) Because I was running on a 64-bit machine, I had to uncheck "Prefer 32-bit" in the project properties.

2) Because I was running on a 64-bit machine, I had to set my build configuration to target x64. Note: Any CPU will work here if you are *not* using smooth streaming.

3) You cannot run over remote desktop. Content Protection prohibits this.

When compiling on Win8 to "Any CPU" (default mode), I was unable to play any DRM-ed video via Player Framework, though the C# PlayReady sample for Win8 had no problem. I stumbled upon this post and your suggestion to only compile for x64, which I did, and to my surprise, the application is now capable of playing DRM-ed videos via the Player Framework (note: my videos are straight HTTP WMV videos like in PlayReady sample, not smooth).

Is that really the expected behaviour, and if so, what does it mean for the application package? would we need to publish one app for each CPU type (x64, x32 and ARM)?