Due to inlining and enabled optimization the compiler will not create
machine instructions for the if-clauses and left shift for
sample_move_dS_s32s() and sample_move_dS_s32().
Change-Id: Idd481c62ef987cc80850341adc8d896a77e00e1b
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
Due to the optimization of the compiler this commit does not introduce any
differences in the machine instructions.
Tested with GCC version 6.2.0 on ARM64 and x86_64.
Change-Id: I2cdb003f0627e30c0593395769d4274e71af1393
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
ALSA expects right-aligned samples (0x00******) as mentioned in the
source code for SND_PCM_FORMAT_S24_LE:
Signed 24 bit Little Endian using low three bytes in 32-bit word
See http://git.alsa-project.org/?p=alsa-
lib.git;a=blob;f=include/pcm.h;h=5b0782315585de1d5ab82c9f2036b62c168f5a48;hb=HEAD#l140
Change-Id: I90b779f5f2acbe284d13ba9c8a39695b12011219
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
ALSA expects right-aligned samples (0x00******) as mentioned in the
source code for SND_PCM_FORMAT_S24_LE:
Signed 24 bit Little Endian using low three bytes in 32-bit word
See http://git.alsa-project.org/?p=alsa-
lib.git;a=blob;f=include/pcm.h;h=5b0782315585de1d5ab82c9f2036b62c168f5a48;hb=HEAD#l140
Change-Id: I2d3a90ce740a1f70631e543b8db4cc7b809cd251
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
On failure, currently the jack thread exits without notifying the jackd.
So jackd is just waiting for the signals, unaware of the failure.
With this implementation, on error threads can post an event to jackd
notifying it to to exit.
(cherry picked from adit commit c430be1e33)
Change-Id: Ib484bb1e126f6bff0db76d44e6e036f92f5d8806
Signed-off-by: Laxmi Devi <Laxmi.Devi@in.bosch.com>
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
This would be required so that the polling concept can be used to wait
on signals as well as wait for events from the other threads.
(cherry picked from adit)
Change-Id: Ic7b8d4c816d601d4b5467ec9c2519f3c547ae59f
Signed-off-by: Laxmi Devi <Laxmi.Devi@in.bosch.com>
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
* Set MIDI port pretty names on macOS
* Set MIDI port pretty names on Windows
* Set MIDI port pretty names on Linux/alsarawmidi
* Update alsarawmidi port naming to match CoreMIDI and WinMME
* Rename PortSetPrettyNameProperty to PortSetDeviceName
* Set hardware property to MIDI port names
aften v0.0.8 is latest released tarball.
https://downloads.sourceforge.net/aften/aften-0.0.8.tar.bz2
Travis builds for OSX use aften v0.0.8 (brew).
More recent aften code has introduced an additional parameter to aften_encode_frame().
The check in wscript compiles a small test program to see if the additional parameter is understood.
If additional parameter 'count' is available, set HAVE_AFTEN_NEW_API.
HAVE_AFTEN_NEW_API is used in common/JackAC3Encoder.cpp to call aften_encode_frame()
either with or without 'count' param.
Problem:
int res = aften_encode_frame(&fAftenContext, fAC3Buffer + SPDIF_HEADER_SIZE, fSampleBuffer);
Fails, because API is
AFTEN_API int aften_encode_frame(AftenContext *s, unsigned char *frame_buffer,const void *samples, int count)
The additional parameter 'count' was added to libaften function aften_encode_frame() here:
e1cbb66628 (diff-d4868af7d235a914aef2ec4f979fcb9fR87)
Solves https://github.com/jackaudio/jack2/issues/455