nextURI failed to load when streaming over UPnP

timw99

Member
Joined
Aug 11, 2023
Messages
16
I'm trying to stream to my WiiM Pro using the UPnP/DLNA bridge plugin on Logitech Media Server. I don't know if this is a WiiM issue or an issue with the plugin, but whenever I play any files with the gapless setting to 'yes', about half of the queue will be skipped before it starts playing a track. Logs show the following error whenever it skips:

[22:28:42.608281] _SyncNotifState:643 [0xb4e6a0]: nextURI http://192.168.0.29:38225/bridge-3.flac failed, requesting LMS to go next

If I change the gapless setting to forced, it's fixed but then I'm obviously missing gapless playback. DSOTM is at least 50% less enjoyable without it. 🙃
Any suggestions?

Edit: I'm also open to other suggestions for playing files from my NAS. Been at this all day. Using other DLNA servers as well to play straight from the app but they're missing stuff like search, don't order tracks correctly or only send low res album art.
 
Last edited:
It's playing fine without the gapless setting though, meaning the standard UPnP protocols are working.
Agreed but I’d still put money on the Docker.
One thing he could try is installing the Bridge on a different machine as a test. It doesn’t have to run on the same machine as LMS.
There are instructions on GitHub I think.
 
I think you may need to add a port for upnp
You shouldn't need those ports mapped with network_mode of host (it's akin to running on the server itself) and if it did need those ports mapped then there wouldn't have been any playback/discovery at all, in theory.
 
You shouldn't need those ports mapped with network_mode of host (it's akin to running on the server itself) and if it did need those ports mapped then there wouldn't have been any playback/discovery at all, in theory.
In which case it isn’t intended to run in host mode as those are the standard instructions and the port mapping is required but as I say I don’t use Docker and not the correct person to ask.
 
In which case it isn’t intended to run in host mode as those are the standard instructions and the port mapping is required but as I say I don’t use Docker and not the correct person to ask.
The configuration in the documentation exposes as little of the server as possible (most secure), and would allow you to run multiple instances at the same time (with port mapping changes). I'd be surprised (although not that surprised as I don't really know what I'm talking about either) if host mode wasn't supported.
 
The configuration in the documentation exposes as little of the server as possible (most secure), and would allow you to run multiple instances at the same time (with port mapping changes). I'd be surprised (although not that surprised as I don't really know what I'm talking about either) if host mode wasn't supported.
The upnp plugin page specifically states to put the container in host mode if you're using docker. It should be supported. Honestly hoping the native squeezelite client update comes soon.
 
The upnp plugin page specifically states to put the container in host mode if you're using docker. It should be supported. Honestly hoping the native squeezelite client update comes soon.
I was wondering that as UPnP broadcasts on port 1900 so the WiiM (in its current UPnP mode) wouldn't have been found.
 
I will share my 2 cents from playing around with multiple systems. First of all LMS and Bubbleupnp both are using “openhome” upnp protocol. They are NOT the same as traditional upnp standard protocol. When LMS or bubbleupnp broadcast streaming content to a upnp devices (such as volumio or in this case, the wiim player). You will get some what weird behaviors!

1. Playback time inaccurate
2. Can’t fast forwards by time. It will skip to next song or stop playback
3. Refuse to fast forward to next song

To properly fix the issues! You have one options.

Use bubbleupnp to create your current upnp device into a virtual “openhome” upnp device. And use “openhome” upnp app to push playback into a traditional upnp devices (such as Sonos, wiim, or any others. What bubbleupnp server did is to transcode in real time! And makes virtual upnp devices has proper “profile” to force standards upnp devices to playback normal.

This behavior is observable especially from a device like chromecast. Chromecast is not an openhome upnp device. But through bubbleupnp server set up a virtual device for chromecast. Whatever stream cast to chromecast through bubbleupnp will get transcoded on-fly! Hence! Converts to traditional upnp protocol and device profile.

So to solve wiim players can’t accept openhome upnp streams, you simply use bubbleupnp server create a virtual device for wiim.

The only problem with that is you can not use wiim app to control the playback! You have to use bubbleupnp apps (or any app that uses openhome protocol) to push the command to playback.

I know the answer sounded complicated! That’s because we often misunderstood upnp = openhome upnp. In some degrees they are the same! But in reality they aren’t!

That’s why you will see LMS push to squeezebox just fine! But push to volumio it isn’t!

You also will evident when push traditional upnp protocol to wiim player. due to profile indifference! Wiim will NOT playback DSF/DSD/DFF file type even it pretends it can play!

But going through bubbleupnp as middleman to force transcode! DSD will become DoP conversion! In the end when it sends to wiim it become PCM! And wiim has no problem to playback that!
 
LMS using OpenHome UPNP? @d6jg, what say you? ;)
I say I have never tried and I'm quite glad I haven't.

I will add that although LMS can act as a UPnP server (whether that is OpenHome or plain UPnP is a bit moot) there has been no development on that front for years. It is far better when it uses its own slimproto which is what it will be doing whenever it is talking to a squeezebox or squeezelite client.
 
The BubbleUPnP app handles both protocols, LMS only UPnP (although not very well with WiiM) and squeezelite is something completely different that only works through LMS.
 
The BubbleUPnP app handles both protocols, LMS only UPnP (although not very well with WiiM) and squeezelite is something completely different that only works through LMS.
Exactly that. I am really not sure what he was trying to say in relation to a squeeze client.
 
I say I have never tried and I'm quite glad I haven't.

I will add that although LMS can act as a UPnP server (whether that is OpenHome or plain UPnP is a bit moot) there has been no development on that front for years. It is far better when it uses its own slimproto which is what it will be doing whenever it is talking to a squeezebox or squeezelite client.

Thanks, I was querying the assertion that “LMS and Bubbleupnp both are using “openhome” upnp protocol” unless it was meant in the context of using its UPNP bridge or server plugins. I was aware LMS natively uses its own protocol but was leaving it to the experts to confirm that ;)
 
I had discovered the issue when I first comparing volumio vs LMS. Found out the chart below :

LMS -> squeezebox √
LMS -> volumio X
volumio + miniDLA upnp -> squeezebox √
LMS -> bubbleupnp -> squeezebox √
LMS -> bubbleupnp -> volumio √
LMS -> bubbleupnp app √

DSD playback :

LMS + upnp plugin -> squeezebox √
LMS + upnp plugin -> volumio X
LMS + upnp plugin + bubbleupnp -> volumio √
miniDLA upnp -> wiim X
miniDLA upnp -> bubbleupnp -> wiim √

with mix matching them.. conclusion was that bubbleupnp did transcoding on-fly and with created openhome virtual devices, suddenly wiim is able to playback LMS stream and it also works with DSD playback.

Without the middleman, playback is problematic.
 
There's the BubbleUPnP app and the BubbleUPnP server.
The BubbleUPnP server can proxy renderers to both DLNA or OpenHome devices. It can also optionally transcode the audio.

I'm not sure I've actually tried to see if BubbleUPnP server can see squeezelite, although I'm 99% sure it can't. I think you might be getting confused because the WiiM has so many interfaces e.g. UPnP, Chromecast and squeezelite.
 
Without the middleman, playback is problematic.
Scrubbing and skipping tracks from LMS to the WiiM UPnP interface has been problematic (or at last it used to be), that's been acknowledged.
I know there's a new version of the UPnP bridge in development, which may address that.
 
Back
Top