-
Notifications
You must be signed in to change notification settings - Fork 194
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
Aplay resampler #750
base: master
Are you sure you want to change the base?
Aplay resampler #750
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #750 +/- ##
==========================================
- Coverage 70.54% 69.87% -0.68%
==========================================
Files 99 101 +2
Lines 16181 16404 +223
Branches 2527 2572 +45
==========================================
+ Hits 11415 11462 +47
- Misses 4647 4823 +176
Partials 119 119 ☔ View full report in Codecov by Sentry. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
I've rebased the resampler on top of master. However, I'm not sure whether I have not broken anything along the way... Also, I have not reviewed changes yet, it's only a bling rebase attempt. Over the weekend I will try to do some preliminary review of all these changes. |
578c2c3
to
e48ee28
Compare
I found a bug in the already-merged alsa-pcm code: the written frames are counted twice when calculating the delay. commit 082f1bb fixes that, and I recommend it be merged before the resampler code. commit There is at least one bug in the resampler (softvol muting may use the wrong sample format), and I hope to have a commit for that ready later today. Other than that the resampler is now looking good in my testing with iphone and bluealsa sources. |
8670572
to
85f824e
Compare
68a1450
to
00b6417
Compare
00b6417
to
624af6c
Compare
I've squashed all the commits (to simplify review outside of github) and rebased it on top of master. |
Testing with a bigger range of source applications has shown that there is (at least) a couple of issues with this as it stands:
I hope to have some updates next week if these new ideas prove useful. Incidentally, one of my test sources is my multi-client branch of bluealsa with chromium, and this has proven to be particularly troublesome. I was planning to submit that as a PR soon, but it will have to wait longer as clearly there is (yet another) problem which must be solved first. |
This is my attempt to address the topics previously discussed in PR #459
The libsamplerate resampler causes high CPU usage. Its not so bad on x86_64, but really very high on armhf. I have not tried with arm64. Having said that, I have tested on an old pi zero W (32bit armv6) with the "SINC_FASTEST" converter and got very stable audio with accurate delay reporting watching a 4 hour video stream.
top
showed bluealsa-aplay consuming 28% of the (single core) CPU but the pi continued to run smoothly. So anyway this is left as an option and not included in the build by default.