Page 1 of 2

UPnP Problem

PostPosted: Tue Jan 28, 2014 4:42 am
by Nordicjan
Hey i wanna setup Subsonic on a Windwos 2008 R2 (Standalone for now IIS perhaps later)

Everthing is runnig well over the Webinterface BUT i have big problems getting the UPnP to work.
I wanna access my files on the Subsonic server From my denon but it wont work.
If i Browse the DLNA Server i only can access the music folder in a strange recursive way withour seeing any files. (like on the screenshot)

Any Idea how i can fix this?
The Subsonic can obvisly access my files since web playback works flawlesy!

(Sorry for my bad English...have a night of try an error behind me and its not my mother tongue.. ;) )

Image

Re: UPnP Problem

PostPosted: Mon Feb 17, 2014 7:17 am
by Krycha512
I have the same problem o Ubuntu with Subsonic 4.9.

Re: UPnP Problem

PostPosted: Fri Mar 07, 2014 2:20 pm
by RecceDG
Me too.

WinXP WMP does just what you describe.

Win7 WMP shows top level categories, but finds no files.

VLC just segfaults :(

Any ideas as to what the problem is?

Also running on Ubuntu

Re: UPnP Problem

PostPosted: Fri Mar 07, 2014 2:31 pm
by RecceDG
Trying from a Win7 machine got nothing in the logs.

But I noticed this from last night's testing:

[3/7/14 12:10:52 AM AST] INFO FolderBasedContentDirectory UPnP request - objectId: 0, browseFlag: BrowseDirectChildren, filter: *, firstResult: 0, maxResults: 0
[3/7/14 12:10:53 AM AST] INFO FolderBasedContentDirectory UPnP request - objectId: playlists, browseFlag: BrowseDirectChildren, filter: *, firstResult: 0, maxResults: 0

Something appears borked.

Re: UPnP Problem

PostPosted: Fri Mar 07, 2014 4:56 pm
by RecceDG
Soundbridge found the server (YAY), found the Library and Playlists. Browsing Library appeared to exhibit the same recursion issue as WinXP WMP - no files, just "Library" over ad over again. Playlists did find the playlist created, with the proper name, and the playlist contained all the song titles expected but no songs played.

This was in the logs:

Code: Select all
[3/7/14 11:41:21 AM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 2469, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 11:41:26 AM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 5294, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 11:41:30 AM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 852, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 11:41:32 AM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 1244, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 11:41:33 AM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 3282, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 11:41:36 AM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 3267, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 11:41:37 AM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 3967, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 11:41:38 AM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 1425, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 12:29:51 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 0, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:29:52 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 0, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:29:53 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 0, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:29:54 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 0, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:29:55 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 0, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:29:55 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 0, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:30:03 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 0, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:30:05 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: playlists, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:30:07 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: playlist-0, browseFlag: BrowseDirectChildren, filter: dc:title,upnp:class,res,res@protocolInfo,res@protection,@refID, firstResult: 0, maxResults: 400
[3/7/14 12:30:23 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 3267, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 12:30:25 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 3967, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400
[3/7/14 12:30:26 PM AST]    INFO   FolderBasedContentDirectory   UPnP request - objectId: 1425, browseFlag: BrowseMetadata, filter: dc:title,upnp:class,@refID,res,res@protocolInfo,res@size,res@duration,res@bitrate,res@bitsPerSample,res@nrAudioChannels,res@sampleFrequency,res@protection,upnp:originalTrackNumber,upnp:artist,upnp:album,upnp:genre,upnp:author, firstResult: 0, maxResults: 400

Re: UPnP Problem

PostPosted: Fri Mar 07, 2014 6:52 pm
by RecceDG
Aha!

I downloaded a tool called UPnP Inspector http://coherence.beebits.net/wiki/UPnP-Inspector which allows browsing the UpnP file structure directly.

It shows exactly what my Soundbridge and WMP is experiencing:

Opening the Playlists works exactly as expected. But opening the Library is returning a reference back to the library root. It's like something is dereferencing the wrong pointer or object handle.

This is clearly a bug in Subsonic, and is likely a simple typo in the code.

I attached a screenshot of the inspector, although it's a little hard to read when scaled to meet the upload limits.

Re: UPnP Problem

PostPosted: Mon Mar 10, 2014 11:10 pm
by RecceDG
Hello?

Anybody?

Re: UPnP Problem

PostPosted: Wed Apr 02, 2014 4:58 am
by daneren2005
RecceDG wrote:Aha!

I downloaded a tool called UPnP Inspector http://coherence.beebits.net/wiki/UPnP-Inspector which allows browsing the UpnP file structure directly.

It shows exactly what my Soundbridge and WMP is experiencing:

Opening the Playlists works exactly as expected. But opening the Library is returning a reference back to the library root. It's like something is dereferencing the wrong pointer or object handle.

This is clearly a bug in Subsonic, and is likely a simple typo in the code.

I attached a screenshot of the inspector, although it's a little hard to read when scaled to meet the upload limits.

It looks like (at least for me), this problem only exists for the first folder. If you really desperately want DLNA, you could just create a dummy first folder, then have the second one actually be your music. But you would lose all your data like your playlists since it would have to rescan for everything from scratch. Obviously it still needs to be fixed, just thought I'd share my experience with it.

Re: UPnP Problem

PostPosted: Wed Apr 02, 2014 5:07 am
by daneren2005
My best guess is that the problem is here:
Code: Select all
if (CONTAINER_ID_ROOT.equals(objectId)) {
     return browseFlag == BrowseFlag.METADATA ? browseRootMetadata() : browseRoot(firstResult, maxResults);
}

If you have a folder with the id 0 (which is the default first one), then it will get into infinite recursion since CONTAINER_ID_ROOT is 0. Should be fairly easy fix to just change the root container id to be -1 instead, but also fairly easy to overlook since Sindre has had his server up for ages and probably doesn't have any folders with id 0 anymore :D

edit: NM, changing CONTAINER_ID_ROOT doesn't work. Probably just need to add a folder prefix similar to how he has a playlist prefix to differentiate.

Re: UPnP Problem

PostPosted: Thu Apr 03, 2014 10:58 am
by RecceDG
So a dummy first folder where? Where does this fit in the file structure?

Can you reach the Subsonic dev to get this bug fixed? I haven't seen any response to emails or forum posts.

Re: UPnP Problem

PostPosted: Tue Apr 08, 2014 4:32 am
by daneren2005
Here is a .war where the problem is fixed, as well as some other changes I have made/merged from what Sindre is working on. Few caveats:

1) I'm not going to make a version that is the same as 4.9 except with the fix.
2) I'm not going to hand hold people through upgrading. They need to replace the existing subsonic.war, wherever it is on their system. The standard location for Ubuntu is /usr/share/subsonic/subsonic.war. I have no idea where it is for everyone else. Make sure to stop the service before upgrading.

Link is here: https://www.dropbox.com/s/emwnyuec4njlcrc/subsonic.war
List of changes is here: https://github.com/daneren2005/Subsonic ... ter/README

The change if Sindre wants to merge it is at https://github.com/daneren2005/Subsonic ... d455e2aa6d

Re: UPnP Problem

PostPosted: Tue Apr 08, 2014 12:07 pm
by RecceDG
OK, progress:

Good

- UPnP Inspector now finds the server and can browse the tree

Bad

-Windows Media Player finds server, but no files of any kind
- VLC crashes on attempting to locate UPnP servers (looks like VLC bug though)

Known Unknowns

- not yet tested with SoundBridge 1000
- not yet tested with BoxeeBox

Thanks so far.

Re: UPnP Problem

PostPosted: Tue Apr 08, 2014 2:31 pm
by daneren2005
How do you browse UPnP shares in VLC? I don't see it as an option. And it looks like WMP just completely ignores what the UPnP server says it has, and just expects it to have a certain schema. Plex also shows as having no media when trying to use it.

Re: UPnP Problem

PostPosted: Wed Apr 09, 2014 4:27 am
by RecceDG
VLC -> View, Playlist. It's there.

At one time it worked (with MediaTomb at least). Now it just crashes. Probably a VLC bug.

Soundbridge doesn't work either - it browses fine, tries to play each file, but states "Error playing file" and skips to next (which also fails)

Playlists or Library, it browses just fine, but won't read the actual files.

Something is still borked.

Re: UPnP Problem

PostPosted: Wed Apr 09, 2014 5:46 am
by daneren2005
Honestly, the only thing I tried was BubbleUPnP which seems to work fine. Googling VLC UPnP I'm going to wager that is a common problem there. I can try to look at Soundbridge at some point. I can also try looking and seeing if it works on my PS3.