Gapless playback of Jellyfin source via BubbleUPNP

Flesh

Member
Joined
Feb 18, 2024
Messages
43
I configured one of my WiiM Pro renderers in BubbleUPNP to enable "Gapless control" for the device. When playing a track on repeat, it does not play gaplessly. I have a 10-second audio track that is pink noise so I can clearly hear gaps of approximately 2-3 seconds each time the track reaches its end, before restarting.

I have also attempted to create a playlist with the track repeated several times, just in case there is a problem with repeat mode only, but the playlist also has gaps between the tracks.

The track I am using in this case is a WAV file loaded from a Jellyfin server on the local network.

Is there something that does not work for gapless playback via DLNA when attempting to play files like these?
 
I don’t think that’s what gapless playback means - in my mind it’s for the playback of albums that are marked as gapless, not to remove gaps between any random or repeated tracks.

I am under the impression that, using the "set next track" URI, a UPnP renderer can pre-buffer the next track and play it without any (added) gaps between tracks. This is what makes "gapless" mean something other than "just stream a source" -- it's the fact that the source is sending a track at a time that makes "gapless" a special feature of the renderer (it must properly handle the next track queued up and ready to play immediately, without interruption).
 
BubbleUPnP 4.4.4
Latest WiiM Pro firmware (4.8.628343)
Firstly, are you sure you're not playing to Chromecast?
I'll test it myself shortly as WiiM have just fixed a bug that may need a BubbleUPnP update (a workaround was added that needs to be removed).
 
Firstly, are you sure you're not playing to Chromecast?
I'll test it myself shortly as WiiM have just fixed a bug that may need a BubbleUPnP update (a workaround was added that needs to be removed).
Yeah, pretty certain. I see the Chromecast renderer offered, and I'm not using that one. The one I'm using is showing as a UPnP renderer with Linkplay as the manufacturer and using the device description URL I'd expect, and it has the UPnP settings options in it.
 
Yeah, pretty certain. I see the Chromecast renderer offered, and I'm not using that one.
I'm getting some inconsistent results at the moment so I'll need to dig a little deeper.

Gapless playback itself is fine just not when on track repeat, something I'm not sure I've ever tried.
 
Interesting, how are you getting it to do gapless, ignoring the repeat question for the moment? What is your media source and is there anything else in your setup that might be significantly different from mine? I would love it if I could at least prove that, say, a playlist of these tracks is playing gaplessly.
 
Interesting, how are you getting it to do gapless, ignoring the repeat question for the moment? What is your media source and is there anything else in your setup that might be significantly different from mine?
Sorry I thought your problem was limited to repeating.

I cleared the BubbleUPnP app storage and the only setting I changed was to enable 'Gapless control'. After that I was able to play an "album" of 5 second tracks (a single track split up into 5 second chunks using sox) originating from Emby without any gaps. I normally use MinimServer but I have an Emby instance in a sandbox to play with.

In the WiiMs Audio Settings is 'Fade-In & Fade-Out Effects' disabled?

As much as I hate to suggest it, reboot the WiiM as I've seen that fix issues before.
 
Sorry I thought your problem was limited to repeating.

I cleared the BubbleUPnP app storage and the only setting I changed was to enable 'Gapless control'. After that I was able to play an "album" of 5 second tracks (a single track split up into 5 second chunks using sox) originating from Emby without any gaps. I normally use MinimServer but I have an Emby instance in a sandbox to play with.

In the WiiMs Audio Settings is 'Fade-In & Fade-Out Effects' disabled?

As much as I hate to suggest it, reboot the WiiM as I've seen that fix issues before.
Confirmed no "Fade-In / Fade-Out" going on here. Just rebooted also, no change.

Is Emby a vanilla DLNA source? Trying to think if there's any possibility Jellyfin is different in some important way.
 
Sorry I thought your problem was limited to repeating.

I cleared the BubbleUPnP app storage and the only setting I changed was to enable 'Gapless control'. After that I was able to play an "album" of 5 second tracks (a single track split up into 5 second chunks using sox) originating from Emby without any gaps. I normally use MinimServer but I have an Emby instance in a sandbox to play with.

In the WiiMs Audio Settings is 'Fade-In & Fade-Out Effects' disabled?

As much as I hate to suggest it, reboot the WiiM as I've seen that fix issues before.
Another question: do you get proper behavior if you set the same track to play several times in a row (enqueue same track, say, three times)?
 
Is Emby a vanilla DLNA source? Trying to think if there's any possibility Jellyfin is different in some important way.
Sorry I did mean Jellyfin. Emby is very similar except with more robust device discovery. If you want to try a pure DLNA server use MinimServer, but I don't see a problem with Jellyfin this end.
Have you tried Hi-Fi Cast?
You could also try with BubbleUPnP 4.4.2 with Eventing on the WiiM Pro enabled. In 4.4.3+ Eventing was removed when playing to WiiM for compatibility, but now it's been fixed on the WiiM side I can tell the developer of BubbleUPnP to revert the change (just waiting on the WiiM Mini).

Another question: do you get proper behavior if you set the same track to play several times in a row (enqueue same track, say, three times)?
If I repeat a single track it fails (not gapless), but if I repeat a playlist containing a single track it's fine. It fails with Sonos too which is usually very robust so it might be on the BubbleUPnP side.

EDIT: I always disable 'FFmpeg audio decoding' for every renderer as I've seen that introduce issues before, so try that too.
 
Sorry I did mean Jellyfin. Emby is very similar except with more robust device discovery. If you want to try a pure DLNA server use MinimServer, but I don't see a problem with Jellyfin this end.
Have you tried Hi-Fi Cast?
You could also try with BubbleUPnP 4.4.2 with Eventing on the WiiM Pro enabled. In 4.4.3+ Eventing was removed when playing to WiiM for compatibility, but now it's been fixed on the WiiM side I can tell the developer of BubbleUPnP to revert the change (just waiting on the WiiM Mini).


If I repeat a single track it fails (not gapless), but if I repeat a playlist containing a single track it's fine. It fails with Sonos too which is usually very robust so it might be on the BubbleUPnP side.

EDIT: I always disable 'FFmpeg audio decoding' for every renderer as I've seen that introduce issues before, so try that too.
I have hardware acceleration turned off in Jellyfin, if that's what you mean. I don't know where else I would disable FFmpeg directly.

I just tried Hi-Fi Cast and no luck -- in fact, it seems like it's worse (loud pops between switching tracks or repeating tracks).

Other variables at play here: it's a WAV file, about 10 seconds in length; I'm using a digital coax from the WiiM to my amp; ... can't think what else might be important...
 
Sorry I did mean Jellyfin. Emby is very similar except with more robust device discovery. If you want to try a pure DLNA server use MinimServer, but I don't see a problem with Jellyfin this end.
Have you tried Hi-Fi Cast?
You could also try with BubbleUPnP 4.4.2 with Eventing on the WiiM Pro enabled. In 4.4.3+ Eventing was removed when playing to WiiM for compatibility, but now it's been fixed on the WiiM side I can tell the developer of BubbleUPnP to revert the change (just waiting on the WiiM Mini).


If I repeat a single track it fails (not gapless), but if I repeat a playlist containing a single track it's fine. It fails with Sonos too which is usually very robust so it might be on the BubbleUPnP side.

EDIT: I always disable 'FFmpeg audio decoding' for every renderer as I've seen that introduce issues before, so try that too.
"Eventing" -- I'm not familiar with that, where is it in the WiiM app?
 
I have hardware acceleration turned off in Jellyfin, if that's what you mean. I don't know where else I would disable FFmpeg directly.
It's a BubbleUPnP renderer setting (same screen as Gapless Control). I can't remember if it caused a problem directly, or masked one, but I don't want the app to perform any kind of transcoding without my knowledge so I disable it.

I just tried Hi-Fi Cast and no luck -- in fact, it seems like it's worse (loud pops between switching tracks or repeating tracks).
Did you enable Gapless? Hi-Fi Cast is also very capable, just not as good as BubbleUPnP.

Other variables at play here: it's a WAV file, about 10 seconds in length; I'm using a digital coax from the WiiM to my amp; ... can't think what else might be important...
Do you have any gapless albums? If it's a large (WAV) short file over WiFi it could be a buffering problem.

"Eventing" -- I'm not familiar with that, where is it in the WiiM app?
These are all settings in BubbleUPnP but disabled in 4.4.2+. It's a more efficient way of communicating track progress with the renderer, but not supported by all.
 
It's a BubbleUPnP renderer setting (same screen as Gapless Control). I can't remember if it caused a problem directly, or masked one, but I don't want the app to perform any kind of transcoding without my knowledge so I disable it.


Did you enable Gapless? Hi-Fi Cast is also very capable, just not as good as BubbleUPnP.


Do you have any gapless albums? If it's a large (WAV) short file over WiFi it could be a buffering problem.


These are all settings in BubbleUPnP but disabled in 4.4.2+. It's a more efficient way of communicating track progress with the renderer, but not supported by all.
Yes, enabled Gapless in Hi-Fi Cast. I didn't spend much time messing with it after the first few tests, though.

I don't have a gapless album, but I figured a WAV file with no gap should be a great test. I mean I can play this file directly in WiiM's app and set the repeat-one option on it, and it loops flawlessly. Also, I've got all my devices hardwired (Ethernet) so I am pretty sure this is no buffering issue at play here.
 
I don’t think “repeat” can ever be gapless but a playlist containing the same track multiple times should be. That said I have seen many arguments where it has turned out that software used to create the test tracks has actually inserted a micro second of silence.
Just play Pink Floyd’s Dark Side of the Moon and you’ll know after 1:14 whether your device handles gapless properly or not.
 
Back
Top