HLS stream with RealDRM is failing to play

Product

Player

Question

Upon replacement of native AVPlayer with Bitmovin Player in our iOS/tvOS apps, we started experiencing below issue:
We are seeing white spinner/activity indicator on the black screen, while audio stream is playing, controls panel is not functional.
We can only tap on “Menu” button on remote and navigate back.

Our streams are DRM protected(RealDRM) and drm key exchange mechanism is working as expected.

Below are Xcode logs:

[BitmovinPlayerAdapter] onStallStarted currentTime: 0.0, isPlaying: true, isPaused: false
[BitmovinPlayerAdapter] onStallEnded currentTime: 0.0, isPlaying: true, isPaused: false
[BitmovinPlayerAdapter] onPlaying: isPlaying: true, isPaused: false, isStalling: false isAd: false
[DefaultStateMachine] Transitioning from state startup to playing
[HttpEventDataDispatcher] send payload: {“ad”:0
“analyticsVersion”:“3.9.0”
“audioBitrate”:0
“audioLanguage”:“en”
“buffered”:0
“deviceInformation”:{“deviceClass”:“TV”
“isTV”:true
“manufacturer”:“Apple”
“model”:“AppleTV6
2”
“operatingSystem”:“tvOS”
“operatingSystemMajor”:“17”
“operatingSystemMinor”:“6”
“screenHeight”:2160
“screenWidth”:3840}
“domain”:“com.<company_name>.<app_name>-beta”
“drmLoadTime”:101
“drmType”:“fairplay”
“droppedFrames”:0
“duration”:430
“impressionId”:“4DE21BD9-80FE-4587-B505-A728440064AF”
“isCasting”:false
“isLive”:false
“isMuted”:false
“key”:“94f923bc-9b0d-4597-adc5-18bb1eafc90f”
“language”:“en_US”
“m3u8Url”:“https://<video_domain>/media/timte_66473_2024_09_16_20_44_29_043/mix-stream1.m3u8”
“pageLoadTime”:0
“pageLoadType”:1
“paused”:0
“platform”:“tvOS”
“played”:0
“player”:“bitmovin”
“playerKey”:“ffbbe720-cea9-4aca-94be-0aafce353e4b”
“playerStartupTime”:1
“playerTech”:“ios:bitmovin”
“screenHeight”:2160
“screenWidth”:3840
“seeked”:0
“sequenceNumber”:0
“startupTime”:431
“state”:“startup”
“streamFormat”:“hls”
“subtitleEnabled”:true
“supportedVideoCodecs”:[“hevc”
“avc”]
“time”:1733180937149
“userAgent”:“AppName Stage tvOS / Apple; Apple TV / iOS 17.6.1 / Unknown Carrier tvOS”
“userId”:“2FD800A7-52C5-40E7-B80F-452B84C3D871”
“version”:“bitmovin-3.78.1-a.2”
“videoBitrate”:8200000
“videoDuration”:29952
“videoPlaybackHeight”:1080
“videoPlaybackWidth”:1920
“videoStartupTime”:430
“videoTimeEnd”:0
“videoTimeStart”:0
“videoWindowHeight”:0
“videoWindowWidth”:0}
[DefaultStateMachine] Transitioning from state playing to qualitychange
[HttpEventDataDispatcher] send payload: {“ad”:0
“analyticsVersion”:“3.9.0”
“audioBitrate”:0
“audioLanguage”:“en”
“buffered”:0
“deviceInformation”:{“deviceClass”:“TV”
“isTV”:true
“manufacturer”:“Apple”
“model”:“AppleTV6
2”
“operatingSystem”:“tvOS”
“operatingSystemMajor”:“17”
“operatingSystemMinor”:“6”
“screenHeight”:2160
“screenWidth”:3840}
“domain”:“com.<company_name>.<app_name>-beta”
“drmType”:“fairplay”
“droppedFrames”:0
“duration”:3
“impressionId”:“4DE21BD9-80FE-4587-B505-A728440064AF”
“isCasting”:false
“isLive”:false
“isMuted”:false
“key”:“94f923bc-9b0d-4597-adc5-18bb1eafc90f”
“language”:“en_US”
“m3u8Url”:“https://<video_domain>/media/timte_66473_2024_09_16_20_44_29_043/mix-stream1.m3u8”
“pageLoadTime”:0
“pageLoadType”:1
“paused”:0
“platform”:“tvOS”
“played”:3
“player”:“bitmovin”
“playerKey”:“ffbbe720-cea9-4aca-94be-0aafce353e4b”
“playerStartupTime”:0
“playerTech”:“ios:bitmovin”
“screenHeight”:2160
“screenWidth”:3840
“seeked”:0
“sequenceNumber”:1
“startupTime”:0
“state”:“playing”
“streamFormat”:“hls”
“subtitleEnabled”:true
“time”:1733180937152
“userAgent”:“Sports SEG Stage tvOS / Apple; Apple TV / iOS 17.6.1 / Unknown Carrier tvOS”
“userId”:“2FD800A7-52C5-40E7-B80F-452B84C3D871”
“version”:“bitmovin-3.78.1-a.2”
“videoBitrate”:8200000
“videoDuration”:29952
“videoPlaybackHeight”:1080
“videoPlaybackWidth”:1920
“videoStartupTime”:0
“videoTimeEnd”:0
“videoTimeStart”:0
“videoWindowHeight”:0
“videoWindowWidth”:0}
[DefaultStateMachine] Transitioning from state qualitychange to playing
[HttpEventDataDispatcher] send payload: {“ad”:0
“analyticsVersion”:“3.9.0”
“audioBitrate”:0
“audioLanguage”:“en”
“buffered”:0
“deviceInformation”:{“deviceClass”:“TV”
“isTV”:true
“manufacturer”:“Apple”
“model”:“AppleTV6
2”
“operatingSystem”:“tvOS”
“operatingSystemMajor”:“17”
“operatingSystemMinor”:“6”
“screenHeight”:2160
“screenWidth”:3840}
“domain”:“com.<company_name>.<app_name>-beta”
“drmType”:“fairplay”
“droppedFrames”:0
“duration”:0
“impressionId”:“4DE21BD9-80FE-4587-B505-A728440064AF”
“isCasting”:false
“isLive”:false
“isMuted”:false
“key”:“94f923bc-9b0d-4597-adc5-18bb1eafc90f”
“language”:“en_US”
“m3u8Url”:“https://<domain_name>/media/timte_66473_2024_09_16_20_44_29_043/mix-stream1.m3u8”
“pageLoadTime”:0
“pageLoadType”:1
“paused”:0
“platform”:“tvOS”
“played”:0
“player”:“bitmovin”
“playerKey”:“ffbbe720-cea9-4aca-94be-0aafce353e4b”
“playerStartupTime”:0
“playerTech”:“ios:bitmovin”
“screenHeight”:2160
“screenWidth”:3840
“seeked”:0
“sequenceNumber”:2
“startupTime”:0
“state”:“qualitychange”
“streamFormat”:“hls”
“subtitleEnabled”:true
“time”:1733180937153
“userAgent”:“Sports SEG Stage tvOS / Apple; Apple TV / iOS 17.6.1 / Unknown Carrier tvOS”
“userId”:“2FD800A7-52C5-40E7-B80F-452B84C3D871”
“version”:“bitmovin-3.78.1-a.2”
“videoBitrate”:2800000
“videoDuration”:29952
“videoPlaybackHeight”:540
“videoPlaybackWidth”:960
“videoStartupTime”:0
“videoTimeEnd”:0
“videoTimeStart”:0
“videoWindowHeight”:0
“videoWindowWidth”:0}
[BitmovinPlayerAdapter] Ignoring onTimeChanged, time didn’t change.

Hi Timur,

As we have resolved this over the internal ticket I will go ahead and close this out for now.

Best,
Stephen

Software Engineer in Support
Bitmovin Inc.