media icon indicating copy to clipboard operation
media copied to clipboard

Cannot Play HDR/DOVI videos with DRM

Open dangelo-autodesk opened this issue 2 years ago • 4 comments

Version

ExoPlayer 2.18.2

More version details

We have updated to the latest version of media 3 and then started going back version and on version 2.18.1 this was not present. It got introduced in version 2.18.2

Devices that reproduce the issue

FireTV 4K

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Yes

Reproduction steps

HDR/DOVI videos with DRM protection

Expected result

The media should play

Actual result

E  playerFailed [eventTime=3.57, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_DECODING_FAILED
com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(7, null, null, video/dolby-vision, dvhe.05.01, 4027624, null, [1280, 720, 24.0], [-1, -1]), format_supported=YES
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:571)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:154)
    at android.os.HandlerThread.run(HandlerThread.java:61)
Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.MTK.VIDEO.DECODER.DVHE.STN.secure
    at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1629)
    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:813)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:994)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:495)
    at android.os.Handler.dispatchMessage(Handler.java:98) 
    at android.os.Looper.loop(Looper.java:154) 
    at android.os.HandlerThread.run(HandlerThread.java:61) 
Caused by: java.lang.IllegalStateException
    at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
    at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2584)
    at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueOutputBufferIndex(SynchronousMediaCodecAdapter.java:106)
    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1830)
    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:792)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:994) 
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:495) 
    at android.os.Handler.dispatchMessage(Handler.java:98) 
    at android.os.Looper.loop(Looper.java:154) 
    at android.os.HandlerThread.run(HandlerThread.java:61) 
]

Media

any drm protected hdr videos

Bug Report

  • [X] You will email the zip file produced by adb bugreport to [email protected] after filing this issue.

dangelo-autodesk avatar Feb 14 '24 04:02 dangelo-autodesk

I have emailed the bug report as well

dangelo-autodesk avatar Feb 14 '24 20:02 dangelo-autodesk

@dangelo-autodesk.

Thank you for reporting your issue. It would be great to see what decoder is selected in the case of the 2.18.1 version of the player in your scenario. You can either provide a bug report of the demo app in 2.18.1 running your media or just provide in this thread the answer provided by the LogCat. Thank you!

microkatz avatar Feb 15 '24 16:02 microkatz

Here's the output from EventLogger:

Init 365bb84 [ExoPlayerLib/2.18.1] [mantis, AFTMM, Amazon, 25]
timeline [eventTime=0.04, mediaPos=0.00, window=0, periodCount=1, windowCount=1, reason=PLAYLIST_CHANGED
  period [?]
  window [?, seekable=false, dynamic=true]
]
timeline [eventTime=0.00, mediaPos=0.00, window=0, periodCount=1, windowCount=1, reason=PLAYLIST_CHANGED
  period [?]
  window [?, seekable=false, dynamic=true]
]
mediaItem [eventTime=0.04, mediaPos=0.00, window=0, reason=PLAYLIST_CHANGED]
mediaItem [eventTime=0.00, mediaPos=0.00, window=0, reason=PLAYLIST_CHANGED]
state [eventTime=0.04, mediaPos=0.00, window=0, BUFFERING]
state [eventTime=0.01, mediaPos=0.00, window=0, BUFFERING]
playWhenReady [eventTime=0.04, mediaPos=0.00, window=0, true, USER_REQUEST]
playWhenReady [eventTime=0.01, mediaPos=0.00, window=0, true, USER_REQUEST]
surfaceSize [eventTime=0.07, mediaPos=0.00, window=0, 1920, 1080]
surfaceSize [eventTime=0.03, mediaPos=0.00, window=0, 1920, 1080]
loading [eventTime=0.10, mediaPos=0.00, window=0, period=0, true]
loading [eventTime=0.06, mediaPos=0.00, window=0, period=0, true]
timeline [eventTime=0.90, mediaPos=0.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
  period [263.04]
  window [263.04, seekable=true, dynamic=false]
]
timeline [eventTime=0.86, mediaPos=0.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
  period [263.04]
  window [263.04, seekable=true, dynamic=false]
]
videoEnabled [eventTime=0.92, mediaPos=0.00, window=0, period=0]
videoEnabled [eventTime=0.88, mediaPos=0.00, window=0, period=0]
audioEnabled [eventTime=0.92, mediaPos=0.00, window=0, period=0]
audioEnabled [eventTime=0.89, mediaPos=0.00, window=0, period=0]
tracks [eventTime=0.92, mediaPos=0.00, window=0, period=0
  group [
    [X] Track:0, id=2, mimeType=video/dolby-vision, bitrate=6397848, codecs=dvh1.05.04, drm=[widevine,cenc], res=2048x1152, fps=24.0, supported=YES
    [X] Track:1, id=3, mimeType=video/dolby-vision, bitrate=5995112, codecs=dvh1.05.03, drm=[widevine,cenc], res=1920x1080, fps=24.0, supported=YES
    [X] Track:2, id=4, mimeType=video/dolby-vision, bitrate=11892048, codecs=dvh1.05.06, drm=[widevine,cenc], res=3840x2160, fps=24.0, supported=YES
    [X] Track:3, id=7, mimeType=video/dolby-vision, bitrate=4027624, codecs=dvh1.05.01, drm=[widevine,cenc], res=1280x720, fps=24.0, supported=YES
  ]
  group [
    [X] Track:0, id=15, mimeType=audio/mp4a-latm, bitrate=134672, codecs=mp4a.40.2, drm=[widevine,cenc], channels=2, sample_rate=44100, supported=YES
  ]
]
tracks [eventTime=0.89, mediaPos=0.00, window=0, period=0
  group [
    [X] Track:0, id=2, mimeType=video/dolby-vision, bitrate=6397848, codecs=dvh1.05.04, drm=[widevine,cenc], res=2048x1152, fps=24.0, supported=YES
    [X] Track:1, id=3, mimeType=video/dolby-vision, bitrate=5995112, codecs=dvh1.05.03, drm=[widevine,cenc], res=1920x1080, fps=24.0, supported=YES
    [X] Track:2, id=4, mimeType=video/dolby-vision, bitrate=11892048, codecs=dvh1.05.06, drm=[widevine,cenc], res=3840x2160, fps=24.0, supported=YES
    [X] Track:3, id=7, mimeType=video/dolby-vision, bitrate=4027624, codecs=dvh1.05.01, drm=[widevine,cenc], res=1280x720, fps=24.0, supported=YES
  ]
  group [
    [X] Track:0, id=15, mimeType=audio/mp4a-latm, bitrate=134672, codecs=mp4a.40.2, drm=[widevine,cenc], channels=2, sample_rate=44100, supported=YES
  ]
]
downstreamFormat [eventTime=1.14, mediaPos=0.00, window=0, period=0, id=4, mimeType=video/dolby-vision, bitrate=11892048, codecs=dvh1.05.06, drm=[widevine,cenc], res=3840x2160, fps=24.0]
downstreamFormat [eventTime=1.10, mediaPos=0.00, window=0, period=0, id=4, mimeType=video/dolby-vision, bitrate=11892048, codecs=dvh1.05.06, drm=[widevine,cenc], res=3840x2160, fps=24.0]
drmSessionAcquired [eventTime=1.15, mediaPos=0.00, window=0, period=0, state=3]
drmSessionAcquired [eventTime=1.12, mediaPos=0.00, window=0, period=0, state=3]
videoDecoderInitialized [eventTime=1.23, mediaPos=0.00, window=0, period=0, OMX.MTK.VIDEO.DECODER.DVHE.STN.secure]
videoDecoderInitialized [eventTime=1.20, mediaPos=0.00, window=0, period=0, OMX.MTK.VIDEO.DECODER.DVHE.STN.secure]
videoInputFormat [eventTime=1.23, mediaPos=0.00, window=0, period=0, id=4, mimeType=video/dolby-vision, bitrate=11892048, codecs=dvhe.05.06, drm=[widevine,cenc], res=3840x2160, fps=24.0]
videoInputFormat [eventTime=1.20, mediaPos=0.00, window=0, period=0, id=4, mimeType=video/dolby-vision, bitrate=11892048, codecs=dvhe.05.06, drm=[widevine,cenc], res=3840x2160, fps=24.0]
downstreamFormat [eventTime=1.23, mediaPos=0.00, window=0, period=0, id=15, mimeType=audio/mp4a-latm, bitrate=134672, codecs=mp4a.40.2, drm=[widevine,cenc], channels=2, sample_rate=44100]
downstreamFormat [eventTime=1.20, mediaPos=0.00, window=0, period=0, id=15, mimeType=audio/mp4a-latm, bitrate=134672, codecs=mp4a.40.2, drm=[widevine,cenc], channels=2, sample_rate=44100]
audioDecoderInitialized [eventTime=1.26, mediaPos=0.00, window=0, period=0, OMX.google.aac.decoder]
audioDecoderInitialized [eventTime=1.23, mediaPos=0.00, window=0, period=0, OMX.google.aac.decoder]
audioInputFormat [eventTime=1.26, mediaPos=0.00, window=0, period=0, id=15, mimeType=audio/mp4a-latm, bitrate=128859, codecs=mp4a.40.2, drm=[widevine,cenc], channels=2, sample_rate=44100, language=und]
audioInputFormat [eventTime=1.23, mediaPos=0.00, window=0, period=0, id=15, mimeType=audio/mp4a-latm, bitrate=128859, codecs=mp4a.40.2, drm=[widevine,cenc], channels=2, sample_rate=44100, language=und]
drmKeysLoaded [eventTime=1.45, mediaPos=0.00, window=0, period=0]
drmKeysLoaded [eventTime=1.41, mediaPos=0.00, window=0, period=0]
videoSize [eventTime=1.83, mediaPos=0.00, window=0, period=0, 3840, 2160]
videoSize [eventTime=1.80, mediaPos=0.00, window=0, period=0, 3840, 2160]
renderedFirstFrame [eventTime=1.84, mediaPos=0.00, window=0, period=0, Surface(name=null)/@0x87a8235]
renderedFirstFrame [eventTime=1.80, mediaPos=0.00, window=0, period=0, Surface(name=null)/@0x87a8235]
state [eventTime=2.39, mediaPos=0.00, window=0, period=0, READY]
state [eventTime=2.36, mediaPos=0.00, window=0, period=0, READY]
isPlaying [eventTime=2.40, mediaPos=0.00, window=0, period=0, true]
isPlaying [eventTime=2.37, mediaPos=0.00, window=0, period=0, true]

dangelo-autodesk avatar Feb 15 '24 21:02 dangelo-autodesk

any updates with this?

dangelo-autodesk avatar May 30 '24 03:05 dangelo-autodesk