Software Version: StreamFab 7.0.4.1 (Windows)
Service: Apple TV+ (MLS Season Pass)
Issue: The software fails to analyze and download Full Matches, dropping into a “Failed to get decryption key” error or downloading a 10-minute recap instead.
Hello developers and forum moderators,
There is a critical flaw in the Apple TV module regarding live/recorded sports events (specifically MLS Season Pass).
Even when providing a direct URL with the explicit full-match parameter (e.g., ?playableId=tvs.sbd.4000:MLS-MAT-XXXXXX_EN), StreamFab’s internal engine falls back to fetching the default preview/recap metadata.
Technical breakdown of the bug:
URL & Manifest Mismatch: StreamFab mistakenly sniffs the recap manifest layout:
/WebObjects/MZPlayLocal.woa/hls/subscription/playlist.m3u8
However, the actual 2-hour Full Match stream uses a completely different path layout:
/WebObjects/MZPlayLocal.woa/hls/subscription/stream/playlist.m3u8
DRM License Request Failure: Because the parser initiates the analysis using the 10-minute recap’s metadata, its internal CDM module sends a Widevine challenge specific to that shorter clip.
StreamFab correctly populates the video quality list with the full match’s high-bitrate profiles (e.g., 1080p at 17417 kbps), but the DRM key exchange fails. The license server rejects the decryption key system because a recap key cannot decrypt a full-match stream. This triggers the “Failed to get decryption key” error.
How to fix this:
The development team needs to update the interceptor script for ://apple.com:
- Implement URL/Path Swapping: If a full match session is selected or forced via URL, the parser must intercept the outgoing request and forcefully rewrite/spoof it into the /hls/subscription/stream/playlist.m3u8 layout.
- Synchronize DRM Key Requests: The CDM agent must delay its license challenge until the main asset ID and token parameters for the Full Match stream are fully populated in the session headers.
Thank you!