It would be awesome if there was an option in the settings that lets users customise how foobar2000 identifies itself as a DLNA client (currently it's "foobar2000-mobile/1.x", which I had to source from Plex's logs..). If not for a fully custom identifier, the option of appending something to that string would be more than enough. I imagine the submenu would show what the default/current string is and have the option of adding new entries and be able to choose between them.

Use case:
A couple of days ago I set up Plex Media Server on my FreeNAS box to use as a DLNA server to stream music to my phone over the internet (using VPN).

The reason I went with Plex is because it can do transcoding on the fly, it's pretty easy to setup (except DLNA :P) and is actively developed. Setting up DLNA client profiles on Plex is poorly documented, but what's worse is that there is close to no information at all on the internet on DLNA configuration in general. Funnily enough and for reference, this is the most comprehensive documentation I found! That said, I managed to make it work.

The issue at hand now is that I would like Plex to transcode all my lossless music when I'm using mobile data, but stream everything directly when I'm on WiFi. The only way I have thought of doing it with how things currently are, is to remove the foobar2000-mobile client DLNA profile, when I want direct play/download of everything, and put it back into place when I want transcoding. Also, every time I do either of the above, I have to restart Plex. It can be done but it's less than optimal.

I understand that maybe not many people would be interested in this functionality, but it "feels" not hard to implement, hence the request :) Feel free to give me alternative solutions (I'm pretty new to DLNA).


PS: Just in case some other poor soul stumbles upon this thread, below is my DLNA client config:

HTML Code:
<?xml version="1.0" encoding="utf-8"?>
<Client name="foobar2000-mobile">
    <Header name="User-Agent" substring="foobar2000-mobile/1.x" />
    <MusicProfile container="opus" codec="opus" id="StereoMusicTranscodeProfile" />
    <MusicProfile container="mp4" codec="aac" />
    <MusicProfile container="mp3" codec="mp3" />
    <MusicProfile container="ogg" codec="vorbis" />
    <MusicCodec name="opus">
        <LowerBound name="audio.bitrate" value="192" />
        <UpperBound name="audio.bitrate" value="256" />
and these are all different MusicProfiles I found from other client configurations. You can add/remove MusicProfiles in the DirectPlayProfiles tag to suit your needs. Also, for every container I included the most comprehensive list of codecs they support; remove the ones that don't apply to you:

HTML Code:
<MusicProfile container="aac" codec="aac" />
<MusicProfile container="ac3" codec="ac3,eac3" />
<MusicProfile container="asf" codec="aac,eac3,wmav1,wmav2,wmav3,wmapro,wmavoice,wmalossless" />

<MusicProfile container="flac" codec="flac" />

<MusicProfile container="mka" codec="aac,alac,flac,mp2,mp3,pcm" />
<MusicProfile container="mkv" codec="opus" />
<MusicProfile container="mkv" audioCodec="opus,flac,*" />

<MusicProfile container="mp2" codec="mp1,mp2" />
<MusicProfile container="mp3" codec="mp2,mp3" />
<MusicProfile container="mp4" codec="aac,ac3,alac,eac3,mp3" />

<MusicProfile container="ogg" codec="vorbis" />
<MusicProfile container="opus" codec="opus" />

<MusicProfile container="s16be" codec="pcm_s16be">

<MusicProfile container="wav" codec="flac,pcm" />
<MusicProfile container="wma" codec="wmav2" />