Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
2.5.15
Please ask your question
When I load dash with widevine then getManifest() return manifest object and getVariantTracks() return variant tracks with complete data https://snipboard.io/N6jtAz.jpg
When i load hls with fairplay (manifest as masterlist) on Safari, getManifest() return null and getVartinatTracks() return incomlete data https://snipboard.io/lkmTdp.jpg
Why?
By default, when we play HLS content on Safari, we use Safari's built-in playback; we do that by default because there are some things that cannot be done in MediaSource on Safari, such as playing FairPlay content.
So getManifest() returns null because the browser loaded the manifest, not us. And getVariantTracks() returns incomplete information because we are constructing it from the video element's audio track information.
If you want to be able to select specific video tracks, then you can re-configure Shaka Player to use MediaSource on Safari, by setting the streaming.useNativeHlsOnSafari configuration value to false.
That's all correct. I would just add that you can't set streaming.useNativeHlsOnSafari to false on iOS, because native HLS is the only option on iOS. It can be used on desktop Safari, though.
Does this help answer your question?
Has "streaming.useNativeHlsOnSafari: false" any disadvantages on macOS Safari? For example, reduced performance.
On iOS i leave fairplay implementation because Shaka doesn't request license server - i'm probably doing something wrong.
BTW. I set "streaming.useNativeHlsOnSafari: false" and Shaka return error REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE. So I set config props videoRobustness and audioRobustness to one of the system:
SW_SECURE_CRYPTO
SW_SECURE_DECODE
HW_SECURE_CRYPTO
HW_SECURE_DECODE
HW_SECURE_ALL
and Shaka still return REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE
Has "streaming.useNativeHlsOnSafari: false" any disadvantages on macOS Safari? For example, reduced performance.
You can't use it with FairPlay since we only support FairPlay with src=. Apple also supports more content than we do and may be able to play stuff we can't. Also, those robustness values you list are for Widevine, not FairPlay. Safari only supports FairPlay.
@qba86 Does this answer all your questions? Can we close the issue?
Closing due to inactivity. If this is still an issue for you or if you have further questions, you can ask us to reopen or have the bot reopen it by including @shaka-bot reopen in a comment.