352 Commits

Author SHA1 Message Date
Andrea Bondavalli
faa6a246aa Removed some wavplay AM824 test files that can be easily re-created using soc with create_test_files.sh script.
See issue #39
2021-05-12 14:08:38 +02:00
Andrea Bondavalli
480be2577b
Update README.md 2021-03-31 11:49:40 +02:00
Andrea Bondavalli
588358f2ea Fix to status.json file used by platform tests 2021-03-12 19:50:18 +01:00
Andrea Bondavalli
27b23f616c Updated README.md with changes in release v1.1 2021-03-11 18:04:23 +01:00
Andrea Bondavalli
f6d7799ec7 Changed daemon version to v1.1 2021-03-11 18:01:46 +01:00
Andrea Bondavalli
e72285b7e8 Restored default daemon.conf 2021-03-11 18:01:08 +01:00
Andrea Bondavalli
1af74dcbf0 Added support for unicast RTP stream address to daemon and WebUI, see #30
- added address field to Source struct definition to contain the destination address. If this field is left empty the default multicast address is used.
- if a unicast address is provided when creating a new Source the daemon looks in the ARP cache to retrieve the corresponding MAC address.
  If this is not found the daemon tries to connect to echo TCP service of the destination host and looks into the ARP cache up to 3 times and then returns and error.
- added RTP address field in the Source creating form of the WebUI. If this field is left empty the default multicast address is used instead.
- updated documentation and regression test suite
2021-03-04 18:31:34 +01:00
Andrea Bondavalli
399e22216a - added command line option -v to daemon to return current version
- set current daemon version to bondagit-1.0
- added HTTP API to return current daemon version and updated documentation
- added diplay of current daemon version in WebUI Config page
2021-02-25 18:00:01 +01:00
Andrea Bondavalli
0cda7c7ad3
Update README.md 2021-02-17 20:42:43 +01:00
Andrea Bondavalli
3e2b439193 Merge branch 'master' of https://github.com/bondagit/aes67-linux-daemon 2021-02-17 20:41:06 +01:00
Andrea Bondavalli
6f1868f1b7 Updated README.md file with recent changes to the repositories 2021-02-17 20:36:46 +01:00
Andrea Bondavalli
8e12abcc0e Re-added fix to check tool: check fails if the recorded file contains silence only 2021-02-17 20:35:02 +01:00
Andrea Bondavalli
0ba03dda75
Update README.md 2021-02-16 21:51:45 +01:00
Andrea Bondavalli
b2cc16de89
Update README.md 2021-02-16 21:17:50 +01: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
330b1cf4db Fix to test/.gitignore 2021-02-16 21:01:33 +01:00
Andrea Bondavalli
7621beb83c - added platform compatiblity test used to test issue #17
- removed demo
- updated documentation with info about the platform compatiblity test
2021-02-16 20:57:31 +01:00
Andrea Bondavalli
723b410704 Removed test suite from master branch 2021-02-12 16:49:44 +01:00
Andrea Bondavalli
8a5600638b Reworked driver PCM interface to simplify and unify handling of memory mapped and read-write interleaved modes.
Removed driver copy_user(), copy_kernel() and fill_silence() ops.
Removed user space buffer transfer handling mode from playback and capture copy_internal() functions.
2021-02-12 16:35:07 +01:00
Andrea Bondavalli
db3a9520e7 Merge branch 'master' into test_issue_17 2021-02-05 12:33:32 +01:00
Andrea Bondavalli
af25380763 Fix to patch for corruption in read-write mode to preserve playback buffer cleanup (mute) on first IO start but to avoid it at subsequent 2021-02-05 12:26:12 +01:00
Andrea Bondavalli
ce72740f88 Merge branch 'master' into test_issue_17 2021-02-03 19:13:18 +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
39e592886e Merge branch 'master' into test_issue_17 2021-01-31 19:46:19 +01:00
Andrea Bondavalli
bde3de9472 Revert build.sh 2021-01-31 19:45:31 +01:00
Andrea Bondavalli
10b5749d2a Improved loopback test suite to support multiple configuration.
To run the test suite:

./run_test.sh sample_format sample_rate channels duration
Where:
    sample_format can be one of S16_LE, S24_3LE, S32_LE
    sample_rate can be one of 44100, 48000, 96000
    channels can be one of 1, 2, 4
    duration is in the range 1 to 10 minutes

The test suite creates a raw file with the specified parameters, runs a loopback test where the file gets played and recorded using the loopback network interface and checks that the recorded file, after the initial silence, contains the expected samples sequence.
This test was developed to further investigate the issue #17.
2021-01-31 18:26:41 +01:00
Andrea Bondavalli
b34efd2a45 Merge branch 'master' into test_issue_17 2021-01-31 18:22:40 +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
Andrea Bondavalli
21d598c8f7 Simple test suite to verify playback and recording in memory mapped mode on the network loopback interface.
This can be used t odebug issue #17.
2021-01-19 20:38:30 +01:00
Andrea Bondavalli
aa8c08d8a9 The daemon set the driver sample rate when a new sample rate is advertised.
The issue was found during investigation of #27.
2021-01-15 12:37:11 +01:00
Andrea Bondavalli
f1dcd96e42 Fix for incorrect SAP packets TTL
This fixes issue #25
2020-11-25 12:46:51 +01:00
Andrea Bondavalli
3fa3be6aaa
Merge pull request #23 from bondagit/yocto-integration
make buildsystem yocto friendly
2020-11-03 15:33:26 +01:00
amsobr
93e602f07d fix compilation of tests under yocto 2020-11-03 14:23:48 +00:00
amsobr
0be822dcf4 fix cmakelists to support cmake 3.7.0 2020-11-03 10:09:37 +00: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
284097a51f
Update README.md 2020-09-13 12:07:07 +02:00
Andrea Bondavalli
7b849be00e
Update USB_GADGET.md 2020-09-13 11:25:00 +02:00
Andrea Bondavalli
5ef1046676
Update USB_GADGET.md 2020-09-08 23:29:49 +02:00
Andrea Bondavalli
16309d7943 Added totorial to use the AES67 Daemon on a board to operate as AES67 USB Receiver and Transmitter.
Minor changes to daemon prerequisite.
2020-09-08 20:57:38 +02:00
Andrea Bondavalli
b791c559a7 Fix to avoid kernel assertion "BUG: scheduling while atomic"
Added spinlock release in mr_alsa_audio_pcm_hw_params() and mr_alsa_audio_pcm_prepare() prior to call to set_sample_rate()
This fixes issue #21
2020-09-04 20:36:30 +02:00
Andrea Bondavalli
561ae1b334 Fix to webui to remove hardcoded HTTP server port.
This allows to change  the "http_port" parameter of the daemon configuration.
2020-09-01 20:29:00 +02:00
Andrea Bondavalli
344fba0827 Minor changes to AM824 WAV player before merge into master branch 2020-08-30 16:16:25 +02:00
Andrea Bondavalli
d7a117e482 Merge branch 'master' into am824_player 2020-08-30 15:35:27 +02:00
Andrea Bondavalli
8010639395 Merge branch 'master' of https://github.com/bondagit/aes67-linux-daemon 2020-08-27 21:21:36 +02:00
Andrea Bondavalli
3d3209bfc9 Set of chnages to ALSA Ravenna driver to fix the playback with memory mapped access mode on ARM platform.
Issue is in the mr_alsa_audio_pcm_playback_copy_internal() function of audio_driver.c that transfers the PCM samples from the ALSA buffer to the Ravenna buffer using the get_user() function.
In case of memory access mode the ALSA buffer can be directly accessed by the kernel and the samples must be copied.
mr_alsa_audio_pcm_playback_copy_internal() has been modified  to handle the transfer of the ALSA buffer from user space (used with read/write access mode) and from kernel space (used by memory access mode).
The issue is common to all the platform but impacting ARM only.
Additional changes:
- changed type for dma_playback_offset and dma_capture_offset variables to uint32_t instead of atomic_t since the pointer callback mr_alsa_audio_pcm_pointer() is now atomic
- added variables to the mr_alsa_audio_chip scructure to decrease the number of calls to snd_pcm_lib_xxx() functions. These get assigned in the prepare callback mr_alsa_audio_pcm_prepare()
- changed mr_alsa_audio_get_playback_buffer_size_in_frames() to return configured size of Ravenna playback buffer (same as mr_alsa_audio_get_capture_buffer_size_in_frames())
- some rework of the existing patches
This fixes issue #20
2020-08-27 21:20:19 +02:00
Andrea Bondavalli
7c42e52dca Set of chnages to ALSA Ravenna driver to fix the playback with memory mapped access mode on ARM platform.
Issue is in the mr_alsa_audio_pcm_playback_copy_internal() function of audio_driver.c that transfers the PCM samples from the ALSA buffer to the Ravenna buffer using the get_user() function.
In case of memory access mode the ALSA buffer can be directly accessed by the kernel and the samples must be copied.
mr_alsa_audio_pcm_playback_copy_internal() has been modified can to handle the transfer of the ALSA buffer from user space (used with read/write access mode) and from kernel space (used by memory access mode).
The issue is common to all the platform but impacting ARM only.
Additional changes:
- changed type for dma_playback_offset and dma_capture_offset variables to uint32_t instead of atomic_t since the pointer callback mr_alsa_audio_pcm_pointer() is now atomic
- added variables to the mr_alsa_audio_chip scructure to decrease the number of calls to snd_pcm_lib_xxx() functions. These get assigned in the prepare callback mr_alsa_audio_pcm_prepare()
- changed mr_alsa_audio_get_playback_buffer_size_in_frames() to return configured size of Ravenna playback buffer (same as mr_alsa_audio_get_capture_buffer_size_in_frames())
- some rework of the existing patches
This fixes issue #20wq
2020-08-27 21:11:41 +02:00
James Cowdery
6903aaa0a4
Delete portaudio.h
Deleting Windows build
2020-08-03 20:15:59 -07:00
James Cowdery
e2b949306a
Delete pa_win_wmme.h
Deleting Windows build
2020-08-03 20:15:39 -07:00
James Cowdery
9048204050
Delete pa_win_wdmks.h
Deleting Windows build
2020-08-03 20:15:27 -07:00