yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] PastagaCigales:
Hello, I am using BubbleUPnP paid version 3.6.5, and trying to make the gapless feature of a mpv DLNA renderer wrapper work with the app. From what I understand from this forum and from what you wrote on https://yabb.jriver.com/interact/index.php?topic=68934.0, BubbleUPnP relies, for gapless playback, on the optional action SetNextAVTransportURI which is unfortunately very poorly documented in DLNA and UPnP guidelines. As the renderer reports supporting this action in its AVTransport SCPD, the option for gapless playback is enabled in the settings in BubbleUPnP, and I managed to get the app send the command with the next media content in the playlist after sending the first SetAVTransportURI command.

The issue I face is that when the renderer comes to the end of the first content and switches to the following one, BubbleUPnP does not take into account this change and does as if the playback had looped to the beginning of the same content, so it also does not send the expected SetNextAVTransportURI command for the third content. I cannot find what would trigger the jump to the second content. From what you wrote, but it was in 2012, the app checks GetPositionInfo.TrackURI to detect the change, but it does not seem to be the case any longer. The renderer currently reports the change of content to the controller by several means: eventing for AVTransportURI, AVTransportURIMetaData, CurrentTrackURI, NextAVTransportURI and NextAVTransportURIMetaData, response to GetPositionInfo (TrackURI and TrackMetaData) and GetMediaInfo (CurrentURI, CurrentURIMetaData, NextURI, NextURIMetaData). Nothing works with BubbleUPnP.

Could you, please, tell me how the information is expected to be delivered to BubbleUPnP ?

Thanks in advance.
[Android Apps and Games] MrOtto123:
UAPP renderer is running, I start it manually. I start BubbleUPnP on my Android phone, paid license, but there is no Media Renderer detected by BubbleUPnP server. My Chromecasts and Foobar2000 on PC is detected.

Do I need to configure and start the Android BubbleUpnP renderer on the phone?

I run the stock Windows 10 firewall only.

Edit: If I start BubbleUPnP and UAPP on my Android phone, these devices goes from "not connected" to operational status in Windows control panel, settings, for "Bluetooth & other devices", but are not listen in BubbleUPnP under "Media Renderers"
[Android Apps and Games] bubbleguuum:
@knobstler

Issue like these can be difficult to troubleshoot.

- make sure router/switch firmware is up to date

- in the router/switch confiuration, look for a setting called 'IGMP snooping' and if you find it, disable it
[Android Apps and Games] bubbleguuum:
@ken58

It is impossible to make such list. There are way too many devices/Android versions/Android settings combos. And many issues can be renderer/media server/router specific.

These brands are notorious for breaking apps when screen is off, to "save the battery".

Try applying instructions for each here:

Don’t kill my app!

Hey Android vendors, don’t kill my app!

dontkillmyapp.com

If you have issues while the screen is on, please send me a log file, playing tracks until the problem happens. See first post of this topic for logging instructions.

I would not recommend to run the old last version of BubbleUPnP compatible with Android 4.x these days.

Android 4.x in ancient and has run its course by now, let alone the old app version compatible has not been updated for a while. Anyway, if you want the last license APK working with Android 4.x, send an email to bubblesoftproducts@gmail.com
[Android Apps and Games] bubbleguuum:
@PastagaCigales

I looked at my code (which was written ages go).

Your renderer must remain in TransportState=PLAYING mode while being gaplessly controlled, for BubbleUPnP to consider the track transition using GetPositionInfo.TrackURI changes (BUFFERING might be OK, but STOPPED will break gapless)

Also, for reference, BubbleUPnP issue SetNextAVTransportURI commands only for consecutive tracks of the same album.
[Android Apps and Games] bubbleguuum:
@MrOtto123

No you do not need to.This was just a test to check if both UAPP and Android BubbleUPnP (as renderer) are affected by this issue.

Which is apparently the case given you next paragraph:

Does BubbleUPnP Server detects any other renderer at all that you may have on your local network ?

In any case, please send me the BubbleUPnP Server log file (usually C:\Users\username\AppData\Roaming\BubbleUPnP Server\BubbleUPnPServer.log.0) to bubblesoftproducts@gmail.com
[Android Apps and Games] MrOtto123:
Thanks. Will do.
[Android Apps and Games] PastagaCigales:
Thank you very much for your answer. The renderer was sending an event indicating that TransportState has changed to "TRANSITIONING" before sending another event reverting the value to "PLAYING". After removing this intermediary event, the track transition is now detected by BubbleUPnP, and the playback goes through the whole album.

If you allow me, there is no "BUFFERING" value (http://www.upnp.org/specs/av/UPnP-av-AVTransport-v3-Service-20101231.pdf) for TransportState, so maybe you could consider replacing this word by "TRANSITIONING" or at least adding this possibility (which is explicitely provided in the guidelines), to improve the compatibility with a wider range of renderers. Checking for a change of NextURIMetaData to an empty string would be a complementary way to detect track changes.
[Android Apps and Games] bubbleguuum:
Sorry I meant "TRANSITIONING". And yes, I will look into making this state not tripping gapless track advance.
[Android Apps and Games] Bill_G:
Re: BubbleUPnP Android, DLNA and JRiver Windows. Also a feature request.

Hi all,

I'm sorry if this has been asked before. However, I couldn't find a definitive answer via a forum search:

What are the best options under the Library > Settings for accessing JRiver DLNA servers? I've noticed it's a little flaky (i. e. slow or unable to load, and slow or unable to perform a search) on occasion and was wondering if it's BubbleUPnP as another app I've been using doesn't display this behavior.

I've attached a screenshot of the settings page so as to avoid confusion about what I'm referring to.

Now, for the feature request:

Could there be an option to present a more standardized display for the album art when streaming music to a Chromecast (video)? I've attached a photo of an example of what I'm referring to.

The one now is a simple floating screensaver. While this is fine, screen burn-in hasn't been a serious issue for many years now with the newer display technologies. Also, I don't it to be as attractive as a more standardized display.

Kind regards,

Bill
[Android Apps and Games] bubbleguuum:
@MrOtto123

I could reproduce this issue.

It is the Windows firewall blocking process BubbleUPnPServer.exe (used only for the Windows service installer).

Normally the installer adds a firewall rule for this process but it seems it does not work.

To fix it, you can allow C:\Program Files (x86)\BubbleUPnPServer\BubbleUPnPServer.exe manually in the Windows Firewall settings.
[Android Apps and Games] MrOtto123:
Ok, I will try it. Thanks.

Any other Windows firewall and router tips for making media server and UPnP/DLNA renderer discovery more effective?

I have disabeled IGMP snooping in router.
[Android Apps and Games] bubbleguuum:
@MrOtto123

I've fixed both the Windows service and single-user BubbleUPnP Server installers, so they add the proper Windows Firewall rule as part of installation.

Although you do not need to reinstall: just add the firewall rule manually.

Disabling IGMP snooping can be useful on some network setups. Other than that, there is no specific thing to do if it works.
[Android Apps and Games] PastagaCigales:
Great, thank you very much.

I also managed to get the DLNA controller I have upgraded working with BubbleUPnP Renderer in gapless playback mode, they communicate without any concern. I think there is just a little bug: when transitioning from a track to another, the title is not updated on the player panel of BubbleUPnP, but if, for example, you advance the playback position by a few seconds using the seek bar, the title gets right, so I can deduct that the right info is got with the SetNextAVTransportURI in the didl field.

Another minor remark: the field Mediaduration as reported by GetMediaInfo is always at 0, but fortunately, the field TrackDuration from GetPositionInfo can be used as a fallback.
[Android Apps and Games] MrOtto123:
I added the program-rule in Windows firewall to both inbound and outbound connection and it detected the UAPP and BubbleUPnP renderer immediately when it was started on my phone.

Thanks for the swift support.
[Android Apps and Games] psychofaktory:
I have the Audio Cast module active via LSposed.

BubbleUPnP also recognizes the module and indicates that it is active.

The Audio Cast function itself is of course also activated in the BubbleUPnP app.

Unfortunately, I can't find a way to use the Audio Cast function.

In the past there was an audio cast button with which you could add a corresponding element to the playlist...
[Android Apps and Games] bubbleguuum:
Is your Android device running on Android 10 or higher ?
[Android Apps and Games] psychofaktory:
It's Android 11
[Android Apps and Games] bubbleguuum:
@psychofaktory

On Android 10+ you can use Audio Cast without the Xposed module, as this version of Android added the ability for apps to record other apps. First, make sure to uninstall the Xposed module.

Then, go into the Now Playing tab, tap the floating cast icon, select your external renderer, tap the "Audio Cast" toggle, allow the required permission.

If the Now Playing tab elapsed time in increasing (meaning the renderer is playing silence), go play audio in another app.

If it doesn't play on your renderer, it could be that the app explicitely disabled being recorded in its Manifest. That's notoriously the case for Spotify.

In that case, install this Xposed plugin that removes that limitation for all apps:

GitHub - VarunS2002/Xposed-Disable-FLAG_SECURE: Xposed Module to Disable FLAG_SECURE, enabling screenshots, screen sharing and recording in apps that normally wouldn't allow it.

Xposed Module to Disable FLAG_SECURE, enabling screenshots, screen sharing and recording in apps that normally wouldn't allow it. - VarunS2002/Xposed-Disable-FLAG_SECURE

github.com
[Android Apps and Games] psychofaktory:
@bubbleguuum

I followed your instructions.

However, I can't find a floating cast icon in the "Now Playing" tab.

So exactly the same problem as with the BubbleUPnP Xposed module.

Does this mean that the variant with Audio-Cast XPosed-Module will not work at all on Android 10+?
[Android Apps and Games] BlackCo:
Hello,

I've got an issue with the App (i love the App by the way). So, when I am at home. Android phone connected to home network over wifi, I can see my Chord Poly (also connected to my home network): both as a renderer and as a server. Working just fine.

The issue is when I am outside my home network, when I connect my Poly to my phone's wifi hotspot, i cannot see the poly as a renderer. I am absolutely sure i could do that in the past, with my older phone and probably with an older version of bubbleupnp (but not 100% sûre)

Any clue would be very much appreciated.

Is it my phone's hotspot settings that need tweeking ? The App version ?

Thanks a lot
[Android Apps and Games] bubbleguuum:
@psychofaktory

The floating cast button is the button that displays the renderer selection dialog:

- tap that button to display the renderer selection dialog

- if you have an external renderer selected (ie a renderer other than the 'Local Renderer"), you should see the "Audio Cast" toggle on top of the dialog (if not, select and external renderer and go back to the dialog). Make sure you have uninstalled the "Audio Cast" Xposed module as it is not required and can get in the way. Also make sure you have the latest version of the app installed (3.6.5. To check More > Gear icon > About/Help > Version)
[Android Apps and Games] bubbleguuum:
@BlackCo

Difficult to say. When you had it working, was it the same Android version and phone ?

In any case there has not been changes in the app regarding device discovery recently.

If the hotspot is not carrying SSDP multicast traffic for whatever reason, that could be it.

If you wish you can send me a log file, logging for about 30s after startup with your hotspot active and your Poly connected to it.

See first post of this topic for logging instructions.
[Android Apps and Games] BlackCo:
Thanks, will try to send a log file.

And yes, it was on an older phone, probably Android 10 or 11 (I'm on Android 12 with a Realme GT phone)
[Android Apps and Games] psychofaktory:
The Audio Cast Xposed module is uninstalled.

But there Is no "Audio Cast" toggle anywhere.

Version of the app is 3.6.5 (arm64-v8a)
[Android Apps and Games] bubbleguuum:
Verify that 'More > Gear icon > Audio Cast > Enable functionality' is not disabled.
[Android Apps and Games] bubbleguuum:
@psychofaktory

If you still do not see the Audio Cast toggle, please send me a log file, opening the renderer chooser dialog.

See first post of this topic for logging instructions.
[Android Apps and Games] psychofaktory:
Audio Cast is enabled:

But there is no button for renderer selection floating on Now Playing.

An external renderer is selected.
[Android Apps and Games] psychofaktory:
OK, that's odd.

When I enabled logging and restarted the app to recreate the procedure, the Audio Cast switch now showed up in the renderer selection (by showing the side menu on the left).

Previously there was no button, although I had restarted the app and smartphone several times in the meantime.

However, a button to select the renderer directly under "Now Playing" is still not there.
[Android Apps and Games] bubbleguuum:
I see you have the Devices tab enabled. This disables the floating cast button in the Now Playing tab, as it is redundant.

Or at least it was, until I recently added the Audio Cast toggle there for Android 10+.

However you can display this dialog as you discovered: left side menu > Cast icon.

So all is fine and you should be able to test Audio Cast now...
[Android Apps and Games] psychofaktory:
That would explain it, of course.

Yes, now Audio Cast works wonderfully :)(y)

Thank You.
[Android Apps and Games] wwyjoe:
Hi Everyone!

I'm using Audio Cast in BubbleUPnP to stream Apple Music or Tidal lossless to my Chord Mojo 2 + Poly.

If I understand correctly, the maximum bit rate supported by Audio Cast is 16 bit/ 44khz? Hence, for any music higher than 16/44 (e.g. Apple Music Hi Res Lossless 24 bit/ 192khz), there would be any audio improvement since Audio Cast is limited to 16/44.1?

Technicalities aside, between Apple Music and Tidal, has anyone heard which is better when using Audio Cast?

Thanks in advance for any inputs!
[Android Apps and Games] bubbleguuum:
@wwyjoe

Yes, Audio Cast sends a continuous PCM stream at a fixed samplerate/bitdepth. There is no other way. It is a bit similar to AirPlay which also operates at 44.1/16. If you play HiRes Music in Apple Music (or any other app) or audio that is not already 44.1/16, it will be resampled by the system (Android) and that's what BubbleUPnP reads for sending back to the renderer.

TIDAL should be better if set to use FLAC 44.1/16 which will play unmodified via Audio Cast since it is already 44.1/16.

If Apple is capable of outputting lossless at 44.1/16, it should be as good.

Note that for TIDAL, you can also use the integration of TIDAL in BubbleUPnP so your renderer streams directly from TIDAL. There should theoretically not be a difference in audio quality (since both are FLAC 44.1/16), but using BubbleUPnP is more direct (less of a black box).
[Android Apps and Games] MrOtto123:
This also helped with the Android app not finding the server for remote transcode and slow embedded subs extraction, or using alot of time before remote transcode was active. Now status is remote transcode immediately.
[Android Apps and Games] wwyjoe:
Got it! Thank you so much for your inputs.
[Android Apps and Games] G1032:
Hi

Someone might be able to help me here

I have a Realme GT Neo 2. Snapdragon 870 Octa-core processor with 12GB RAM.

If I try to cast a 1080p hevc 265 video from phone to to tv I get video stutter every few minutes

I've tried both 2.4 ghz and 5ghz wifi

What changes can I make on the BubbleUPnP app ? There is no option I can see to limit max bitrate?

Anything I can do to prevent this stutter bar casting only 720p videos?

Thanks
[Android Apps and Games] BlackCo:
Thanks, log file sent by email.
[Android Apps and Games] Snowknight26:
@bubbleguuum

Sometime around November BubbleUPnP stopped saving Folder.jpg when caching remotely-transcoded music locally. This causes other media players to not show the artwork associated with the track.

I did a test where I played a remote track, let it cache the music, and saw the following in the log (line 802):

[BubbleUPnPServerProxyServlet-1348 (1348)] WARNING - 0:00:29.822 - failed to create file: Folder.jpg

(also lots of warnings about not being able to delete directories.. maybe the local music cache cleanup routine isn't working?)

Attached is the log - let me know if you need more info.
[Android Apps and Games] G1032:
Any suggestions here folks? Bubble Upnp server on laptop no good because laptop is 6 years old and hasn't half the processing power of the phone. Tried it already but it's constant stutter.
[Android Apps and Games] BlackCo:
I think I solved it. In my sim settings, APN was set to IPv6 only. I switched it to ipv4&IPv6. It's now working...

I found the solution because other suffered more or less the same issue with newer 5g network while playing online games with Xbox...
[Android Apps and Games] BlackCo:
Now, another question for you guys.

I am looking for a good app to make advanced sound correction while using bubbleupnp. Looking for EQ app and if possible using also convolution correction (same as in Roon, but for Android). Any advice ?

Thanks.
[Android Apps and Games] wwyjoe:
Sorry. Just to clarify, when streaming MQA Tidal tracks by Audio Cast, these MQA tracks would be resampled by Android? Hence, better if these tracks are downloaded in HiFi quality (i.e. 16/44.1) to avoid Android resampling and for better sound?
[Android Apps and Games] .:Stefan:.:
Hi @bubbleguuum

I now had the time to play a bit with some http auth to ensure an extra layer of security.

Basically it works (thru the web), however, when trying to access the Server thru the Android app, it always tells me that the connection itself could be established but auth has failed.

I'm sure that this is because of the additional "credential-request", but how to solve that so that the Android app can connect to the server in such case thru the internet.

Any hints? Many thanks.
[Android Apps and Games] theoneofgod:
I tried installing https://bubblesoftapps.com/bubbleupnp/xposed/BubbleUPnP.apk on Lineage 18.1 but it just says "App not installed" like it's not supporting that version of Android or something. Any solution?
[Android Apps and Games] bubbleguuum:
@Snowknight26

Weird errors that I cannot reproduce, but I believe they are SAF (Storage Access Framework) permission related.

Moreover, your cache directory seems to point at a file:// Uri rather than a SAF content:// Uri pointing to the same folder.

It is not possible to pick a cache folder that is a file:// Uri anymore, so the only way you have such Uri is if you picked it long ago.

I suggest to pick the cache folder again (in Internet access with BubbleUPnP Server > Cache Folder) to check if it fixes the problem. Although to entirely fix it you may have to clear the cache folder (I suggest to do that in a file manager app for good measure), and pick it again. Currently BubbleUPnP cannot delete any cached file, so the cache grows past its configured limit.
[Android Apps and Games] bubbleguuum:
@theoneofgod

You do not need the Audio Cast Xposed module anymore for Audio Cast on Android 10+. See discussion a few posts above in previous page with psychofaktory
[Android Apps and Games] bubbleguuum:
@.:Stefan:.

I have not tried such setup (reverse proxy + auth managed by the reverse proxy) but this might be a bit tricky, if at all possible.

The reverse proxy must use Digest authentication for any path pointing to BubbleUPnP Server, except /stream/* (otherwise streaming will not work, as it is not authenticated by design), /proxy/* and /ffmpegpcmdecode/*.

Even with this, I'm not entirely certain it will work properly.
[Android Apps and Games] bubbleguuum:
@wwyjoe

Yes, any media played in an app that is > 44.1/16 will be captured as 44.1/16 PCM by BubbleUPnP, resampled by the Android media subsystem. HiRes resampled media may sound different (and even, in most cases I bet you would not be able to tell the difference), not necessarily worse. But if you want no resampling, make sure to play 44.1/16 source media in external apps.
[Android Apps and Games] bubbleguuum:
BubbleUPnP indeed only works with ipv4.

No idea here. There is a myriad of EQ apps but not familiar with any of these.
[Android Apps and Games] .:Stefan:.:
@bubbleguuum

OK, I see.

But by chance, do you happen to know why Docker (Portainer) always claims the container to be "unhealthy" once I follow your documentation regarding reverse proxy and config with sub-path?

I followed the steps 1:1 from here: https://www.bubblesoftapps.com/bubb...sing-bubbleupnp-server-behind-a-reverse-proxy

Always same result, however BubbleUPnPServer itself seems to operate fine. But the "unhealthy" status generates increasing error count visible in Portainer (but not in containers' logs).

Thanks.
[Android Apps and Games] bubbleguuum:
@.:Stefan:.

It's a bug in the health check. It does just a wget on 'http://localhost: port' and omit the webContextPath field configured in configuration.xml. So the wget fails.

I will fix it. In the meantime you can disable the health check with the --no-healthcheck parameter to 'docker create' or 'docker run'
[Android Apps and Games] Snowknight26:
Thanks, that fixed the Folder.jpg issue.

You're right about the path. Since switching to a Pixel 6, my BubbleUPnP config was imported from a Pixel running Android 10 and probably hadn't changed for a few years before then either. I imagine the config import process only reads settings and doesn't modify them (except when invalid), keeping the previously-valid file:// URI.

I suppose it's a little curious that while actual .mp3 files were successfully written during the caching process, .jpgs weren't. Nevertheless, all good now.
[Android Apps and Games] .:Stefan:.:
@bubbleguuum

Thanks, would be really nice if you could fix it on BubbleUPnPServer side because Portainer (still) ignores the "--no-healthcheck" parameter obviously. A long pending NFR has not been acknowledged yet.
[Android Apps and Games] simonMBUK:
Hi @bubbleguuum ,

I find myself often wanting to use the 'Tracks by <Artist>' context menu item to find related tracks, but if a track has multiple artists it only matches tracks where ALL artists match.

Rather than suggest you add one line item for each artist and clutter the context menu, would it be possible to make the 'Show metadata' screen more functional, and have each item on that screen capable of performing a UPnP search (clickable maybe) e.g. Album Artist, Artist (independently), Composer, Genre e.t.c? It would offer quite a powerful direct filtering capability without increasing visual clutter, a bit like the Lumin implementation.

As always thankyou for both the control point and server, a truly indispensable combination.