25 Commits

Author SHA1 Message Date
Rune Warhuus
434d1e1f24
Fixed 3rd party directory checks 2021-11-07 18:47:18 +01:00
Andrea Bondavalli
76abb1bc1a build.sh script builds the WebUI locally in case the release WebUI is not avaiable 2021-05-28 18:40:58 +02:00
Andrea Bondavalli
54c83c1076 Revert to commit 6b0d0e1b20567a102037901fe28f7ef46891e623 2021-05-28 18:32:36 +02:00
Andrea Bondavalli
3472cb944d Fix to uncompress release WebUI tarball in case this exists 2021-05-28 17:37:53 +02:00
Andrea Bondavalli
185dd36452 build.sh script switches to local WebUI build in case release tarball is not available 2021-05-28 17:27:06 +02:00
Anton Bracke
c8b0dfa1a4 feat: use new webui release 2021-05-27 08:48:35 +02:00
Andrea Bondavalli
fe3ff1aabd - build.sh uses the branch aes67-daemon of the new github repo https://github.com/bondagit/ravenna-alsa-lkm.git
This repo is a fork of the original one with the bondagit patches applied to the aes67-daemon branch
- removed ravenna-alsa-lkm driver patches from the repo
2021-02-16 21:09:50 +01:00
Andrea Bondavalli
77cf7bdb28 Added patch to Ravenna driver to fix a problem that leads to an initial playback buffer corruption in case the read/write interleaved mode is used.
The problem arises from pre-buffering performed after ALSA prepare and before ALSA start trigger-
The patch enables the early startup of the audio playback interrupt and disables the cleanup (mute) of the playback buffer.
This issue can be reproduced using the test suite developed to investigate #17 and by removing the (-M) option from aplay in run_test.sh script.
2021-02-03 18:41:00 +01:00
Andrea Bondavalli
bde3de9472 Revert build.sh 2021-01-31 19:45:31 +01:00
Andrea Bondavalli
bf847edd73 Added patch to Ravenna driver to solve a possible corruption issue at the beginning of a playback or recording caused by not initialized buffers. 2021-01-31 18:19:33 +01:00
Andrea Bondavalli
143d98dee5 Added patch to Ravenna driver to enable mono channel configuration for playback and capture devices.
Without this patch a Source or Sink configured with a single channel fail to work as expected.
2021-01-31 18:12:09 +01:00
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