Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jack2 alsa_in.c #20

Merged
merged 25 commits into from
Dec 31, 2021
Merged

Jack2 alsa_in.c #20

merged 25 commits into from
Dec 31, 2021

Conversation

dvzrv
Copy link
Collaborator

@dvzrv dvzrv commented Dec 12, 2021

Add jack2 variant of alsa_in.c as it had been imported with additional
modifications on top of the original version, which makes rebase
non-trivial.

Relates to #9

tools/alsa_in.c:
Remove the original alsa_in.c as the jack2 variant had been imported
with modifications added on top, which makes a rebase non-trivial.
@dvzrv dvzrv added the enhancement New feature or request label Dec 12, 2021
@dvzrv dvzrv requested a review from falkTX December 12, 2021 17:31
@dvzrv dvzrv self-assigned this Dec 12, 2021
torbenh3 and others added 24 commits December 13, 2021 21:10
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4188 0c269be4-1314-0410-8aa9-9f06e86f4224
According to the ALSA documentation, snd_pcm_readi() returns -ESTRPIPE
when a suspend event occured. But xrun_recovery() checks for -EAGAIN
instead.

If the ALSA client is connected to the ALSA loopback device, it leads to
an infinite loop in the client when the computer is resumed from sleep.
The client takes up to 99% of the CPU resources.

The problem is fixed by a proper error checking of snd_pcm_readi().

A word of caution however: on kernels prior to 3.8, it will trigger a
bug in the snd-aloop driver, and may lead to a kernel oops.
The kernel fix can be found there:
http://www.spinics.net/lists/stable-commits/msg23379.html

Signed-off-by: elboulangero <elboulangero@gmail.com>
Flagged by the Debian QA tool.

Mostly automatic search-n-replace of the mistakes flagged.
* Update alsa_in.c

* Update alsa_out.c
Added -S option and supporting code to permit attaching to a named jack2 server.
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>
* Revert "oss_driver: Use float to S32 conversion if requested"

This reverts commit c5a0f5ea1cf4c29f35e76b600043bef95147186f.

* Revert "alsa_in/out: Use float to S32 conversion if requested"

This reverts commit 6a67df846fa1cc067768d8b433c2e1c1dad3273f.

* Revert "alsa_driver: Use float to S32 conversion if requested"

This reverts commit d017e1fffeb15c9baee46220642dda5030409a02.

* Revert "memops: Provide function for float to S32 conversion"

This reverts commit bb99e09b99ab2c71f9a91ca0fb8cbb996df5dbc6.

* Revert "memops: Align S24LE and S32LE to float conversion"

This reverts commit b4ea23df6a16180a3d686cefffe7dd91fcbc9a27.

* Revert "memops: Provide function for S32 to float conversion"

This reverts commit 244fc27e29d8523acbd6a166a8a11bab969a84b7.

* Revert "memops: Align float to S24LE and S32LE conversion"

This reverts commit 4455fe020ca890d8c6b24f89a7bf91f9044b9d33.

* Revert "memops: Remove not used conversion macros"

This reverts commit a82f3f2fb44e236e5bf3b207349ca000cd01185c.

* Revert "memops: Use right-aligned S24LE to float conversion"

This reverts commit e75325431353919b1917d96a047a2a195ce01c00.

* Revert "memops: Use right-aligned float to S24LE conversion"

This reverts commit 831163e51640aad2fbda7710c44bc406f167df85.
@falkTX falkTX merged commit 4e0bb95 into main Dec 31, 2021
@falkTX falkTX deleted the jack2_alsa_in branch December 31, 2021 03:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.