this extraction allowed easier multiplatform implementation,
even thought other platform such as QNX are not a functional
target by Jack2, it would be beneficial to allow this abstraction
as the cost for upstream is minimal
Change-Id: I92760ed539b475e210bc877b335afdbb4a982a04
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
sample_move_d32u24_sS() converts into samples like 0x00****** but S32
format expects samples like 0x********. Therefore it will not use the
full volume range when also using sample_move_d32u24_sS() for S32.
Change-Id: I4afe9bd0c3b342975536f5f98fa4dadd2eaee02d
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
* apply changes without whitespace
* remove neon intrinsics and fix indentation
* update float_32 macro and fix misspellings
* check msbits to determine number of bits in alsa driver
* add better error messages and support for SND_PCM_FORMAT_S32_BE
* log when sample format is not equal to bits
Co-authored-by: Claudio Cabral <clca@bang-olufsen.dk>
Co-authored-by: Claudio Cabral <cl@udio.co>
This is always an audible issue. Therefore print the coresponding
error message also in non verbose mode.
Signed-off-by: Adam Miartus <external.Adam.Miartus@de.bosch.com>
(cherry picked from commit 5b8c373318)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
Change-Id: I5e1380776f76814409f198a4ad874d4ae46007e3
poll may be interrupted due to signal, in that case print
error log
Change-Id: I1b2b2543a4b056b50af7617efc80fe517bddaaae
Signed-off-by: Adam Miartus <external.Adam.Miartus@de.bosch.com>
(cherry picked from commit 20883aa404)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
should be set in milliseconds
Signed-off-by: Adam Miartus <external.Adam.Miartus@de.bosch.com>
(cherry picked from commit 17031895de)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
Change-Id: I3d32e4602c1bdf15474b14496173727aa130c924
Change-Id: I45e1ccf2e1b955db187eb72127a536fe5eb0b81e
Signed-off-by: Adam Miartus <external.Adam.Miartus@de.bosch.com>
(cherry picked from commit 865cad2003)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
On ALSA poll time out, retry polling after executing the recovery.
Retry max limit is set with MAX_RETRY_COUNT.
Signed-off-by: Laxmi Devi <Laxmi.Devi@in.bosch.com>
Currently only poll_result is checked for < 0 before doing the further
processing, and not for timeout. After this movement the revents is checked
only if the poll doesn't timeout.
Signed-off-by: Laxmi Devi <Laxmi.Devi@in.bosch.com>
Currently even on XRUN, the xrun recovery is not executed as the
need_playback or need_capture flag is still true and so it goes
and waits on poll again.
Signed-off-by: Laxmi Devi <Laxmi.Devi@in.bosch.com>
* Revert "oss_driver: Use float to S32 conversion if requested"
This reverts commit c5a0f5ea1c.
* Revert "alsa_in/out: Use float to S32 conversion if requested"
This reverts commit 148c8d8e6a.
* Revert "alsa_driver: Use float to S32 conversion if requested"
This reverts commit d017e1fffe.
* Revert "memops: Provide function for float to S32 conversion"
This reverts commit bb99e09b99.
* Revert "memops: Align S24LE and S32LE to float conversion"
This reverts commit b4ea23df6a.
* Revert "memops: Provide function for S32 to float conversion"
This reverts commit 244fc27e29.
* Revert "memops: Align float to S24LE and S32LE conversion"
This reverts commit 4455fe020c.
* Revert "memops: Remove not used conversion macros"
This reverts commit a82f3f2fb4.
* Revert "memops: Use right-aligned S24LE to float conversion"
This reverts commit e753254313.
* Revert "memops: Use right-aligned float to S24LE conversion"
This reverts commit 831163e516.
sample_move_d32u24_sS() converts into samples like 0x00****** but S32
format expects samples like 0x********. Therefore it will not use the
full volume range when also using sample_move_d32u24_sS() for S32.
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
This reverts commit dde9f29a8e.
The commit introduced the following compiler error:
[100/255] Compiling posix/JackNetUnixSocket.cpp
../posix/JackNetUnixSocket.cpp: In member function 'int Jack::JackNetUnixSocket::NewSocket()':
../posix/JackNetUnixSocket.cpp:126:32: error: 'tos' was not declared in this scope
socklen_t len = sizeof(tos);
for all devices.
This is required for example for some adaptive sample rate converters
which are executed on top of JACK. These SRCs are using the time stamp to
calculate the buffer fill level between playback application and sound
card.
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
We recommend using symbolic names like hw:Live but when subdevices are used
regcomp() was failing to parse them. This changeset improves the algorithm
by using less assumptions.