Problem with playback

Hi,


We developed the KSM and verified it using the provided tool, verify_ckc.

All things good.


Now we are trying to get playback working after incorporating the information from the deployment package but are hitting some issues.

We are using a modified "FPS_in_Safari_Example.html" for Safari and the Swift client for iOS.

The content is "Muxed/encrypted" as provided with the SDK.

Content key and IV are hardcoded in the KSM SKDServerFetchContentKeyAndIV() to the values provided with the content in the file Key.txt


When playing in Safari we see this:

SPC is received by the server and CKC is generated and returned.

The "onkeyadded" listener is called.

The player is fetching ranges of the ts file from the content server.

--> But playback doesn't start.



For iOS we see something similar:

SPC is received by the server and CKS is generated and returned.

The player is teching ranges of the ts file from the content server.

--> But the player does not receive notification that status changed to .ReadyToPlay


I assume we are doing something wrong on either client or KSM side but can't really figure out what.

The content key and IV are, as mentioned, hard coded with the values from Key.txt.


Any good suggestions on what to investigate?


Thanks in advance

Accepted Reply

srk,

Thanks for your response.

We didn't see any error messages at all.


But I believe we figured out the mistake we did.


We didn't fill the values for rental/lease as we interpreted it as being optional based on the comment:

"
ADAPT:Set lease/rental parameters if required

"


For prototype purpose, setting key type to "Rental" with a rentalDuration of 0 allows playback to work.


Thanks!

Replies

As I didn't mention this part:

We verified that the problem is not content related by changing to KEYFORMAT="identity" and loading the key as a 16 byte binary file.

Playback works fine.


This means we are having some problem with the KSM and/or the receiving part in the client.

But it's not obvious what. Apple's player (AVPlayer, Safari) does not report any errors.


Any debugging hints are very much appreciated!


Thanks

The FairPlay Streaming Guide discusses getting and interpreting errors in the client code (see the sections titled "Interpreting Error Messages" and "Manually Fetching FPS Error Messages", pg. 30-31). Are you saying there are no errors being returned in the client when you step through the code?

srk,

Thanks for your response.

We didn't see any error messages at all.


But I believe we figured out the mistake we did.


We didn't fill the values for rental/lease as we interpreted it as being optional based on the comment:

"
ADAPT:Set lease/rental parameters if required

"


For prototype purpose, setting key type to "Rental" with a rentalDuration of 0 allows playback to work.


Thanks!