0.9-update49 (Feb 17th 2024) #

Android #

  • this version is available for BubbleUPnP Server for Android (previous version available on Android was 0.9-update46)
  • updated BubbleUPnP Server for Android APK to version which updates FFmpeg to v6.1 (needed for GPU transcoding, see below)
  • Added support for GPU accelerated Chromecast transcoding on Android (same as the local transcoding GPU accelerated support found in Android BubbleUPnP). To work, it requires both the BubbleUPnP Server for Android APK v1.2.4.1 and the upcoming update to Android BubbleUPnP 4.3.4 or higher (the latter is not yet available as of Feb 17th 2024)
  • fixed BubbleUPnP Server sometimes binding to the wrong ip address (for example when both WiFi and mobile data is active, it could bind on the mobile data ip address and be inaccessible)

Stability fixes #

  • fixed the presence of Google Cast group(s) on the network possibly crashing the server after a while due to memory exhaustion
  • fixed leaving a web browser connected to BubbleUPnP Server’s web config page for too long possibly crashing the server
  • fixed a few obscure and rare crashes

Docker image and documentation updates (Feb 12th 2024) #

  • rewritten Docker documentation. Please read for important information
  • added configurable docker-compose.yml for running container with Docker Compose (see documentation)
  • added the ability to store data files (configuration file, log files, cached files) in a folder on the host for easy access and persistence across container updates/re-creations (see documentation to set it up)
  • reverted change running ffmpeg setuid root. Instead, use the --group-add docker option to allow the GPU device to be accessed in the container (see documentation)
  • on linux/amd64, added libmfx-gen1_2 package for Intel QSV support on >= Tiger Lake
  • updated ffmpeg executable to use libvpl instead of the deprecated libmfx. Necessary for Intel QSV support on >= Tiger Lake
  • fixed heath check due to missing awk
  • update to openSUSE TW20240112 snapshot. This updates OpenJDK to v17.0.10 and OpenJ9 to v17.0.9/0.41.0

Docker image update (Jan 16th 2024) #

  • added support for Chromecast transcoding with NVDIA GPUs. Refer to documentation for NVIDIA specific instructions for creating the image
  • added a bubblesoftapps/bubbleupnpserver:nogpu image (nogpu tag) that does not include Chromecast GPU transcoding. Use this image if not using transcoding as it reduces the size of the image in half
  • reduced image size by removing unneeded python
  • update to openSUSE TW20240112 snapshot

Ubuntu/Debian package update (Jan 3rd 2024) #

  • updated Ubuntu/Debian package to 0.9-8 (see Linux install page for link):
    • fixed failure to start BubbleUPnP Server on more recent Ubuntu/Debian due to missing /home/bubbleupnp directory
    • run ffmpeg binary setuid root to make it always able to open hardware devices in /dev/dri. BubbleUPnP Server itself still run as a unprivileged system user

0.9-update48 (December 22th 2023) #

  • fixed crash on startup on Synology NAS with armv7 CPU running Java IcedTea 1.8.0_275. If you have already updated such install to 0.9-update47, you will need to uninstall the ‘BubbleUPnP Server’ Syno package and reinstall it
  • fixed crash on Java 8 when playing a media to an OpenHome’d Google Cast renderer

0.9-update47 (December 18th 2023) #

  • added support for TIDAL HiRes FLAC to OpenHome renderers. HiRes can be selected as audio quality in the Renderers tab. After updating, you may have to refresh your browser cache (CTRL+SHIFT+R) to see the new HiRes option in the ‘TIDAL maximum audio quality’ combo box

  • updated Docker images:

    • image updated to openSUSE TW20231217 snapshot. This updates OpenJDK to v17.0.9 and VA-API to v1.20
    • update to FFmpeg v6.1, compiled against the latest VA-API (libva) v1.20 (amd64 only) and newer versions of its dependencies. The update to VA-API v1.20 makes it possible to have QSV and VA-API working on distros whose host libva version is up to 1.20, meaning up to the more bleeding edge distros
    • ffmpeg is run setuid root in the container to make sure it can always open devices in /dev/dri for Chromecast GPU transcoding (Intel QSV, VA-API). It fixes possible failure to do hardware transcoding on distros that limit /dev/dri devices access to root or users member of a special group (such as video). The BubbleUPnP Server java process still run under an unprivileged user
  • update bundled Java to 17.0.9 on new installs on Windows, Docker image, macOS. If you have an existing install, there is no much advantage in doing a reinstall just to update Java. Though if you wish to update Java on your existing Windows install, you can replace the jre folder found in the BubbleUPnP Server installation directory and replace it with the updated jre that you can download here (download for your architecture and unzip it in the install folder after deleting the existing jre folder).

  • update bundled FFmpeg to v6.1 on most platforms (Intel x86 32-bit excluded). After updating to 0.9-update47, there will be a second update for FFmpeg 6.1: go into Settings > Update, click ‘Check for updates’ and apply the update. Note that with previous version 0.9-update46 (and prior), FFmpeg 6.x is not compatible with FFmpeg audio decoding for OpenHome renderers and may cause audio to play at 0.5x speed or not at all. That’s why only installs running 0.9-update47 (or higher) will update to FFmpeg 6.1. If you run BubbleUPnP Server on Linux not via Docker and need up-to-date FFmpeg binaries (because your distro use old versions for example, or are not compiled with hardware support), you can find ffmpeg and ffprobe binaries here. Copy the ffmpeg and ffprobe binaries into the install folder (where BubbleUPnPServer.jar is found) and make sure they are executable (chmod +x ffmpeg ffprobe)

  • fixed crash if running on Java 21 and opening a web browser to the configuration. This fix makes BubbleUPnP Server entirely compatible with Java 21

  • fixed ‘TIDAL maximum audio quality’ set to AAC 320 Kbps resulting in FLAC 44.1/16 being played

  • fixed BubbleUPnPTetherClient not working when run under Oracle JREs when installed via zip download. Updated zip download to fix it (redownload it if applicable), version is unchanged

  • Chromecast transcoding: fixed some videos in mov container and videos with mpeg4 codec and mp3 audio (usually in avi container) not playing to Chromecast

  • fixed Playlist track advance (playback queue) not working with OpenHome’d Xbox One (all models) and renderer of brand CITECH, playing only 1 track

  • fixed possible crash due to presence of Freebox Pop on the network

  • fixed “Google Cast Group” devices that were sometimes wrongly added multiple times

  • silenced deprecated SSLSession#getPeerCertificateChain stack trace warning in log on Java 17+

  • updated to their latest versions many software libraries used to build BubbleUPnP Server

  • internal: modernized build, use latest Proguard, updated everything to use retrofit2/okhttp3

Android updates (February 26th 2023) #

  • updated the Android BubbleUPnP Server APK to v1.2.3:
    • bumped minimum Android version required from Android 5 (Lollipop) to Android 7 (Nougat)
    • update from targetSdkVersion 25 (Android 7) to targetSdkVersion 31 (Android 12)
    • updated FFmpeg to v5.1.2
    • improved logging
    • compiled with recent build tools
    • updated some libraries used to build the app
  • BubbleUPnP Server 0.9-update46 is now available for Android (from update44). If the update is not performed automatically, start BubbleUPnP Server for Android, go to the web interface in the Settings/Updates tab, click Check for update, then Apply

Debian package update (February 16th 2023) #

  • Updated debian package to version 0.9-7 to fix Intel QSV and VA-API not working due to bubbleupnp user not being in the video group. On existing installs this can be trivially fixed manually with sudo usermod -aG video bubbleupnp.

0.9-update46 (February 4th 2023) #

  • added fast full buffering of Qobuz/TIDAL tracks for fixing pace buffering issues with some renderers, resulting in playback possibly stopping unexpectedly mid-stream. It is enabled by default and can be disabled with new command-line option -disableQobuzTidalFullBuffering (or equivalent in config file) if it causes playback problems
  • added support for auto-updates taking into account minimum required Java version for the update, for performing the update only if compatible with the installed Java version running BubbleUPnP Server. This is in prevision to minimum Java version required possibly being bumped from 8 to 11 in the future
  • fixed failure to identify some SHOUTcast streams properly, resulting in failure to play
  • fixed failure to play to Chromecast stereo AAC streams in HLS container
  • fixed an unusual issue where playing a video to Chromecast that must be transcoded resulting in an error 401 in Android BubbleUPnP
  • fixed Synology FFmpeg community package not always properly detected
  • ‘Media Renderers’ and ‘Media Servers’ web tabs: if device does not have an icon, use BubbleUPnP icon. Center icon. Reduced row height
  • fixed a few obscure crashes to improve stability
  • updated Docker image using OpenJDK to: Java 17, FFmpeg 5.1.2, VA-API 2.17
  • updated a few libraries used to build BubbleUPnP Server

0.9-update45 (Dec 9th 2022) #

  • fixed a few crashes for improving stability

0.9-update44 (Oct 31th 2022) #

  • fixed compatibility of OpenHome renderers with latest Lumin app
  • fixed prevent sleeping not working on Windows properly (was preventing sleep for much longer than necessary), hopefully for real this time

0.9-update43 (March 24th 2022) #

  • new BubbleUPnP Server installs use latest Java 11 JRE ( for Windows (x64, x86) and macOS (x64) from Adoptium
  • update to FFmpeg 5.0
  • added ability to play videos to renderers that support only audio: the first audio track of the video will be played as PCM
  • fixed system sleep prevention on Windows not working properly, preventing Windows to go into sleep mode (if configured as such)
  • worked-around failure to play to Chromecast some FLAC with special encoding characteristics, due to Chromecast firmware bug in FLAC decoding. In that case, force WAV decoding
  • fixed folders sometimes being empty, browsing BubbleUPnP Server connected via foobar2000 (desktop and mobile versions)
  • fixed failure to play Audio Cast streams (introduced in Android BubbleUPnP 3.6.4) to OpenHome renderers (still requires the wrapped UPnP AV renderer to play nice with Audio Cast) and UPnP AV Chromecast renderers
  • fixed failure to play audio-only HLS streams
  • fixed failure to play 24-bit audio to Logitech renderers

0.9-update42 (Dec 12th 2021) #

  • fixed failure to play to Chromecast Audio (caused by recent firmware update) and possibly some other Google Cast devices without video out
  • fixed stability issues using upplay as Control Point to control OpenHome renderers managed by BubbleUPnP Server
  • added -dsdMimeTypeOverride option to override mime-type used for DSD. Necessary for some renderers to play DSD natively
  • a few stability fixes to prevent thread/memory usage exhaustion
  • update to FFmpeg 4.4.1 on Windows x64, fixing failure to perform GPU transcoding on older NVIDIA GPUs
  • new BubbleUPnP Server installs use latest Java 11 JRE (11.0.13) for Windows (x64, x86) and macOS (x64) from Adoptium

0.9-update41 (July 20th 2021) #


Previous version of BubbleUPnP (0.9-update40) introduced a bug in the launcher (BubbleUPnPServerLauncher.jar) that prevents BubbleUPnP Server 0.9-update40 to update to this new version (either manually via web interface or automatically). To fix it, you must manually download BubbleUPnPServerLauncher.jar and replace it in the server install directory:

  1. stop BubbleUPnP Server
  2. download updated BubbleUPnPServerLauncher.jar
  3. replace the existing BubbleUPnPServerLauncher.jar file in the BubbleUPnP Server installation directory (usually C:\Users\username\AppData\Roaming\BubbleUPnP Server) with the new one
  4. start BubbleUPnP Server
  5. go into Settings > Updates and click ‘Check for update’ to update to 0.9-update41

Added OpenHome TIDAL OAuth2 support #

Compatible OpenHome Controls Points (Android BubbleUPnP 3.5.2+, Android BubbleDS 3.7+, recent Linn Kazoo on all its supported platforms) can now use OpenHome TIDAL OAuth2 support for adding tracks to the Playlist (playback queue) of OpenHome renderers managed by BubbleUPnP Server. Thus it is not necessary anymore to keep the Control Point running (BubbleUPnP/BubbleDS) for Playlist track advance to be performed as BubbleUPnP Server will now take care of it.

It also adds Linn Kazoo TIDAL compatibilty again, but with a minor caveat: prior to be able to use Kazoo, you must first login once to TIDAL in Android BubbleUPnP or BubbleDS: make the OpenHome renderer current in the Now Playing tab, go into the Library tab, tap the TIDAL folder and enter your credentials via the web OAuth form. Then launch Kazoo, select the OpenHome renderer managed by BubbleUPnP Server you just logged in to TIDAL previously, enter the TIDAL folder and Kazoo will also prompt for login to TIDAL once. After that, you can use BubbleUPnP/BubbleDS/Kazoo interchangeably for TIDAL.

Lumin on iOS is not supported.

Fixes #

  • fixed crashes on server soft restarts (manual or automatic). Should improve stability
  • fixed issue in Android version preventing FFmpeg OpenHome processing to work on some devices
  • fixed launcher failing to update BubbleUPnP Server on Windows (regression)

Other #

  • updated OpenJDK installed by Windows installer to OpenJDK 11.0.11_9 (from 11.0.10_9)
  • new alternate bubblesoftapps/bubbleupnpserver-openj9 Docker image based on the Eclipse OpenJ9 JRE instead of OpenJDK. This image is less tested but uses less memory, making it ideal for memory constrained devices. OpenJ9 is supposedly a bit slower than OpenJDK, but for software such as BubbleUPnP Server it does not matter

0.9-update40, new Windows installers, new launcher (April 10th 2021) #

Fixed stability issues. New launcher #

This update addresses stability issues over time (server crashing, becoming unresponsive, memory leaks) caused by server restarts which happens on:

  • web interface ‘Restart’ button trigger
  • automatic or manual updates
  • networking changes (network interface appearance or disappearance)

An updated BubbleUPnPServerLauncher.jar addresses this issue. On existing installs, it cannot be automatically updated. To update to this new launcher you can either do a full reinstall of BubbleUPnP Server for your platform or attempt to manually update your existing install with one of these methods:

  • if possible, manually update the existing BubbleUPnPServerLauncher.jar file with these generic instructions:
  1. stop BubbleUPnP Server
  2. download updated BubbleUPnPServerLauncher.jar
  3. replace the existing BubbleUPnPServerLauncher.jar file in the BubbleUPnP Server installation directory with the new one
  4. start BubbleUPnP Server

with the official Docker container it can be done this way:

sudo docker stop bubbleupnpserver
sudo docker cp BubbleUPnPServerLauncher.jar bubbleupnpserver:/opt/bubbleupnpserver
rm BubbleUPnPServerLauncher.jar
sudo docker start bubbleupnpserver
  • alternatively, only on non-Windows platforms:
  1. First update BubbleUPnP Server to 0.9update-40 (if necessary: web Interface > Settings > Check for updates > Apply)
  2. once BubbleUPnP Server is updated to 0.9update-40 (Status tab), go to ‘web Interface > Settings > Check for updates’, and apply the new update found (this is the update for BubbleUPnPServerLauncher.jar)
  3. Fully restart BubbleUPnP Server so it starts with the new launcher. This cannot be done via the ‘Status > Restart’ button, you must fully restart BubbleUPnP Server from the system running it

The new launcher generates its own BubbleUPnPServerLauncher.log log file.

improved Windows installers #

Both the Windows single user and service installers are updated. To benefit from the improvements, you will have to perform a new installation using the updated installer.


  • The installer now downloads its own Java 11 JRE from and BubbleUPnP Server runs under that private JRE (stored in the installation folder). It does not depend anymore on an Oracle JRE or other JRE being installed on the system
  • install 32-bit or 64-bit FFmpeg binaries depending on host Windows (previously, 32-bit ffmpeg binaries working on all versions of Windows were always used). The 64-bit FFmpeg binaries are the new v4.4 provided by
  • run BubbleUPnP Server using the client JRE, which uses less memory. Max memory use is capped at 256MB

Service installer:

  • updated to WinRun4J 0.4.5
  • install 32-bit or 64-bit version of service executable, depending on host Windows (previously was always 32-bit)
  • not tied to Java 8 32-bit Oracle anymore

improved macOS installer #

The macOS installer shell script now downloads its own Java 11 JRE from and BubbleUPnP Server runs under that private JRE (stored in the installation folder).

BubbleUPnP Server 0.9-update40 #

There are the changes for BubbleUPnPServer.jar:

  • improved shutdown to avoid issues on restart
  • check for updates of BubbleUPnPServerLauncher.jar on non-Windows platforms
  • check for updates of Windows 64-bit ffmpeg binaries
  • web interface: updated restart UI reload wait time from 10s to 20s
  • fixed a few rare crashes mainly happening in Android version

BubbleUPnP Server Android APK 1.2.2 #

  • fixed failure to extract subtitles

0.9-update39 (March 18th 2021) #

General #

  • improved site. Removed some old info that was no longer valid
  • official Docker images for Linux x86_64, x86 (32-bit), aarch64, armv7. Images include up-to-date ffmpeg binaries and Java 11
  • revamped Ubuntu/Debian package, not hosted in a PPA repo anymore. Package now properly installs ffmpeg binaries for supported architectures (amd64, i386, arm64, armhf, armel). BubbleUPnP Server now runs under the unprivileged ‘bubbleupnp’ user and group (instead of ‘root’ in the old package). If you are using the PPA package, it is recommended to uninstall it replace it with this one, as explained in link above
  • this version can now run on Android (prior to it, it was stuck to update33 due to a technical problem), alongside the updated Android BubbleUPnP Server APK (details below)

FFmpeg #

  • updated custom built Linux v4.3.2 ffmpeg/ffprobe binaries for x86_64 and x86 (32-bit) compiled with support for NVIDIA, Intel QSV and VA-API hardware transcoding. This ffmpeg binary includes ffprobe functionality in the same executable, thus only the ffmpeg binary is required with ffprobe simply being a symbolic link to it, reducing install size.
    Updated other ffmpeg/ffprobe binaries for Windows (from, macOS (from, Linux amd64/armhf/armel (from, Android (custom built). All these binaries are used on new installs and should be updated automatically by BubbleUPnP Server on existing installs. They can also be manually be downloaded here and placed in the installation directory (on Linux / macOS, make sure to chmod +x the executables).
  • on Synology NAS, use the FFmpeg community package if installed
  • do not auto-update (if enabled) ffmpeg/ffprobe binaries in installation directory if they are symbolic links
  • custom ffmpeg/ffprobe binaries placed in the “custom_ffmpeg” subfolder of the installation folder (the folder were BubbleUPnPServer.jar is found) are automatically picked up by BubbleUPnP Server on startup. This should not be necessary as provided binaries should do the job
  • optware-ng binaries are not detected anymore as they are obsolete and should not be used. QNAP users, see instructions to install new FFmpeg binaries.

Chromecast Transcoding #

  • added VA-API hardware transcoding support (Linux Only)
  • improved Intel QSV transcoding efficiency
  • added ability in web UI Settings/Chromecast transcode tab to set GPU transcoding method: Auto, NVIDIA, Intel QSV, VA-API. The default is “Auto” which will use the first one in that list that is usable (if any)
  • Added -GPUTranscodingMethod command-line param
  • fixed profile 4.1 max 1920x1080 restriction not enforced for sofware h264 transcoding, resulting in videos with width > 1920p not playing
  • fixed rare case of software h264 transcoding failing
  • updated NVIDIA cuvid hwaccel to cuda hwaccel (same functionality, just different name)
  • fixed failure to seek in some TS streams

Misc #

  • fixed OpenHome FFmpeg decoding not taking into account -useSoxResampler parameter (to disable SoX)
  • fixed remote transcoding failure to encode Vorbis 64kbps transcode with input samplerates > 48 kHz
  • better determination of default network route on Linux
  • discard unusable -lanIp parameter value (or from configuration.xml) if the ip address is not associated to a network interface
  • updated to jMDNS 3.5.6 (Google Cast discovery)
  • other obscure fixes

Android APK (v1.2.1) #

IMPORTANT: you need to run this version with 0.9-update39. Go to the web interface to check the version and if necessary manually update in the Settings/Update tab.

  • runs on Android 5+ (Lollipop)
  • compatible with Android 10+
  • supports v0.9-update39
  • updated icon (adaptive)
  • APK now includes ffmpeg binaries for all supported CPU architectures, explaining the larger APK size. This is needed for Android 10+ compatibility

0.9-update38 (Jul 20th 2020) #

IMPORTANT: if you use Java 8, for working Qobuz support you will need a recent Java 8 revision that includes up to date TLS certificates. At this time, the latest Java 8 version is 8u261 (revision 261). Revisions greater than 200 are expected to work. You can check what version you have with java -version in a command shell.

General #

  • fixed CallStranger vulnerability. Not that this was really problematic, unless running BubbleUPnP Server on a machine directly facing the Internet (eg not behind a router)
  • supports applying track ReplayGain for TIDAL/Qobuz tracks played by Android BubbleUPnP to UPnP AV renderers when BubbleUPnP Server is used for FFmpeg audio decoding
  • updated to FFmpeg 4.3 for Windows (7 and higher) and macOS (10.10 and higher)
  • various obscure fixes

OpenHome #

  • supports applying track ReplayGain when playing TIDAL/Qobuz tracks when ReplayGain is enabled (track or album) in settings page of OpenHome renderer
  • added ability to specify convolution filter and complex audio filters ([documentation] (/docs/config_media_renderers.html#audio_filters))
  • improved compatibility with ‘Bose Home Speaker’ renderers
  • do not transcode SHOUTCast streams played to some Philips renderers
  • do not transcode FLAC for Yamaha, B&W and NAD renderers
  • fixed some Cambridge Audio renderers failing to play some audio formats
  • fixed tracks with # in title not playing to Melco Music Player (workaround for renderer bug)
  • workaround for ‘Freebox Player’ renderer resetting volume after each track

Chromecast transcoding #

  • fixed playing to Chromecast v1 a video with PCM 24-bit audio not playing properly (white noise)
  • fixed Radio Paradise Ogg-FLAC SHOUTcast streams not playing
  • fixed h264 videos whose profile is >= 5.0 not playing on Chromecast models other than Chromecast Ultra
  • fixed seeking in h265 transcodes not working

0.9-update37 (Nov 10th 2019) #

  • requires Java 8 (previously: Java 7)
  • added support for Chromecast transcoding with Android app Yatse (website)

0.9-update33 (July 17th 2019) #

  • fixed crash caused by some rare UPnP/DLNA devices defining bogus UPnP actions
  • updated BubbleUPnP Tether Client to v0.9.2

0.9-update32 (July 16th 2019) #

  • fixed issue causing thread exhaustion, resulting in server crash after a while
  • reduced thread count resulting in reduced memory usage
  • fixed some rare UPnP devices that are simultaneously a renderer and a media server but that were only detected as a renderer
  • fixed links in UI to updated documentation
  • fixed rare crash when using Chromecast devices as DLNA or OpenHome renderer
  • fixed “convert 16bit to 24-bit” not working for DSD
  • fixed transcoding DSD to FLAC resulting in a displayed bitdepth of 1-bit in Android BubbleUPnP (instead of 16 or 24)
  • Chromecast transcoding: in Android BubbleUPnP, if “Preserve multi-channel” is enabled and “AC-3 Passtrough” or “E-AC-3 Passthrough” are enabled, transcode multichannel audio to AC-3 or E-AC-3 (instead of Opus 5.1)
  • increased default image transcoding JPEG quality to 90 (previously: 80)

0.9-update31 (December 22th 2018) #

  • fixed FFmpeg decoding not working (failing to play) for OpenHome’d Chromecast

  • do not force Chromecast v1 and v2 transcoding for h264 profiles level > 4.1 as these are now supported by the firmware

  • fixed Linn Kazoo process using 100% of 1 CPU core and consuming huge amount of memory when adding a huge number of tracks (> 800) to the Playlist of an OpenHome renderer. This fix may also make Android BubbleUPnP load OpenHome Playlist updates faster when the Playlist is updated from another OpenHome Control Point (Kazoo, another BubbleUPnP instance, …)

  • added ability to specify FFmpeg audio filters for equalizing, normalizing, etc, in ‘Media Renderers tab > Audio decoding to PCM section > Audio Filters’. This applies to OpenHome renderers only. Any sound processing can be performed with filters as long as it does not change audio size and duration

  • added ‘Settings > Advanced tab > Transcode Audio’ to return at browse time in Control Points transcoded streams with these possible choices:

    • source audio greater than 96 kHz => transcode to either 96 or 88.2 khz
    • source audio greater than 48 kHz => transcode to either 48 or 44.1 khz
    • optionally convert 24-bit source audio to 16-bit
  • fixed applying ReplayGain (for OpenHome renderers) not working at all due to setting FFmpeg parameters wrong

  • fixed cloud media links extraction not working with OpenHome renderers

  • fixed XXE vulnerability

  • fixed Web UI not showing scrollbars when needed

  • updated communication from server to web browser (UI) with something more reliable

  • updated GWT to 2.8.2, JmDNS to 3.5.5

0.9-update30 (March 15th 2018) #

  • fixed Chromecast discovery removing devices after a while by mistake, requiring a server restart to have them listed again
  • fixed legit Chromecast disappearance notifications not handled properly (on power cable or network cable unplug, device reboot). On such events, Chromecast is removed from the list at most 2 minutes after the event
  • updated jMDNS to 3.5.4-SNAPSHOT (used for Chromecast discovery)
  • fixed DLNA or OpenHome Chromecast producing white noise in some specific cases or not playing at all (in particular playing with foobar2000 using foo_out_upnp)
  • added support for separate Chromecast transcoding E-AC-3 passthrough setting in Android BubbleUPnP 2.9.3
  • FFmpeg PCM decoding for OpenHome renderer is possible only if a local ffprobe binary is available (not the case by default on Synology NAS)
  • fixed setting discoveryMaintenanceInterval to 0 in configuration.xml crashing BubbleUPnP Server on startup
  • added -transcodeAudioSeekableMaxTrackDurationSec (default 600 seconds = 10 min) used to control max duration of track for which to generate a seekbable transcode when -transcodeAudioSeekable is enabled or in Android BubbleUPnP when ‘Settings > Internet access with BubbleUPnP Server > Seeekable tracks’ is enabled. The higher this value and the input track duration are, the longer it will take Android BubbleUPnP to start playing the track. CPU speed also determinates how long it takes (generally a few seconds on a fast CPU).
  • on startup, load file if present in install directory to further configure logging for specific troubleshooting

0.9-update29 (February 23th 2018) #

  • fixed GPU transcode test ‘No Internet connectivity’ error on some setups, preventing GPU transcoding for Chromecast to possibly work

0.9-update28 (February 18th 2018) #

  • added FFmpeg PCM audio decoding ability to OpenHome renderers for playing audio formats/codecs not natively supported by the underlying UPNP AV renderer, and/or to apply some renderer specific constraints (Max supported samplerate, bitdepth conversion, stereo conversion), and/or to apply ReplayGain. This can be configured in the web configuration page of each renderer
  • BubbleUPnP Server can offload FFmpeg PCM audio decoding for Android BubbleUPnP. Can be enabled/disabled in Android BubbleUPnP 2.9.2+, in Settings > UPnP Tweaks > BubbleUPnP Server FFmpeg decoding (default: enabled).
  • fixed Chromecast with name containing Emoji or possibly other special unicode characters not being listed in Renderers
  • Chromecast transcoding: supports ReplayGain when enabled in Android BubbleUPnP in Now Playing > 3-dot menu
  • Chromecast transcoding: support E-AC-3 passthrough setting of Android BubbleUPnP
  • fixed ffmpeg possibly getting stuck on subtitle extraction (Chromecast)
  • improved how BubbleUPnP Server updates itself
  • fixed Denon HEOS renderers listed twice
  • updated Apache HttpClient/HttpCore to 4.5.5 / 4.4.9 (from 4.1.1), httpmime to 4.5.5 (from 4.2.2)
  • updated from to jMDNS 3.5.3 (from 3.5.1)