Changelog¶
Version 0.1.5 (Apr 5, 2020)¶
Building¶
correctly handle arguments in environment variables like CXX/CC/LD/etc (for Yocto Linux)
correctly handle spaces in environment variables (for Yocto Linux)
fix environment overrides checks
fix building of the host tools when cross-compiling
fix warnings on Clang 11
fix sphinx invocation
explicitly disable Orc when building PulseAudio using --build-3rdparty
explicitly enable -pthread or -lpthread for libsndfile (for Manjaro Linux)
user CMake instead of autotools when building libuv for Android using
--build-3rdparty
switch to libuv 1.35.0 by default in
--build-3rdparty
check for unknown names in
--build-3rdparty
Portability¶
fix building on Manjaro Linux
fix building on Yocto Linux
add openSUSE to continuous integration and user cookbook
drop Xcode 7.3 from continuous integration, add Xcode 11.3
Version 0.1.4 (Feb 6, 2020)¶
Internals¶
fix logging
Building¶
make
/usr/local
prefix default everywhere except Linuxmake default compiler consistent with CXX var
fix handling of RAGEL, GENGETOPT, DOXYGEN, SPHINX_BUILD, and BREATHE_APIDOC vars
fix SoX download URL (again)
fix CPU count calculation
Documentation¶
update PulseAudio version numbers in "User cookbook"
update CONTRIBUTING and "Coding guidelines"
update maintainers and contributors list
Version 0.1.3 (Oct 21, 2019)¶
Tools¶
add
--list-drivers
optionadd git commit hash to version info
Internals¶
print backtrace on Linux and macOS using libunwind instead of glibc backtrace module
print backtrace on Android using bionic backtrace module
colored logging
Building¶
add libunwind optional dependency (enabled by default)
add ragel required dependency
rename "uv" to "libuv" in
--build-3rdparty
don't hide symbols in debug builds
strip symbols in release builds
fix building on recent Python versions
fix SoX download URL
fix PulseAudio version parsing
automatically apply memfd patch when building PulseAudio
automatically fix libasound includes when building PulseAudio
Version 0.1.2 (Aug 14, 2019)¶
Bugfixes¶
fix handling of inconsistent port protocols / FEC schemes
fix IPv6 support
fix incorrect usage of SO_REUSEADDR
fix panic on bind error
fix race in port removing code
fix packet flushing mechanism
fix backtrace printing on release builds
Internals¶
rework audio codecs interfaces (preparations for Opus and read-aheads support)
minor refactoring in FEC support
improve logging
Portability¶
fix building on musl libc
continuous integration for Alpine Linux
Building¶
allow to configure installation directories
auto-detect system library directory and PulseAudio module directory
Documentation¶
extend "Forward Erasure Correction codes" page
add new pages: "Usage", "Publications", "Licensing", "Contacts", "Authors"
replace "Guidelines" page with "Contribution Guidelines", "Coding guidelines", and "Version control"
Version 0.1.1 (Jun 18, 2019)¶
Bugfixes¶
fix memory corruption in OpenFEC / LDPC-Staircase (fix available in our fork)
fix false positives in stream breakage detection
Portability¶
start working on Android port; Roc PulseAudio modules are now available in Termux unstable repo
continuous integration for Android / arm64 (minimal build)
docker image for aarch64-linux-android toolchain
Testing¶
fix resampler AWGN tests
add travis job to run tests under valgrind
Building¶
fix multiple build issues on macOS
fix multiple build issues with cross-compilation and Android build
fix issues with building third-parties
fix issues with compilation db generation
set library soname/install_name and install proper symlinks
improve configuration options
improve system type detection and system tools search
improve scripts portability
better handling of build environment variables
Version 0.1.0 (May 28, 2019)¶
Features¶
streaming CD-quality audio using RTP (PCM 16-bit stereo)
maintaining pre-configured target latency
restoring lost packets using FECFRAME with Reed-Solomon and LDPC-Staircase FEC schemes
converting between the sender and receiver clock domains using resampler
converting between the network and input/output sample rates
configurable resampler profiles for different CPU and quality requirements
mixing simultaneous streams from multiple senders on the receiver
binding receiver to multiple ports with different protocols
interleaving packets to increase the chances of successful loss recovery
detecting and restarting broken streams
API¶
initial version of transport API (roc_sender, roc_receiver)
Tools¶
initial version of command-line tools (roc-send, roc-recv, roc-conv)
initial version of PulseAudio transport (module-roc-sink, module-roc-sink-input)
Portability¶
GNU/Linux support
macOS support
continuous integration for Ubuntu, Debian, Fedora, CentOS, Arch Linux, macOS
continuous integration for x86_64, ARMv6, ARMv7, ARMv8
toolchain docker images for arm-bcm2708hardfp-linux-gnueabi, arm-linux-gnueabihf, aarch64-linux-gnu
testing on Raspberry Pi 3 Model B, Raspberry Pi Zero W, Orange Pi Lite 2