[Bug] DLNA: Hardcoded "Music Transcoding Bitrate" Preferences 320kbps override custom Client Profile

Server Version#: 1.43.1.10611 Linux
Player Version#: DLNA Player

Hello,

I am writing to report an issue regarding how Plex Media Server handles DLNA client profiles and music transcoding.

The Issue: It appears that the CodecProfiles and UpperBound settings defined in a DLNA XML client profile are being systematically overridden by a virtual “Preferences” menu generated by the server for DLNA clients. Specifically, the “Music Transcoding Bitrate” setting within the DLNA folder structure seems to take precedence over the server-side XML profile.

Technical Details: In the DLNA folder navigation, there is a “fake” folder path: Music > Preferences > Music Transcoding Bitrate

As seen in the attached screenshot, the maximum selectable bitrate in this menu is 320kbps.

Because this setting appears to act as a global override for the DLNA session:

  1. Even if a custom .xml profile is created with a MusicProfile allowing high-bitrate music files (setting high UpperBound for audio.bitrate).

  2. The server defaults to the “Preference” selection (which maxes out at 320kbps).

  3. This results in all high-quality FLAC files being transcoded to MP3/320kbps (or lower), regardless of the client’s actual capabilities defined in the profile.

Expected Behavior: The settings defined in the DLNA Client Profile (.xml) should be the authoritative source for device capabilities. If a profile specifies that a codec is supported without a bitrate limit (or a limit higher than 320kbps), the server should respect those parameters rather than defaulting to the hardcoded virtual “Preferences” menu.

Steps to Reproduce:

  1. Create/Modify a DLNA client profile to allow FLAC with an UpperBound of, for example, 2000kbps. Make sure that MusicProfile exists in TranscodeTargets

  2. Connect a DLNA client using that profile.

  3. Browse to Music > Preferences > Music Transcoding Bitrate.

  4. Observe that the maximum option is 320kbps.

  5. Play a high-bitrate FLAC file; the server will transcode it to match the “Preferences” selection rather than the XML profile’s capabilities.

Screenshot:

This effectively prevents using client profiles with transcode tragets and streaming of lossless or high-fidelity audio over DLNA to devices that are more than capable of handling it, as the 320kbps “ceiling” cannot be bypassed.

I would appreciate it if the team could look into allowing the Client Profile to take precedence over these virtual preference folders, or increasing the bitrate ceiling in that menu to accommodate lossless formats.

Thank you for your time and assistance.

That looks like an issue with the dlna client overriding the server. Is it possible the client can’t handle higher bitrate files? Have you tried connecting to another dlna server to see if you get the same behavior?

This behavior is client-agnostic, as verified on two different DLNA devices. The logs show that the settings in the DLNA menu dictate the limit; the XML profile is ignored whenever it attempts to set a higher bitrate (though lowering the limit works as expected). Notably, removing the MusicProfile from TranscodeTargets allows both devices to play FLAC files natively without transcoding.

I’ll need to set up dlna to check, but I don’t remember a menu like that when using dlna in the past. The profile augments what the client already has. I don’t believe it overrides it. If you remove the transcode profile all together than the client setting wouldn’t apply since a transcode would never happen, which would explain what you see.

Thanks for looking into this, @MovieFan.

To clarify a few points based on my testing:

  • The ‘Preferences’ Menu: This isn’t a client-side menu; it is a virtual folder structure generated and served by the Plex Media Server specifically for DLNA clients (located at Music > Preferences). It allows a user to toggle server-side settings via the DLNA browse interface.

  • Client Capability: I can confirm the clients handle high-bitrate files perfectly. When I remove the MusicProfile from TranscodeTargets, the server sends the FLAC files natively, and they play without issue at their original high bitrates. This confirms the bottleneck isn’t the client limitation, but the server’s decision to transcode.

  • The Conflict: The issue arises because I need TranscodeTargets to handle other formats the device doesn’t support (like DSD or older proprietary formats). However, as soon as any MusicProfile is active, the server seems to ignore the UpperBound bitrates in the XML and instead defers to that virtual ‘Preferences’ folder setting, which is hard-capped at 320kbps.

  • The Logic Gap: Essentially, there is no way to say ‘Transcode only when necessary, but use the high-quality limits defined in the XML.’ The 320kbps ‘Preference’ acts as a global ceiling that overrides the profile.

I can prepare a set of logs that show the server making the decision to transcode based on this 320kbps limit despite the XML profile allowing more. Would it be helpful for me to attach those here for a developer to see how the Music Transcode Bitrate setting is taking priority over the Client Profile?"

That sounds like the way the bitrate setting is suppose to work. Just seems like it’s missing the original option the regular apps have.

Have you tried a video file? Curious if the option is missing there too. I haven’t had time to check yet.

@MovieFan What do you mean by “original option”?