Commit graph

505 commits

Author SHA1 Message Date
Juho Hämäläinen
adebe47929 Bump packaging version. 2019-10-08 14:23:16 +03:00
Juho Hämäläinen
772b9ca3f1
Merge pull request #92 from jusa/input
Rewrite input stream handling.
2019-10-08 14:22:21 +03:00
Juho Hämäläinen
9d5daf5f87 modules: No point in supporting anything older than PulseAudio 10. 2019-10-08 13:23:53 +03:00
Juho Hämäläinen
ea451e9879 common: Recognize some more input flags. 2019-10-08 13:07:21 +03:00
Juho Hämäläinen
97e2ec2e11 build: Check for some more input flags. 2019-10-08 13:07:02 +03:00
Juho Hämäläinen
95c37782c3 source: Use mic control functions from common. 2019-10-07 17:12:30 +03:00
Juho Hämäläinen
1d47383623 README: Add description of reconfiguring droid source. 2019-10-07 11:33:46 +03:00
Juho Hämäläinen
9f27eaed6a card: Allow selecting whatever module when not using default profile. 2019-10-07 11:33:46 +03:00
Juho Hämäläinen
c6b8807fac common: Fix creating old-style profiles.
At some point in history creating old-style profiles got broken,
resulting in segfault when enabling.
2019-10-07 11:33:46 +03:00
Juho Hämäläinen
ba839c52f4 common: Don't create extra profiles with default profile.
We don't need the extra profiles for anything in normal use,
they are just a way to debug profile and hal module handling.
Debugging can still be achieved by using module profiles,
for example with profile=primary
2019-10-07 11:33:46 +03:00
Juho Hämäläinen
1ce36525e0 card: Fix some unused variable warnings. 2019-10-07 11:33:46 +03:00
Juho Hämäläinen
841fa93a03 source: Try to function even if stream reconfiguration fails.
Our droid source may be left in a state of not having an input stream
if reconfiguration fails and fallback to previously active values fails
as well. In this case just avoid using the stream but don't die.
2019-10-07 11:33:46 +03:00
Juho Hämäläinen
367a587453 source: Format debug log line better. 2019-10-07 11:33:46 +03:00
Juho Hämäläinen
0708ad905d source: Remove obsolete comment. 2019-10-07 11:33:46 +03:00
Juho Hämäläinen
70b624d663 source: Implement dynamic source.
When new source-output is connecting to our droid source
we check if its sample specification or channel map differ
from currently configured source. If they differ close the
input stream and try to open with the new values. If opening
new input stream fails retry opening with previously used
values.

When there already is one or more connected source-outputs
and a new one connects, source is always reconfigured based
on the latest connecting source-output. Already connected
source-outputs will then reattach so that if need be they
will use resampler to get what they originally requested.

[modules-droid] Source is reconfigured dynamically based on input. Fixes JB#47579
2019-10-07 11:33:33 +03:00
Juho Hämäläinen
185fb1add0 source: Tag this source always as both builtin and external. 2019-10-03 17:04:27 +03:00
Juho Hämäläinen
4d5c17bed0 source: Set real sample spec and channel map values. 2019-10-03 17:04:27 +03:00
Juho Hämäläinen
f69afe38c6 source: Use new function for opening input stream. 2019-10-03 17:04:27 +03:00
Juho Hämäläinen
57b1848dbf card: Use set mode function from common. 2019-10-03 17:04:27 +03:00
Juho Hämäläinen
c93ea363b2 common: Reimplement mode change and input stream routing. 2019-10-03 17:04:27 +03:00
Juho Hämäläinen
fc250744f4 common: Pre-increment output id. 2019-10-03 17:04:27 +03:00
Juho Hämäläinen
b1cf9bfcdc common: Input stream is always primary.
There can be only one.
2019-10-03 17:04:27 +03:00
Juho Hämäläinen
2bbeb30522 common: Rewrite input stream opening. 2019-10-03 17:04:25 +03:00
Juho Hämäläinen
2a7dba4d5c common: Add microphone mute control to common lib. 2019-10-03 16:47:59 +03:00
Juho Hämäläinen
98b7553bc8 common: Add helpers for getting current stream metrics. 2019-10-03 16:45:51 +03:00
Juho Hämäläinen
87e36be31e source: Remove droid hooks and resampler code.
Part of rewriting input handling.
2019-10-03 11:36:40 +03:00
Juho Hämäläinen
26bf0ee2ca common: Remove droid hooks.
Part of rewriting input handling.
2019-10-03 11:36:11 +03:00
Juho Hämäläinen
5a47cc2c56 card: There can be only one source at maximum. 2019-10-03 11:29:35 +03:00
Juho Hämäläinen
24bcbbd373 source: Use modified device struct. 2019-10-03 11:28:26 +03:00
Juho Hämäläinen
cd3465b2f2 common: Always use only one input.
Android by design only allows one input at a time so previous
adaptations where we could record to input sources at the same
time was a coincidence. Line the implementation with how the
input handling is defined.

[common] Always use only one input. JB#45496
2019-10-03 11:28:07 +03:00
Juho Hämäläinen
09c3cca84e
Merge pull request #91 from jusa/voicemmode
Refactor virtual profiles and add voicemmode 1 and 2 profiles.
2019-08-09 13:49:37 +03:00
Juho Hämäläinen
f7850df526 card: Improve virtual profiles implementation.
Previously only one profile could extend previous one, with new
implementation one virtual profile can have as many extensions as is
needed. But only two levels of virtual profiles is supported, that
is virtual1->virtual1-exetension.
2019-08-09 10:17:16 +03:00
Juho Hämäläinen
77de8c289a card: Enable voicecall-record profile always with voicecall. 2019-08-09 10:17:16 +03:00
Juho Hämäläinen
3df73147d9 card: Add voicemmode 1 and 2 for debugging purposes.
Add virtual profiles voicecall-voicemmode1 and voicecall-voicemmode2 for
debugging purposes to droid card.

[card] Add voicemmode 1 and 2 virtual profiles. JB#46805
2019-08-09 10:16:32 +03:00
Juho Hämäläinen
96c4e2ea97 Bump packaging version. 2019-05-15 11:46:47 +03:00
Juho Hämäläinen
3a195e0929
Merge pull request #88 from jusa/dev
Fix segfaults with bad input in xml parser and refactor conversion header a bit.
2019-05-15 11:39:23 +03:00
Juho Hämäläinen
0861b3beff xml-parser: Don't allocate unhandled element data. 2019-05-14 17:16:30 +03:00
Juho Hämäläinen
abf4c9037b README: Update enum check example. 2019-05-13 11:54:03 +03:00
Juho Hämäläinen
1e41bf5a45 source: Make sure proper silence byte is used.
Most of the time 0 is right but there are (uncommon) cases
when it is not.

[source] Use format specific silence byte when needed.
2019-05-13 10:11:46 +03:00
Juho Hämäläinen
f032e4a37b common: Use entry macros instead of ifdeffing. 2019-05-13 10:11:46 +03:00
Juho Hämäläinen
13b3ed1a75 build: Generate entry macros as well. 2019-05-13 10:11:46 +03:00
Juho Hämäläinen
0fdfef668d build: Use correct channel input channel names. 2019-05-13 10:11:46 +03:00
Juho Hämäläinen
ab883c792b module-droid-source: Add config as valid module argument. 2019-05-13 10:11:46 +03:00
Juho Hämäläinen
a9566c26b3 module-droid-sink: Add config as valid module argument. 2019-05-13 10:11:46 +03:00
Juho Hämäläinen
73bf39a07a droid-sink: Don't free config twice. 2019-05-13 10:11:46 +03:00
Juho Hämäläinen
07df5e6953 xml-parser: Avoid segfault if root node is not defined.
[xml-parser] Behave better with badly formatted input.
2019-05-13 10:11:29 +03:00
Juho Hämäläinen
b4414fb5a1 Bump packaging version. 2019-04-04 11:54:38 +03:00
Juho Hämäläinen
4a558ba35f
Merge pull request #87 from jusa/jb44329
droid-sink droid-source: Return from process_msg only on error.
2019-04-04 11:53:30 +03:00
Juho Hämäläinen
f652f1f52a droid-sink droid-source: Return from process_msg only on error.
When updating the implementation to support PulseAudio 12.2 the handling
of sink/source process msg function with older PulseAudio versions
incorrectly returns always, when that should only be done in case of
error.

[modules-droid] Update sink/source state correctly with PulseAudio 11.1. JB#44329
2019-04-04 11:11:52 +03:00
Juho Hämäläinen
b1ce02b3d6
Merge pull request #86 from jusa/pa12.2
Update to support PulseAudio 12.2.
2019-03-22 13:23:24 +02:00