14 Commits

Author SHA1 Message Date
amsobr
3d3e19ea3b make buildsystem yocto friendly
* daemon:
 - do not assume filesystem hierarchy in CMakeLists.txt
 - do not replace default CXX compilation flags to avoid breaking
   builds with external toolchain (e.g. yocto)
 - allow for tests to be enabled/disabled
 - allow for cpp-httplib dir to be provided by hand; otherwise search
   for it in system locations
 - allow for the location of the ravenna alsa lkm to be provided by
   hand, otherwise look for it in system locations
2020-11-02 10:54:51 +00:00
Andrea Bondavalli
b24ba6ef6b Added patch to the RAVENNA ALSA driver to implement direct PCM transfer for the memory map access mode as replacement to indirect PCM transfer.
PCM samples are transferred by the PCM interrupt routine from the memory of the ALSA playback device to the RAVENNA buffer and from the RAVENNA buffer to the memory of the ALSA capture device.
This patch will enabled the use of the ALSA plugins and it has been testes with the ALSA Dmix plugin.
This patch applies to issues #7 and #15.
2020-08-02 15:42:47 +02:00
Andrea Bondavalli
e8c1c9d6bf Fix wrong file extension of ravenna-alsa-lkm-independent-playback-capture patch file 2020-07-07 22:21:12 +02:00
Andrea Bondavalli
4d30bdb24a Fixed build.sh script 2020-07-03 15:40:31 +02:00
Andrea Bondavalli
dd0ab49c6c Added fix to ALSA/RAVENNA driver to restore default number of inputs and outputs to 64.
These were set back to 8 after merge of ALSA/RAVENNA driver version 1.1.93.
This fixes issue #13
2020-06-30 17:27:16 +02:00
Andrea Bondavalli
3aeed93856 Added patch to the ALSA RAVENNA/AES67 driver to handle independent playback and capture I/O startup and termination.
This fixes issue #11
2020-06-26 19:31:23 +02:00
Andrea Bondavalli
6449524ed5 Modified daemon code and build.sh script to use version v0.7.0 of cpp-httplib 2020-06-18 19:33:21 +02:00
Andrea Bondavalli
9aaa5172ee Set of changes to support new ALSA RAVENNA/AES67 device driver version 1.1.93
- removed changes to driver/MTAL_LKernelAPI.c in ravenna-alsa-lkm-kernel-v5.patch
- added patch ravenna-alsa-lkm-disable-ptp-checksum.patch to the driver to the disable UDP checksum verification for the incoming PTP packets
- changed build.sh script to use new driver revision and apply the new patch
- added handling of the sink status flag "all_muted" in daemon, WebUI and regression tests
- updated documentation
2020-06-06 20:43:44 +02:00
Andrea Bondavalli
48718c8dc2 Renamed patch to add support for AM824 to AES67 ALSA driver 2020-04-24 09:04:32 -07:00
Andrea Bondavalli
1d2ea0875c Added support for AM824 codec for testing
- added patch to ravenna-alsa-lkm module to support AM824 codec and associated conversion functions
- added support for AM824 codec to daemon and in WebUI
- modifed demo to test 8 channels of AM824 with 6 samples per packet @ 48Khz (125us x packet)
2020-04-10 13:04:44 -07:00
Andrea Bondavalli
5deb6c1927 Added to the daemon the support for Multicast DNS (using Linux Avahi) to allow discovery of remote audio sources and of RTSP for SDP transfer.
Added to the WebUI the possibility to directly select a remote source SDP file for a Sink.

New files:
daemon/mdns_client.hpp,cpp -> mDNS client implementation using Avahi client library
daemon/rtsp_client.hpp,cpp -> RTSP client implementation used to transfer SDP file
daemon/utils.cpp -> used for common utility functions
.clang-format -> added clang-format configuration file

Modified files:
daemon/CMakeList.txt -> added support for Avahi and option WITH_AVAHI=[yes/no] to compile the daemon with or without Avahi mDNS support
daemon/config.hpp,cpp -> added configuration option mdns_enabled to enable or disable mDNS discovery at runtime
daemon/json.cpp -> extended JSON config with mdns_enabled option
daemon/browser.hpp,cpp -> added support for mDNS client to the browser
daemon/session_manager.cpp -> added support for RTSP protocol to Source URL field and fixed issue with SDP file parsing
webui/RemoteSources.js -> added visualization of mDNS remote sources
webui/SinkEdit.js -> added the possibility to directly select a remote source SDP file for a Sink
webui/SourceInfo.js -> added visualization of protocol source (SAP, mDNS or local) for a source
ubuntu-packages.sh -> added libavahi-client-dev to the list of required packages
build.sh -> added WITH_AVAHI=yes option when invoking CMake
README.md -> added notes about mDNS support via Avahi
daemon/README.md -> added notes about mDNS support via Avahi, support for RTSP protocol in source and new mdns_enabled config param

Additional minor changes to remaining files.
2020-03-29 19:41:56 +02:00
Andrea Bondavalli
5e223ddb53 Initial set of changes to to enable proper compilation ond operations on ARMv7 32bit platform.
- added patch to ALSA RAVENNA/AES67 Driver
- switched to CLANG compiler in order to compile the daemon succesfully
- disabled valgind memory check in daemon regression tests for ARM.
Demo and daemon regression test work properly.
Tests have been executed on the BeagleBone® Black board with ARM Cortex-A8 32-Bit and Ubuntu 18.04 distro
2020-02-05 13:52:01 -08:00
Andrea Bondavalli
52e8868b5e Added installation of clang compiler and option to use it 2020-02-02 07:10:32 -08:00
Andrea Bondavalli
259e99afbc First import 2020-01-28 20:16:30 +01:00