What does Transcode "Copy (DTS)" mean

Server Version#: 1.18.7.2457
Player Version#: 7.28.0.15501

I have a Sony kdl65w850c running the Plex App.
Connected to the TV via ARC I have a JBL SoundBar 5.1.

Both the TV and Soundbar say they support DTS and DTS ARC passthrough.

When I play AC3 5.1 media I see the soundbar report Dolby Digital. So it seems that Passthrough is working fine.

But when I play DTS media I see the soundbar report PCM.

If I look at the playback info in Plex the audio says.
Audio: Copy(DTS)
Transcode Reason: DTS audio is not supported by the device.

If I look at the Plex Dashboard
Audio: English (DTS 5.1) → Direct Stream

Tautulli it says
Audio: Direct Stream (DCA 5.1)

I am confused.

What does Copy (DTS) mean?
Plex player says it is transcoding the audio as DTS is not supported.
Plex Media Server Dashboard and Tautulli says Direct Stream.

Is it sending DTS to my soundbar?
It should support DTS so I am not sure why it says PCM.

I just tested the same movie on a USB stick using the Sony Video app. It correctly passes the DTS to the sound bar and the sound bar reports that it receives DTS. So I know that my hardware all supports DTS.

So the question is why doesn’t Plex passthrough the DTS to the soundbar and encodes it as PCM.

I believe this is the relevant log information.
It seems to fail when getting the DCA audio codec.

Can anyone help and fix this issue?

03-01 13:30:15.525 i: [PlaybackManager] Preparing for MovieName
03-01 13:30:15.527 i: [DefaultPlaybackManager] Passthrough is enabled.
03-01 13:30:15.555 i: [PlaybackManager] Audio codec required: dca
03-01 13:30:15.555 i: [DefaultPlaybackManager] Playback possible, downloading codecs…
03-01 13:30:15.558 i: [CodecManager] Attempting to download: dca
03-01 13:30:15.566 i: Fetching [method:POST] http://127.0.0.1:32500/services/codecs/decoder/dca?includeTypeFirst=1&X-Plex-Token=...3GJ2
03-01 13:30:15.716 i: [pms] /127.0.0.1:38209 - POST /services/codecs/decoder/dca
03-01 13:30:15.843 e: Error parsing XML from http://127.0.0.1:32500/services/codecs/decoder/dca?includeTypeFirst=1&X-Plex-Token=...3GJ2: Unexpected end of document
03-01 13:30:16.161 e: [CodecManager] Unknown return code (0)
03-01 13:30:16.289 i: [DefaultPlaybackManager] Codec failed to downloading, continuing…
03-01 13:30:18.665 i: [PlayQueues] Creating delayed remote PQ.
03-01 13:30:18.810 i: [MediaBrowserAudioService] onCreate

The full log below.

03-01 13:30:08.455 i: [UserAction] Click item MovieName (/library/metadata/388203).
03-01 13:30:08.473 i: [Download Item] Downloading item with uri server://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/com.plexapp.plugins.library/library/metadata/388203?asyncAugmentMetadata=1&checkFiles=1&includeExternalMetadata=1&includeExtras=1&includeRelated=1&includeRelatedCount=0&includeReviews=1
03-01 13:30:08.483 i: Fetching [method:GET] https://192.168.192.6:32400/library/metadata/388203?asyncAugmentMetadata=1&checkFiles=1&includeExternalMetadata=1&includeExtras=1&includeRelated=1&includeRelatedCount=0&includeReviews=1&X-Plex-Token=...difi
03-01 13:30:08.826 i: Creating PreplayMovieActivity.
03-01 13:30:08.981 i: [ServerManager] Updating reachability of 1 devices. Force: true. Reason: SidebarAllSourcesViewModel.
03-01 13:30:08.985 i: [ServerManager] Updating reachability of device Media PC. Force: true. Reason: SidebarAllSourcesViewModel.
03-01 13:30:08.985 i: [conn] Updating reachability for Media PC with 5 connections.
03-01 13:30:08.995 i: [conn] Testing connection for Media PC: https://192-168-192-6.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:32400 (Active Pool: 15)
03-01 13:30:09.010 i: [conn] Testing connection for Media PC: https://X-X-X-X.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:32400 (Active Pool: 9)
03-01 13:30:09.014 i: [conn] Media PC: testing relay connection https://172-104-57-184.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:8443 as it is the active relay server.
03-01 13:30:09.014 i: [conn] Testing connection for Media PC: https://172-104-57-184.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:8443 (Active Pool: 3)
03-01 13:30:09.015 i: [conn] Ignoring insecure connection for Media PC (Never): http://192.168.192.6:32400
03-01 13:30:09.015 i: [conn] Ignoring insecure connection for Media PC (Never): http://X.X.X.X:32400
03-01 13:30:09.021 i: Fetching [method:GET] https://192.168.192.6:32400/?X-Plex-Token=...difi
03-01 13:30:09.026 i: [ServerContentSource] Not able to find media provider from server as provider id is not present
03-01 13:30:09.028 i: Fetching [method:GET] https://192.168.192.6:32400/library/sections/1/all?sort=viewUpdatedAt:desc&viewOffset>=300&viewUpdatedAt>=1573353005&X-Plex-Token=…difi
03-01 13:30:09.046 i: [server] Knowledge complete: Media PC version: 1.18.7.2457-77cb9455c owned: false home: true videoTranscode: true audioTranscode: true deletion: false class: null
03-01 13:30:09.047 i: [conn] Device Media PC response time is 23.778292 ms
03-01 13:30:09.052 i: [conn] Connection SUCCESS Media PC ~ localConn: true conn: https://192-168-192-6.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:32400
03-01 13:30:09.052 i: [conn] (Media PC) We found the first connection.
03-01 13:30:09.055 i: [PlexDevice] Setting Media PC as the new active connection
03-01 13:30:09.056 i: [conn] Connectivity test to Media PC completed in 0.1 SECONDS → Connection: https://192-168-192-6.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:32400 token used: true types: [myplex] state: Reachable
03-01 13:30:09.105 i: [Boot] PreplayMovieActivity took 89ms to run create behaviours.
03-01 13:30:09.108 i: Fetching [method:GET] https://X-X-X-X.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:32400/?X-Plex-Token=...difi
03-01 13:30:09.113 i: [ServerContentSource] Not able to find media provider from server as provider id is not present
03-01 13:30:09.113 i: [Boot] FragmentWithBehavioursDelegate took 0ms to run create behaviours.
03-01 13:30:09.115 i: [Boot] FragmentWithBehavioursDelegate took 0ms to run create behaviours.
03-01 13:30:09.127 i: [server] Knowledge complete: Media PC version: 1.18.7.2457-77cb9455c owned: false home: true videoTranscode: true audioTranscode: true deletion: false class: null
03-01 13:30:09.128 i: [conn] Device Media PC response time is 18.857 ms
03-01 13:30:09.129 i: [conn] Connection SUCCESS Media PC ~ localConn: false conn: https://X-X-X-X.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:32400
03-01 13:30:09.142 i: Resuming PreplayMovieActivity.
03-01 13:30:09.234 i: Fetching [method:GET] https://192.168.192.6:32400/activities?X-Plex-Token=...difi
03-01 13:30:09.235 i: [ServerContentSource] Not able to find media provider from server as provider id is not present
03-01 13:30:09.235 i: [AugmentedContentHelper] Trying to load augmented content without an augmentation key
03-01 13:30:09.235 i: Fetching [method:GET] https://192.168.192.6:32400/library/metadata/388203/similar?X-Plex-Token=...difi&X-Plex-Container-Start=0&X-Plex-Container-Size=10
03-01 13:30:09.235 i: Fetching [method:GET] https://192.168.192.6:32400/library/metadata/388203/similar?X-Plex-Token=...difi&X-Plex-Container-Start=0&X-Plex-Container-Size=10
03-01 13:30:09.843 i: [Fetch] Fetched 0 items from /activities.
03-01 13:30:15.509 i: [OneApp] User can execute command without restrictions because he is entitled.
03-01 13:30:15.525 i: [PlaybackManager] Preparing for MovieName
03-01 13:30:15.527 i: [DefaultPlaybackManager] Passthrough is enabled.
03-01 13:30:15.555 i: [PlaybackManager] Audio codec required: dca
03-01 13:30:15.555 i: [DefaultPlaybackManager] Playback possible, downloading codecs…
03-01 13:30:15.558 i: [CodecManager] Attempting to download: dca
03-01 13:30:15.566 i: Fetching [method:POST] http://127.0.0.1:32500/services/codecs/decoder/dca?includeTypeFirst=1&X-Plex-Token=...3GJ2
03-01 13:30:15.716 i: [pms] /127.0.0.1:38209 - POST /services/codecs/decoder/dca
03-01 13:30:15.843 e: Error parsing XML from http://127.0.0.1:32500/services/codecs/decoder/dca?includeTypeFirst=1&X-Plex-Token=...3GJ2: Unexpected end of document
03-01 13:30:16.161 e: [CodecManager] Unknown return code (0)
03-01 13:30:16.289 i: [DefaultPlaybackManager] Codec failed to downloading, continuing…
03-01 13:30:18.665 i: [PlayQueues] Creating delayed remote PQ.
03-01 13:30:18.810 i: [MediaBrowserAudioService] onCreate
03-01 13:30:18.913 i: [PlayerService] onCreate
03-01 13:30:18.968 i: [ConnectivityManager] Device is under Ethernet
03-01 13:30:18.971 i: [Player] Changing to use ExoPlayer for playback.
03-01 13:30:19.253 i: [MemoryOptimisationBehaviour] Reducing memory cache.
03-01 13:30:19.268 i: [DisplayBehaviour] Current mode detected as 1920x1080 @ 60.0000Hz (1).
03-01 13:30:19.268 i: [RefetchCurrentItemBehaviour] Fetching current item
03-01 13:30:19.270 i: [MediaSessionHelper] Starting media session with tag: video
03-01 13:30:19.270 i: [MediaSessionHelper] Creating media session with tag: video
03-01 13:30:19.272 i: Fetching [method:GET] https://192.168.192.6:32400/library/metadata/388203?includeChapters=1&includeLoudnessRamps=1&includeRelated=1&X-Plex-Token=...difi
03-01 13:30:19.322 i: [MediaSessionBehaviour] Updatating metdata for video, thumb: false
03-01 13:30:19.337 i: [InteractionBehaviour] Slept, reason: Startup.
03-01 13:30:19.341 i: [DisplayBehaviour] New ExoPlayerEngine detected, enabling: false.
03-01 13:30:19.355 i: [Player][ExoPlayer] Using PlayQueueMediaSource
03-01 13:30:19.361 i: [MediaCodecVideoSyncRenderer] Setting block output buffer: false
03-01 13:30:19.361 i: [ExoPlayer][EventLogger] state [0.18, 0.00, window=0, true, IDLE]
03-01 13:30:19.366 i: [ExoPlayer][EventLogger] state [0.19, 0.00, window=0, true, BUFFERING]
03-01 13:30:19.368 i: [MediaDecisionEngine] Starting media decision for: MovieName (part index 0)
03-01 13:30:19.370 i: [MediaDecisionEngine] Transcode server selected: Media PC
03-01 13:30:19.372 i: [MediaDecisionEngine] Analyzing media: 1920x808 7677kbps (Container: mkv, Video: h264, Audio: dca)
03-01 13:30:19.376 i: [MediaSessionBehaviour] Updatating metdata for video, thumb: true
03-01 13:30:19.391 i: [MediaSessionHelper] Releasing media session with tag: video
03-01 13:30:19.396 i: [MediaSessionHelper] Starting media session with tag: music
03-01 13:30:19.396 i: [MediaSessionHelper] Creating media session with tag: music
03-01 13:30:19.444 i: [MediaDecisionEngine] Unable to direct play; DTS audio is not supported by the device
03-01 13:30:19.496 i: [MediaDecisionEngine] Content source doesn’t support decision making
03-01 13:30:19.496 i: [MediaDecisionEngine] Decision: CanPlay: true CanDirectPlay: false CanDirectStreamVideo: true CanDirectStreamAudio: false CanDirectPlaySubtitle: false CanTranscodeSubtitle: false CanDisplayVideo: true Transcode Reason: DTS audio is not supported by the device
03-01 13:30:19.496 i: [LoadControl] New bitrate: 200000, Maximum: 200000
03-01 13:30:19.498 i: [MediaDecisionMediaSource] Using FFMediaSource
03-01 13:30:19.503 i: [video] User maximum h264 profile determined: 52
03-01 13:30:19.506 i: [video] Device recommended h264 profile determined: 52
03-01 13:30:19.548 i: Creating PlayerActivity.
03-01 13:30:19.548 i: [Activity] Resuming the application, attempting to download item and children.
03-01 13:30:19.551 i: [BufferHelper] Assumed Bitrate: 400000, Segment Count: 46875
03-01 13:30:19.551 i: [BufferHelper] Detected memory pressure, reducing segment count to fit available memory: 512
03-01 13:30:19.551 i: [BufferHelper] Segment count: 3276
03-01 13:30:19.555 i: [MediaDecisionMediaSource] onMediaDecisionRefreshed (Sources: 1)
03-01 13:30:19.557 i: [video] User maximum h264 profile determined: 52
03-01 13:30:19.557 i: [video] Device recommended h264 profile determined: 52
03-01 13:30:19.580 i: [BufferHelper] Assumed Bitrate: 400000, Segment Count: 46875
03-01 13:30:19.582 i: [BufferHelper] Detected memory pressure, reducing segment count to fit available memory: 512
03-01 13:30:19.582 i: [BufferHelper] Segment count: 3276
03-01 13:30:19.582 i: [video] User maximum h264 profile determined: 52
03-01 13:30:19.582 i: [video] Device recommended h264 profile determined: 52
03-01 13:30:19.595 i: [BufferHelper] Assumed Bitrate: 400000, Segment Count: 46875
03-01 13:30:19.595 i: [BufferHelper] Detected memory pressure, reducing segment count to fit available memory: 512
03-01 13:30:19.595 i: [BufferHelper] Segment count: 3276
03-01 13:30:19.603 i: [Boot] PlayerActivity took 56ms to run create behaviours.
03-01 13:30:19.612 i: [PlayerActivity] Creating fragment
03-01 13:30:19.620 i: [FF] Creating context for playback.
03-01 13:30:19.648 i: [Player][DimensionsLayout] Resizing: 100 x 100
03-01 13:30:19.653 i: [FF] Setting additional option: resolve_hosts: 192-168-192-6.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plex.direct:192.168.192.6
03-01 13:30:19.654 i: [FF] Setting additional option: tls_verify: 1
03-01 13:30:19.654 i: [FF] Opening

Copy means just that. it’s copied the audio stream without making a change.

However, this could be confusing depending on the type of DTS you have. Regular 5.1 channel DTS may be supported and might work with passthrough but that also depends on your TV.

If your audio is DTS-HD or DTs-HD MA, these won’t work with ARC, so PMS is sending the DTS track to the app, then the app extracts the DTS core only. So both messages are technically correct in that DTS (the hd or hd-ma versions) are not supported but PMS is copying the DTS track to send to the client.

Is this the actual issue?

As you see my log has the same details.
I know the TV and soundbar support DTS via ARC as i can play it via a usb stick connected to the tv using the inbuilt video app.

The DTS codec is only needed to decode the audio locally on the device. If you are trying to passthrough DTS, it isn’t needed. So from that bit of the log, it would indicate that the app isn’t trying to passthrough DTS in that specific instance. You’re going to have to upload the entire log so I can understand fully what is going on.

Apples and oranges. The built-in player does things differently.

I have sent you the logs in a PM.

Thanks for helping.

FYI. I also found a work around method outside of the “Plex App” to play DTS.

  1. Enable DLNA Server on the Plex Media Server.
  2. Open the Sony Android TV native Video app.
  3. Browse Devices - Plex Media Server.
  4. Play Movie.

The sound bar then correctly recognises the DTS audio stream.

So at least this is telling me all my hardware support DTS via ARC.

Just need to figure out why the Plex App is not working/pass through the DTS audio.

Got your logs.

03-11 12:16:38.265 i: [MediaCodecCaps] Support detected: (audio/raw, Max: 8)
03-11 12:16:38.266 i: [MediaCodecCaps] Support detected: (audio/mpeg-L1, Max: 1)
03-11 12:16:38.266 i: [MediaCodecCaps] Support detected: (audio/mpeg-L2, Max: 1)
03-11 12:16:38.266 i: [MediaCodecCaps] Support detected: (audio/mpeg, Max: 2)
03-11 12:16:38.266 i: [MediaCodecCaps] Support detected: (audio/ac3, Max: 6)
03-11 12:16:38.266 i: [MediaCodecCaps] Support detected: (audio/eac3, Max: 16)
03-11 12:16:38.266 i: [MediaCodecCaps] Not support: audio/vnd.dts
03-11 12:16:38.266 i: [MediaCodecCaps] Not support: audio/vnd.dts.hd
03-11 12:16:38.266 i: [MediaCodecCaps] Not support: audio/true-hd

The Plex app checks what your device says it supports. Your TV is not reporting that it supports DTS, DTS-HD, or True-HD. This is why you see that message about DTS not being supported.

The native app might be bypassing/ignoring any hardware limitations and still using passthrough. Some apps can do this. Unfortunately, the Plex app will only do what it is told it can support.

Since it is told not to passthrough DTS, it decodes it locally to PCM and sends that.

Is it because of the Google Android ExoPlayer that Plex uses?

Is it that ExoPlayer is reporting to Plex that it does not support DTS?

If so does Plex use ExoPlayer 1 or ExoPlayer 2?

The Plex app uses Exoplayer 2. The app checks for codec support through the OS. That is a feature of Android TV. The hardware is suppose to report to the OS what it can support and the Plex app will check for what is reported. There have been cases where a device reports it’s capabilities incorrectly. There isn’t a override for that.

Thanks for the information.

I am trying to figure out if this is something that needs to be addressed in the ExoPlayer 2 code or in the Sony Android TV code.

I can then continue the conversation in either their GitHub or Sony forums to get them to fix it.

Also is there any log information from these systems that is being outputted into the Plex logs that I could send them which would detail the issue.

For Example does the message
[MediaCodecCaps] Not support: audio/vnd.dts
come from the output of ExoPlayer 2 library?

Does anybody have any advice on whether it is ExoPlayer 2 or Sony Andriod TV that is reporting to Plex that DTS is not supported?

It is the TV. The Plex app checks through the TV’s OS as to what codecs it supports. The lines I posted above are the results of that call. If the TV support DTS in some other proprietary method other than the one that is suppose to be used for Android, then that information won’t get reported back to Plex.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.