Denon - Qobuz - bubblUPNP server: playlist

110 views
Skip to first unread message

Michael Waldor

unread,
Aug 24, 2025, 12:24:35 PMAug 24
to BubbleUPnP
My main goal is to use bubbleupnp to render Qobuz towards Denon AVR  (connected by LAN wire and optical fiber router providing 300Mbits).

Because I encounter dropouts I tried to add bubbleupnp server as a proxy running on a raspberry pi 4. It works, I can select the (new) OpenHome Denon renderer, but its playlist is independant from the local renderer.

My expectation would be to e.g. start playback of an Qobuz album using local renderer and THEN switch over to the OpenHome renderer. But that is not possible. Playing now is always empty. Now I can create a new playlist, being independant from the local one.

Did I misunderstand the functionality of bubbleupnp server?

Of course I first tried bubbbleupnp's proxy setting - it works as expected, but it will drain battery from smartphone.

Bubblesoft

unread,
Aug 25, 2025, 6:24:00 AMAug 25
to BubbleUPnP
Hi,

The main characteristic of an OpenHome renderer (for which you made one for your Denon in BubbleUPnOP Server) is that 
each renderer has its own playback queue (Playlist tab content in Android BubbleUPnP) and that it manages track advances.
That's what allows to not require to keep Android BubbleUPnP running in the background for track advance (unlike when playing to an UPnP AV or Google Cast renderer).

There is still a way to do what you describe using the OpenHome renderer for your Denon.

You can transfer playback from any renderer to another:

While renderer A is playing:

- go into the 'Now Playing tab'
- tap the cast icon in the top bar
- use 3 dot menu on renderer B where you want to play to
- select 'Continue playback' here. This will replace whatever playback queue renderer B had by the playback queue
of renderer A

Michael Waldor

unread,
Aug 26, 2025, 3:06:03 PMAug 26
to BubbleUPnP
Thanks a lot for your clarification. But I still encounter two (independant) errors - from my perspective related to my original question:

1. problem to playback the very first track:
I can start playback of a fresh album. But always the first track won't start. It stops after 1..2s, then I can restart it from within renderer or controller. It stops again. And finally it runs as expected including all following tracks. I tried two renderes with the same problem - neutron app and Denon AVR using DLNA. The "UPNP chain" always is:
bubbleUPNP as controller at Android device (tried different models & Android versions)
-> bubbleupnp server running on raspberry pi4
-> renderer (Denon AVR or neutron app on same Android device)
<- Qobuz as UPNP server.
Watching network traffic I could see traffic shortly BEFORE each next track starts. Thus maybe bubbleupnp server downloads one track as a whole to serve it with less (or hopefully no) interruptions. That might explain my problems with the firt track.

I guess I'm using the toolchain in a wrong fashion:
- first I start the renderer doing nothing,
- second within bubbleupnp I select the proxy OpenHome renderer, empty playlist
- third I select an album from Qobuz and press "Play" within bubbleUPNP reporting to setup the playlist
- now I encounter some error message within bubbleUPNP (telling something with 403 - too fast to read)
- playback at renderer starts, but stops immedeately
- now I switch back and forth between controller and renderer, after 3..4 tries pressing play it works flawlessly including the full playlist.
How should I proceed to avoid track 1 errors?

[I admit that I had problems w.r.t IGMP snooping - I disabled it yesterday within my switches improving UPNP communications. But I can't change it within my AVM fiber router.]

2. missing metadata on now playing screen @Denon renderer
Probabely an error within Denon's implementation of DLNA within their receivers/Heos. The Denon renderer displays some informations within its "now playing" screen. And if using the OpenHome proxy in between, some metainformations are missing - most annoying the current postion and the remaining playtime. Even worse, both informations are also missing within bubbleUPNP controller. Is there any option within bubbelupnp server to somehow provide that metainformation? I do know that Denon CAN display everything - if I use their Heos app, all informations are available (besides current postion also missing for OpenHome proxies are stream format, sampling rate, bitsiz, and provider icon).

Regards, Michael

Simon

unread,
Aug 27, 2025, 1:38:04 AMAug 27
to BubbleUPnP
Hello,
I had the hickup issue on my Marantz SR7010 with Tidal with a lots of hickups on 1Gig line..
Test and enable in router / switch, but mainly in router fixed it for me.
In Edgerouter X as i use that router.
Enable these: 
Igmp Proxy 
Igmp proxy downstram and upstream
Igmp Snooping, edgerouter x doesn't have this, why IGMP proxy is used.
MulticastAnd also need tobbe enabled, try to enable ICMP if you have that ib ypur router (and i you have switches that can be logged into)

Igmp down/upstream did the final trick for me. After that the SR7010 could stream without any issues, even 192/24 from streaming services, and that reciever only had 100 mbit ethernet for what i could remember.
I don't know if qobuz relays as hwavy on igmp as tidal, but all hickups disappeared when those got enabled in router.
Then i couöd stream with Bubble without using open home and the need of proxying in Bubble.

Michael Waldor

unread,
Aug 27, 2025, 3:57:05 AMAug 27
to BubbleUPnP
[I've forgotten to report one minor detail - my first installation of bubbleupnp server failed due to the missing folder /usr/share/man/man1 (my raspberry has not installed man pages). Thus I simply created that folder and could redo installation without errors.]

And I did some further testing: Each time when I want to switch from one album to some other album, the very first track is stopped and must be restarted multiple times, finally on the renderer (in my case it was the neutron app).

@Simon: I cannot manipulate IGMP within my router, simply not supported. I can engage an UPNP option, and that is switched on.

Michael Waldor

unread,
Aug 27, 2025, 9:37:32 AMAug 27
to BubbleUPnP
Just now I could play the first track without multiple stops. I have used the Add button from mediathek (to an empty playlist), and then the Play button of the now playing screen. Maybe the Play button of the mediathek does not work as expected?

And - maybe - my smartphone's Android being 9.1 is too old for the "Cast to" switch, it's missing from the renderer dropdown menu while I have it on my tablet with Android 14.

Now I'm testing if the proxy from bubbleupnp server ensures playback without interrupts (my main goal) of Qobuz.

Regards, Michael

Michael Waldor

unread,
Aug 27, 2025, 1:38:41 PMAug 27
to BubbleUPnP
Sorry, it's me again. But maybe I have an idea wrt my playlist problems. Again I did some experiments, and one playlist has been played without problem, except for its last track. Then I redo that, but I appended a second album onto the first one. Then the last track of the first album was played fine. My guess from that: maybe bubbleupnp server somehow encounters problems on the first AND last tracks?

Regarding missing metadata, I should be more precise: the time of the current track is available from my Denon renderer and updated once per second. Missing are the remaining time of the current track and the progress bar. But bubbleUPNP's  playlist does know the playtime of the current track. Maybe you could calculate the missing remaining time (if not being available from renderer) within bubbleUPNP as a kind of workaround? Hope that's a helpful hint.


Thanks in advance, Michael

Michael Waldor

unread,
Aug 29, 2025, 2:59:09 AMAug 29
to BubbleUPnP
Today I've watched bubbleupnp server's logfile during playback: One can clearly see that bubbleupnp server downloads the next track to be played shortly before the current track ends. And I could see the downloaded file within ~bubbleupnp/proxytmp. But when reaching the end of the second last track there is a difference:

Sending device descriptor retrieval message: (c) GET http://127.0.0.1:58645/dev/972205a4-26de-4f39-9d42-9062dd3acfbc/desc.xml
Sending device descriptor retrieval message: (c) GET http://192.168.178.37:58645/dev/972205a4-26de-4f39-9d42-9062dd3acfbc/desc.xml
Client connection was aborted: java.net.ConnectException: Verbindungsaufbau abgelehnt (Connection refused): http://127.0.0.1:58645/dev/972205a4-26de-4f39-9d42-9062dd3acfbc/desc.xml
Device descriptor retrieval failed, no response: http://127.0.0.1:58645/dev/972205a4-26de-4f39-9d42-9062dd3acfbc/desc.xml

The IP used above is the IP from my Android tablet running bubbleupnp.

Some seconds later - after the second last track has finished - I got

proxy reader (writer tid: 133): error copying stream: org.eclipse.jetty.d.o
proxy reader (writer tid: 133): response complete
proxy reader (writer tid: 133): total bytes copied to response: 4285410 / 40732074
proxy: deleted temp file: /shared/imurr9/bubbleupnp/proxytmp/extproxyservlet5990515848534072883.tmp, size: 40732074
proxy reader (writer tid: 133): end

~bubbleupnp/proxytmp is empty, and playback has stopped. bubbleupnp controller app still shows the last track without progress.

Hope that information helps.


Regards, Michael

Michael Waldor

unread,
Aug 30, 2025, 11:42:07 AMAug 30
to BubbleUPnP
As a last resort, I tried to re-install bubbleupnpserver: stopping bubbleupnpserver, apt remove, apt install. I got one probabely irrelevant error from apt
 W: Repository is broken: bubbleupnpserver:armhf (= 0.9-8) has no Size information

But I see the same behaviour afterwards: When creating a new playlist, playback starts with the second track. And when the second last track has been reached, playback proceeds to the last track for ~1s and stops then. I.e. neither the first nor the last tracks can be played directly if using bubbleupnpserver as proxy for my Denon AVR  using Qobuz and bubbleupnp as controller app.

During the copy of the last track I always see within bubbleupnp server's log:
proxy reader (writer tid: 171): error copying stream: org.eclipse.jetty.d.o

BTW, during my UPNP experiments sometimes playlist handling seemed to be completely broken, within bubbleupnp controller some GUI elemnets (e.g. current title or Play button) were rendered in red, probabely indicating a major error. Now cured.

Howto proceed?

Bubblesoft

unread,
Sep 4, 2025, 7:55:43 AM (11 days ago) Sep 4
to BubbleUPnP
Hi,

Sorry for the delay answering this but I've been busy with other things.

First some general info:

- when you hit the Play button in Android BubbleUPnP in the Library tab (or choose one of the various Play action in the 3 dot menus) to play to 
an OpenHome renderer, Android  BubbleUPnP will add the first track to the Playlist (tab), instruct the OpenHome renderer (BubbleUPnP Server) to play it, then add the remaining tracks.
That sequence is to limit the waiting time before the first track plays.That probably explains the playback issue of first track you encountered doing this. 
As you noticed, if you enqueue the tracks to the Playlist tab then play, first track should play properly.

- Qobuz streaming is more complicated than streaming FLAC stored on your local network on an UPnP/DLNA: there is much more potential for failures and problems. I will redo some test with Qobuz to check how it goes. It would be interesting to report if you observe the same issue playing (to the OpenHome'd Denon) a FLAC album stored on your local network 

- It would also be interesting to check if using Android BubbleUPnP to play Qobuz to your Denon renderer as a regular UPnP AV renderer works properly. If you perform this test,
disable the OpenHome renderer managed by BubbleUPnP Server to make sure it does not interfere. See below for logging instructions in case of a problem detected here

- the IGMP thing has nothing to do with playback problem. It is related to device discovery on the network, for example for a device that is not or unreliably found or that disconnects unexpectedly.

- Metadata displayed on the Denon and Android BubbleUPnP: BubbleUPnP Server when it instructs the OpenHome'd Denon to play a track, gives it quite a bit of metadata. However, time elapsed and track duration is returned from the renderer to BubbleUPnP Server which in turn transmits it to Android BubbleUPnP. It's not impossible that there is a problem here

How to help me troubleshoot


For me to troubleshoot, log files are essential. Also it is essential to troubleshoot one problem at a time.
First, I suggest to verify that the Denon controlled by Android BubbleUPnP as a regular UPnP AV renderer works fine when playing Qobuz tracks to it.
If it does, we can proceed to troubleshoot BubbleUPnP Server. 
If you have issue with the above, you can send me (bubblesof...@gmail.com) an Android BubbleUPnP log file, triggering the problem:

- launch the app
- go into More > Settings > Control
- Enable "logging to file" (at the end of the page).
- IMPORTANT: Exit the app (More > Exit)
- restart the app
- run the app and trigger the problem (example, track advance stops unexpectedly, metadata is missing in the 'Now Playing' tab or on the Denon display, ...)
- exit the app (More > Exit)
- email me the files found on internal storage:

On Android 10 and below:

/Android/data/com.bubblesoft.android.bubbleupnp/log.txt
/Android/data/com.bubblesoft.android.bubbleupnp/prev_log.txt (if present)

On Android 11 and higher:

/Downloads/com.bubblesoft.android.bubbleupnp_log.txt
/Downloads/prev_com.bubblesoft.android.bubbleupnp_log.txt (if present)

You can access them with a file manager app and share them to your email app for sending them.

IMPORTANT: Make sure to not restart BubbleUPnP until you have sent or saved the log file as it is overwritten on app startup. 

///////

Next to troubleshoot BubbleUPnP Server (one problem at a time with a separate log file for each problem):

- stop BubbleUPnP Server
- delete the log file (filename is BubbleUPnPServer.log.0, located I believe in /home/bubbleupnp
- start BubbleUPnP Server
- with Android BubbleUPnP make sure to clear the Playlist tab for the OpenHome renderer 
- trigger the problem with Android BubbleUPnP
- stop BubbleUPnP Server
- save the log file somewhere with a descriptive name and send it to bubblesof...@gmail.com with a precise description
of what you did and what happened
Reply all
Reply to author
Forward
0 new messages