422 Commits

Author SHA1 Message Date
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
James Cowdery
42c8444bea
Delete pa_win_waveformat.h
Deleting Windows build
2020-08-03 20:15:16 -07:00
James Cowdery
9b80af7198
Delete pa_win_wasapi.h
Deleting Windows build
2020-08-03 20:15:06 -07:00
James Cowdery
2e6858f0cd
Delete pa_win_ds.h
Deleting Windows build
2020-08-03 20:14:54 -07:00
James Cowdery
7233a5e18f
Delete pa_mac_core.h
Deleting Windows build
2020-08-03 20:14:44 -07:00
James Cowdery
bb875f354a
Delete pa_linux_alsa.h
Deleting Windows build
2020-08-03 20:14:32 -07:00
James Cowdery
58f6c00f97
Delete pa_jack.h
Deleting Windows build
2020-08-03 20:14:21 -07:00
James Cowdery
291bd173f5
Delete pa_asio.h
Deleting Windows build
2020-08-03 20:14:06 -07:00
James Cowdery
54520c4c04
Delete portaudio_x64.lib
Deleting Windows build
2020-08-03 20:13:32 -07:00
James Cowdery
6f63dba97d
Delete portaudio_x64.dll
Deleting Windows build
2020-08-03 20:13:22 -07:00
James Cowdery
9ce8164827
Delete portaudio_x64.lib
Deleting Windows build
2020-08-03 20:13:00 -07:00
James Cowdery
dc8f05df2c
Delete portaudio_x64.dll
Deleting Windows build
2020-08-03 20:12:22 -07:00
James Cowdery
9ea7471a77
Delete portaudio_x86.lib
Deleting Windows build
2020-08-03 20:12:06 -07:00
James Cowdery
e4372d09bd
Delete portaudio_x86.dll
Deleting Windows build
2020-08-03 20:11:55 -07:00
James Cowdery
dace0b512c
Delete portaudio_x86.lib
Deleting Windows build
2020-08-03 20:11:34 -07:00
James Cowdery
3dd99206c8
Delete portaudio_x86.dll
Deleting Windows build
2020-08-03 20:11:23 -07:00
James Cowdery
bae0ed0cb5
Delete wavplay_am824.exe
Deleting Windows build
2020-08-03 20:10:39 -07:00
James Cowdery
af25abf6fe
Delete portaudio_x64.dll
Deleting Windows build
2020-08-03 20:10:26 -07:00
James Cowdery
1be9b9f10f
Delete wavplay_am824.exe
Deleting Windows build
2020-08-03 20:10:09 -07:00
James Cowdery
a5b523f958
Delete portaudio_x86.dll
Deleting windows build
2020-08-03 20:09:42 -07:00
James Cowdery
3ceeae88f4
Delete wavplay_am824.vcxproj
Removing Windows build
2020-08-03 20:08:15 -07:00
Andrea Bondavalli
2a2d536284 Change in RAVENNA ALSA driver to avoid channels consistency check when operating in mmap interleaved mode 2020-08-02 15:54:02 +02: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
James Cowdery
28c9f85228
Initial commit
These test files contain -10dBFS 1kHz tone on the left channel and 100Hz tone on the right channel. Various formats are available to verify wav header processing. The '.ac3.wav' can be used to verify that the -am824 switch can create compliant AM824/SMPTE 2110-31 stream with Dolby Digital (AC-3) content. This was created with a professional Dolby Digital encoder (not available) and SMPTE 337 wrapping tool (available at Dolby's github repository).
2020-07-30 13:27:43 -07:00
James Cowdery
de79efc64d
Initial Commit
This player is not fully tested due to occasional drops on the output caused CRC errors when used with encoded audio such as Dolby E. However these drops have been observed with aplay when used in memory mapped mode so it is not believed to be an issue with this player. However, final testing is still outstanding
2020-07-30 12:41:47 -07:00
James Cowdery
ec497bf36c
Initial Commit
This player is not fully tested due to occasional drops on the output caused CRC errors when used with encoded audio such as Dolby E. However these drops have been observed with aplay when used in memory mapped mode so it is not believed to be an issue with this player. However, final testing is still outstanding
2020-07-30 12:39:22 -07:00
James Cowdery
bc0e1897c0
Initial commit
This player is not fully tested due to occasional drops on the output caused CRC errors when used with encoded audio such as Dolby E. However these drops have been observed with aplay when used in memory mapped mode so it is not believed to be an issue with this player. However, final testing is still outstanding
2020-07-30 12:38:40 -07:00
James Cowdery
23c6888b6c
First commit
This player is not fully tested due to occasional drops on the output caused CRC errors when used with encoded audio such as Dolby E. However these drops have been observed with aplay when used in memory mapped mode so it is not believed to be an issue with this player. However, final testing is still outstanding
2020-07-30 12:28:11 -07:00
Andrea Bondavalli
7d6a8289d5 Fix to RtspClient::process() method to avoid ending up into an infinite loop in certain cases when the client gets stopped via RtspClient::stop() or RtspClient::stop_all() methods.
The bug was also preventing the daemon from terminating. It was possible to reproduce the problem using the add_remove_check_mdns_browser_update_all regression test.
2020-07-29 21:21:58 +02:00
Andrea Bondavalli
fe08f3c3bd Fix to independent playback and capture patch to stop triggering PCM capture interrupts when a capture is not running and PCM playback interrupts when a playback is not running.
This was causing a possible kernel hang while stopping a capture with an ongoing playback or vice versa.
2020-07-20 16:51:30 +02:00
Andrea Bondavalli
af01d7d2f8 Minor changes to devices documentation 2020-07-09 22:03:56 +02:00