Hey folks,
working with my iMX6 SoloX and mediastreamer tool I run into some audio problems.
Attached you can find some patches that fix few bugs, simplify alsa filter configuration (threaded version and epipe bug fixing) and other minor changes like typos or compile warning.
In next mails I will provide some general modification and new features to mediastreamer tool.
*Patch list and description:*
0001-audiofilters-alsa-aligned-read_process-samples-to-20.patch
alsa_read_process function in non threaded version read 16ms samples instead of 20ms like other functions.
0002-audiofilters-alsa-fixed-errors-when-compiled-with-TH.patch
Use ENABLE_ALSA_THREADED cmake option to enable alsa threaded version.
Also fix compile errors in this configuration.
0003-audiofilters-alsa-fixed-reference-errors-when-compil.patch
Use ENABLE_ALSA_EPIPE_BUGFIX cmake option to enable EPIPE_BUGFIX in alsa filter.
Also fix compile errors in this configuration.
0004-audiofilters-alsa-added-debug-message-when-alsa_writ.patch
Actually, when snd_pcm_writei returns EAGAIN, these samples are discarded generating audio noise.
Increase output buffer size in /etc/asound.conf avoid EAGAIN error.
In order to simply debug, this patch add ms_debug message every time EAGAIN is returned.
0005-audiofilters-audiomixer-do-not-check-channel-activit.patch
When an MSAudioMixer input pin is disabled do not consider channel activity and discard samples.
0006-audiofilters-audiomixer-increase-logging-information.patch
Added debug information when MSAudioMixer enters into bypass mode.
0007-audiofilters-audiomixer-fixed-typos.patch
Fixed typos
0008-msqueue-added-mutex-lock-in-MSBufferizer-in-order-to.patch
MSFilePlayer generate strange duplicated audio.
After some debug, I notice that ms_bufferizer provides duplicated samples.
This patch added mutex in order protect critical section in msqueue proceducer/consumer.
0009-mscommon-concealement-is-not-required-when-current-t.patch
I had some problem with OPUS codec. It introduce noise when use PLC.
Using concealement only when we are late...
0010-voip-audiostream-removed-compile-warning.patch
Minor. Fix warning
0011-voip-audiostream-fixed-memleak-on-multiple-audio_str.patch
In src/audiostream.c there is a memleak when recorder is stopped.
With this patch record_file is freed, but the sequece
audio_stream_mixed_record_open,
audio_stream_mixed_record_start,
audio_stream_mixed_record_stop
is mandatory.