Does UMS support dlna search?

Developers forum for Univeral Media Server-related development (only for programmers)
Post Reply
dluck
Posts: 2
Joined: Thu Feb 13, 2014 2:04 am

Does UMS support dlna search?

Post by dluck »

I'm looking for dlna servers that support the dlna search operation. So far I've found Windows Media Player/Center, Twonky, and Minidlna support search. Plex and Serviio do not support search. I'm sure the answer to this question might be useful to other developers.
Thanks
Dale Luck
Nadahar
Posts: 1990
Joined: Tue Jun 09, 2015 5:57 pm

Re: Does UMS support dlna search?

Post by Nadahar »

I don't have any device that use it so I've never tested it. I've seen that there are some code related to search, but I've also seen others claim that it doesn't work. My guess is that it isn't implemented properly.
atamariya
Posts: 146
Joined: Sun Aug 11, 2013 1:15 am

Re: Does UMS support dlna search?

Post by atamariya »

@dluck I've created a fork of UMS supporting search. You can try it out https://github.com/atamariya/UniversalM ... r/tree/dev
holografik
Posts: 23
Joined: Tue Feb 11, 2020 8:55 am

Re: Does UMS support dlna search?

Post by holografik »

I had the same question as OP. Search was not working for me on a Denon AVR-4311CI. I fired up eclipse, and I'm breaking on what appears to be base class implementation of function for which the comment above is:
* TODO: (botijo) What is the intention of this function? Looks like a prototype to be overloaded.
Here is the github permalink

I'm not sure what a priority this functionality is given the MediaLibrary folder, but it sure is annoying.

If someone told me how this is supposed to work, or pointed me at the relevant documentation, I might try to fix this in the near future. I just don't want to break it if it's working for someone ... I haven't investigated enough to know.
Nadahar
Posts: 1990
Joined: Tue Jun 09, 2015 5:57 pm

Re: Does UMS support dlna search?

Post by Nadahar »

I have no idea if some subset of it is working under some specific circumstances with the current implementation, but I can pretty much guarantee that it generally doesn't work. I doubt the current implementation works under any circumstances.

I don't think implementing it is trivial. You have to look at the history of the project, and to the "ancestor" PS3 Media Server. PS3MS never implemented UPnP AV or DLNA fully, it never attempted to do so. Instead, if focused on implementing "just enough" to make it work for the PS3. The PS3 supports the very first iteration of DLNA, and a lot has happened since then. The UMS implementation has never been broadened to support the standards, it has only been "hacked" to make some things work on other renderers. Generally, it's incorrect to say that UMS supports DLNA, it only partially supports a few things from DLNA. Most of what UMS does falls withing UPnP AV, but many things in that standard aren't implemented either.

For those not familiar with the subject, the UPnP AV architecture is an audio and video extension of UPnP, and defines most of the basic structure for DLNA as well. DLNA is a standard that is placed "on top of" UPnP AV, that specifies a lot of things that are "vague" in UPnP AV. In short, UPnP AV only defines how to present metadata and exchange capabilities, but has not mechanisms to ensure compatibility between the server and client, and doesn't cover the media transfer at all. So, in effect, UPnP AV leaves a lot to be desired, because the world isn't as simple as either supporting for example Matroska files or not. There's a lot of details about the versions, codecs, type and number of streams etc that needs to be negotiated before playback compatibility can really be determined. DLNA tries to do all this and more, to make UPnP AV "usable in the real world". DLNA has many shortcomings though, and the fact that it has been developed by and for a group of commercial actors that has never really been interested in an open standard or general usability is quite evident when it comes to many details. As of today, DLNA has been dissolved and a private company has been established to milk everybody that wants to be DLNA compliant for as much money as possible (per unit licensing for logo use plus loads of cash for documentation, test tools and certification as far as I know). The last publicly available "DLNA guidelines" are from 2016, and I don't think newer versions will ever be released publicly. The 2016 public version is a "trimmed down" version of other earlier, non-public versions of the documents.

When it comes to the search functionality, I think most or all of this can be found in UPnP AV. It's version 1.0 of this standard that is of interest, I don't know if the newer versions have been implemented much "in the real world". DLNA is also based on the 1.0 version of UPnP AV. It might be that some bits of it is also found in DLNA, you'd have to check both standards to be sure. UPnP AV can be downloaded freely, the public DLNA guidelines from 2016 can also be downloaded for free, although it requires registration. As always, it's not allowed for others to make it available, so everybody has to make the effort of registering and downloading themselves.
[email protected]
Posts: 3
Joined: Mon Aug 16, 2021 8:05 pm

Re: Does UMS support dlna search?

Post by [email protected] »

Hi there,

Nadahar is of course right. To implement a generic implementation is pretty hard, but also for the rendering part one has to figure out individual configurations.

Regarding the UPnP searching: actually the implementation is working, maybe not in all flavors. I've tested some control points:

- for Android devices BubbleUPnP (finds audio and video files)
- for iOS LINN App (seems to work with any streamer, audio files)
- for iOS LUMIN App (controlling devices like Lumin U1 streamer, audio files)

Each app has some own presentation logic to display search results.
Post Reply