Streaming FPS over airplay the "AVAssetResourceLoaderDelegate" gets called once but doesn't call again.

I have this problem, when streaming FPS over airplay the "AVAssetResourceLoaderDelegate" gets called once but doesn't call again.

FPS on local device can work perfectly. But with airplay,

We can play only one chunk, after that the "AVAssetResourceLoaderDelegate" doesn't get called so no request for content or keys, then the stream stops. BTW after disconnect from Airplay ResourceLoaderDelegate continues working.

Our code was implemented followed by "HLSCatalog_With_FPS" in "FairPlay Streaming Server SDK v3"

We already set "player.usesExternalPlaybackWhileExternalScreenIsActive" = TRUE; << This made some change regarding the airplay-mirroring mode.

We develop on XCode 8.2 , iOS Deployment target version 9.0, AppleTV generation 3

Do we need to do additional stuff about this? Please help.


Best regards,

Numpol Poldongnok

Replies

Very nice suggestion

I have exactly the same problem as Numpol.

How to make AVAssetResourceLoaderDelegate to get called when the device changes?

As far I read, documentation doesn't tell this particular case. I don't wan't to implement AVContentKeyDelegate because I would like to keep iOS10 compatibility.

Ok, I found why.


I did not have my AppleTV when I wrote my previous message. So I used a software called Reflector to simulate it.


But with Reflector, it does not work ! Using Reflector, the AVAssetResourceLoaderDelegate is never called when connecting to it. Since, I brang my real AppleTV to my office, everything works great, AVAssetResourceLoaderDelegate is called when connecting to it so I'm able to download the FPS key.