Dolby Vision MKV files now only play in HDR

Server Version#: 1.23.1.4602
Player Version#: 8.18.0

I have a 2019 Nvidia Shield Pro and stream to an LG C9 OLED TV. Most of my MKV rips of my UHD disks played Dolby Vision just fine a few months ago. But, sometime after a recent update to the player app, these same files/movies only trigger HDR now. I believe it was after 8.12 or 8.13.

Could this be an update with the player? Why would these files trigger DV and then suddenly not?

Would you be able to share the clients from your SHIELD? Here’s steps on how to fetch them: Android, Android TV, Fire TV, Portal Logs | Plex Support

So, I just spot checked a few last night that were not working and they now appear to correctly trigger DV again. The only change is I updated to 8.18.1.

I will keep testing. If I see erratic behavior I will grab what you need. These definitely would not trigger for the past two months. I was pulling my hair out!

1 Like

I’m definitely seeing the same behavior after updating to 8.18. DV Titles will fallback to HDR. My display is a LG CX OLED and my client is an NVIDIA Shield Pro 2019.

This is what I see in the logs:

06-09 19:20:50.301  i: [FF] Releasing demuxer.
06-09 19:20:50.301  i: [FFmpeg] [INFO] Demuxer closing.
06-09 19:20:50.305  i: [FFmpeg] [INFO] [Cache] Close requested, terminating.
06-09 19:20:50.305  i: [FFmpeg] [INFO] [Cache] Terminating thread.
06-09 19:20:50.317  i: [FFmpeg] [INFO] [Cache] Thread has been terminated.
06-09 19:20:50.320  i: [FFmpeg] [INFO] [Cache] Cache has been closed, interrupting AVIO ...
06-09 19:20:50.327  e: [ExoPlayer][EventLogger] playerFailed [eventTime=4.36, mediaPos=0.00, window=0, period=0
  com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=1, format=Format(0, null, null, video/dolby-vision, dvhe.07.06, -1, null, [3840, 2160, 23.976025], [-1, -1]), format_supported=NO_EXCEEDS_CAPABILITIES
      at com.google.android.exoplayer2.o0.handleMessage(SourceFile:43)
      at android.os.Handler.dispatchMessage(Handler.java:102)
      at android.os.Looper.loop(Looper.java:193)
      at android.os.HandlerThread.run(HandlerThread.java:65)
  Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.Nvidia.DOVI.decode
      at com.google.android.exoplayer2.video.o.n(SourceFile:1)
      at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(SourceFile:24)
      at com.google.android.exoplayer2.o0.o(SourceFile:14)
      at com.google.android.exoplayer2.o0.handleMessage(SourceFile:25)
      ... 3 more
  Caused by: java.lang.IllegalStateException
      at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
      at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2940)
      at com.google.android.exoplayer2.mediacodec.u.l(SourceFile:1)
      at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(SourceFile:7)
      at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(SourceFile:16)
      ... 5 more
]
06-09 19:20:50.328  i: [FFmpeg] [INFO] [Cache] Close requested, terminating.
06-09 19:20:50.328  i: [FFmpeg] [INFO] Demuxer pipeline terminated.
06-09 19:20:50.329  i: [FFmpeg] [INFO] Demuxer has been successfully closed.
06-09 19:20:50.344  e: [Player][ExoPlayer] Playback error detected
06-09 19:20:50.345  e: An exception occurred: com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=1, format=Format(0, null, null, video/dolby-vision, dvhe.07.06, -1, null, [3840, 2160, 23.976025], [-1, -1]), format_supported=NO_EXCEEDS_CAPABILITIES
06-09 19:20:50.345  i: [Player][Timeline] Handling player error
06-09 19:20:50.346  i: [Player][Timeline] Playback stopped (error: true)
06-09 19:20:50.346  e: Stacktrace: com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=1, format=Format(0, null, null, video/dolby-vision, dvhe.07.06, -1, null, [3840, 2160, 23.976025], [-1, -1]), format_supported=NO_EXCEEDS_CAPABILITIES
	at com.google.android.exoplayer2.o0.handleMessage(SourceFile:43)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:193)
	at android.os.HandlerThread.run(HandlerThread.java:65)
Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.Nvidia.DOVI.decode
	at com.google.android.exoplayer2.video.o.n(SourceFile:1)
	at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(SourceFile:24)
	at com.google.android.exoplayer2.o0.o(SourceFile:14)
	at com.google.android.exoplayer2.o0.handleMessage(SourceFile:25)
	... 3 more
Caused by: java.lang.IllegalStateException
	at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
	at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2940)
	at com.google.android.exoplayer2.mediacodec.u.l(SourceFile:1)
	at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(SourceFile:7)
	at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(SourceFile:16)
	... 5 more

I only started noticing this problem after updating to 8.18. DV seems to work fine over Netflix and Disney+

1 Like

I am not sure if it was 8.18.1 or not but as of right now, DV is triggering for most films (although it does occasionally fall back to HDR.

That issue is caused by the DOVI decoder on the device crashing, and is unfortunately out of our control, and would require a fix by Nvidia. The dvhe.07.06 profile is not officially supported by the Shield, and as such, sometimes may not work.

4 Likes

Ah, good to know. Thanks for the quick response. I just updated my TV firmware and it does seem to be working again. Hopefully it stays working. Fingers crossed.

Thanks Dave! Helps me understand the issue. The funny thing is that a restart of Plex and/or the Shield itself will usually allow DV to trigger again for movies that were not working.

Ah well, we are light years ahead of where we were a year ago. Let’s hope the next Shield revision irons out all the UHD playback issues.

You’d probably find backing out of playback and starting again a few times will get it to work, without a restart of anything. Really, it will most likely be up to Nvidia and them working with Dolby to get dvhe.07.06 working on the device or not, but just need to wait and see, I guess!

Weren’t you guys working with Nvidia to get this fixed? What happened to the progress that was being made? Have Nvidia given up/are they ignoring the remaining issues?

We don’t really have anything to add to that. It’s up to Nvidia and Dolby to arrange what profiles work and the licensing there.

But dvhe.07.06 works already, well mostly. One of the Plex staff members acknowledged a bug to me by PM after I submitted a sample file and raised it with Nvidia. This was back in January. Hasn’t Plex followed up with them?

It’s more a happy coincidence that profile works. There is nothing further that we can do at this time

Figured I would share Nvidia’s response as well: Dolby Vision and Plex | NVIDIA GeForce Forums

I was wondering why it even works at all…

1 Like

Issue could be related to TV-led DV.
Convert mkv to Profile 8 and try again. Is it triggers DV more constantly?
And what about P5?
I don’t have any issues with DV triggering on Player-Led Sony TV.

Also, have you tried another player like Kodi (DV build)?

What profile would Disney+ use? That doesn’t work for me either? I get sound, a blank screen and if I try to back out to the menu, I have to put the Shield to sleep and then wake it up again.

I believe they use profile 5. I’ve personally not had any issues with Disney+ on my Shield Pro (2019) triggering DV on my TV :man_shrugging:

Thanks.

Does your TV support DV at up to 60Hz?

Mine is limited to 30Hz and I am convinced that is where the issue lies.

Yes, it does

Do we know of any clients that officially support these profiles?