This project has moved. For the latest updates, please go here.

Verimatrix DRM

Nov 27, 2014 at 8:30 PM
I have the case where I need to play DRM protected HLS streams. The streams are encrypted using Verimatrix. I have the details of the license server, but have no clue how to implement it. Is it possible to play DRM protected HLS streams with PhoneSM? Any samples how to do that, specifically with Verimatrix?

At the moment when I try to play the HLS streams I get the following exception in the GetAsync method in WinRtHttpClientExtension.cs:
"WinRT information: A dialog cannot be displayed because the parent window handle has not been set."
Coordinator
Nov 28, 2014 at 10:20 AM
I'm not sure what would cause that error message other than perhaps an HTTPS server asking for a client certificate.

As for playing DRM streams, the only type directly supported by phonesm is Apple's "AES-128". I'm not familiar with what Verimatrix does, so I'm afraid I'll have to be a bit vague. If you need to do something more complicated on the network than adding some cookies, then hopefully it will still be straight-forward enough to customize things for what you need since all of the network access goes through the IWebReader/IWebReaderManager interfaces. In the case of WinRT, the default implementations are WinRtHttpClientWebReader and WinRtHttpClientWebReaderManager. To override the default, you can do something like this:
   ...
            _mediaStreamFacade = MediaStreamFacadeSettings.Parameters.Create();

            _mediaStreamFacade.Builder.RegisterSingleton<IWebReaderManager>(someWebReaderManagerInstance);
   ...
where "someWebReaderManager" is a subclass of WinRtHttpClientWebReaderManager or some other implementation of IWebReaderManager.