82bbc68832fccb257d83a56e35a4d50b5f82a173 |
|
14-Mar-2016 |
Hsin-Yu Chao <hychao@chromium.org> |
CRAS: fmt_conv - Add channel remix support For accessibility use we need to mix all channels of output stream and then write to all output channels. Reuse cras_fmt_conv to remix channels of PCM data according to given conversion matrix. This new remix converter will be added to the end of output format conversion chain. fmt_conv1 stream1 ----------\ \ mix O ----------> O --------> device fmt_conv2 / channel remix stream2 ----------/ ... fmt_convN streamN ----------/ BUG=chromium:593218 TEST=unittest Change-Id: I79e66fa890c1b9736ba8c1b16a6261b97e50adb6 Reviewed-on: https://chromium-review.googlesource.com/333250 Commit-Ready: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|
963723441d52e64a9dc5c6bdaf8499622849cd5d |
|
24-Jul-2015 |
Yao-wen Mao <yaowen@google.com> |
CRAS: cras_fmt_conv - add S24_3LE format support Some devices only support S24_3LE format. This change adds support for converting between S24_3LE and S16_LE, so those devices will work with ChromeOS. BUG=chromium:437836 TEST=Plug in a device using S24_3LE format (ex: Dragonfly DAC) and play music, verify the sound is audiable. Change-Id: I86dafd62f4d082b651dfc6f0603e3e1b5b1301c0 Reviewed-on: https://chromium-review.googlesource.com/288253 Commit-Ready: Yao-Wen Mao <yaowen@google.com> Tested-by: Yao-Wen Mao <yaowen@google.com> Reviewed-by: Dylan Reid <dgreid@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|
4aca14a796836126b70e7cbb89b314c44cfa33d8 |
|
11-Jun-2015 |
Hsin-Yu Chao <hychao@chromium.org> |
CRAS: fmt_conv - Fix resample limit in chained SRC When there are two SRC chained in a format converter, it's required to calculate an intermediate resampler limit for the first resampler. Although it's difficult to know the exact number of how many frames converted in the second resampler to use as the resampler limit, we should always make it rounded to less than the actual number, or the first resampler may convert too many frames that the second resampler couldn't handle to fit into the final output limit. BUG=chromium:460515 TEST=Apply whole patch set, open flash video(44.1KHz, 2048 fr) and a web audio demo page(48KHz, 1024 fr) with two Jabra speakerphones enabled. Verify audio does not stop when play for an hour long. Change-Id: I9876e738757fe2ece53da41bae41a7bb057cb723 Reviewed-on: https://chromium-review.googlesource.com/276980 Reviewed-by: Dylan Reid <dgreid@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|
4a50229ba5bc929822bfa4ca1fef6057e336aeba |
|
22-Nov-2014 |
Dylan Reid <dgreid@chromium.org> |
CRAS: fmt_conv - don't restrict in and out to s16le Allow both the input and output to be non-s16le. This will be useful when playing to hardware that only support 24 or 32 bit samples such as many USB DACS. BUG=none TEST=added unit test Change-Id: Ia6858345958ec2febc716beea56b47868b5706e3 Signed-off-by: Dylan Reid <dgreid@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/232080 Reviewed-by: Hsinyu Chao <hychao@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|
b19777d062ee96cd6817fc534388914fed872a83 |
|
14-Nov-2014 |
Dylan Reid <dgreid@chromium.org> |
CRAS: fmt_conv - Add a default channel copy function Adds a default channel conversion that copies a little of each channel to all of the output channels. It divides the input signal by the number of channels and adds each input channel. All output channels play the same thing. This is slow, and attenuates the signal heavily, but it is better than dropping it. It will only be used when no better converter is found. BUG=chromium:432425 TEST=play 8 channel test file from iis.fraunhofer.de Change-Id: I6ada1281ae8b957f3a7d66d4c827d4eae9542e99 Signed-off-by: Dylan Reid <dgreid@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/229730
/external/adhd/cras/src/server/cras_fmt_conv.c
|
084401521b297857987b2b3ece787c16cacdbbcc |
|
03-Oct-2014 |
Hsin-Yu Chao <hychao@chromium.org> |
CRAS: linear_resampler - increase resample precision When doing SRC, the actual rate is trimmed to the floor integer before use and causing a precision lost. Multiply the numerator and denominator of the rate factor by 100, so it takes more than 1 day for the lost frames count to be accumulated to 1024. BUG=chromium:420589 TEST=Play youtube to two active devices Change-Id: I6bcac51e01ea6deba16462b201c783ea1a85f96e Reviewed-on: https://chromium-review.googlesource.com/221706 Reviewed-by: Dylan Reid <dgreid@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|
fbd2d15de5e0df9ba2d1144170f7b35cab4249f4 |
|
01-Oct-2014 |
Hsin-Yu Chao <hychao@chromium.org> |
CRAS: audio_thread - Integrate rate_estimator and linear resampler Actually use the data report from rate estimator and apply to the linear resampler in fmt_conv for non-master active devices. The stream's sleep interval is updated to base on the master dev's estimated rate. BUG=chromium:420589 TEST=Play youtube on internal speaker and USB headset. Test record by cras_test_client. Change-Id: Ie4265f793bb972d9880cbad244c796a9b03db2b4 Reviewed-on: https://chromium-review.googlesource.com/220157 Reviewed-by: Hsinyu Chao <hychao@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|
4da40ffba6ec3485b8e0a341c12dc2ee1d9cdeb6 |
|
20-Oct-2014 |
Hsin-Yu Chao <hychao@chromium.org> |
CRAS: fmt_conv - Always create a format converter When config_fmt_converter() is called, always create a format converter even the in/out format are identical. This allows the linear_resampler check to determine if the format conversion is needed depend on the estimated device rate. BUG=chromium:420589 TEST=unittest. Play youtube and vocaroo.com Change-Id: Ib3d1c7863917fb9fb583a9f283d729ac9ad2edb9 Reviewed-on: https://chromium-review.googlesource.com/224629 Reviewed-by: Dylan Reid <dgreid@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|
b3ebd1d69038925d04ba743aebfdbb8b9cf71d9b |
|
17-Oct-2014 |
Hsin-Yu Chao <hychao@chromium.org> |
CRAS: fmt_conv - Add linear resampler to fmt_conv Add a linear resampler to fmt_conv to adjust device rate skew. The linear resampler will be used before or after the main format conversion depend on stream's direction. BUG=chromium:420589 TEST=unittest Change-Id: Ib1c17a70e6327bfa5a3263af82e96cb52783f151 Reviewed-on: https://chromium-review.googlesource.com/224628 Reviewed-by: Dylan Reid <dgreid@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|
ab2ca0b02e73c188df6277755f2fdee49f5a2657 |
|
20-Oct-2014 |
Hsin-Yu Chao <hychao@chromium.org> |
CRAS: move fmt_conv from common to server fmt_conv will be integrated with the modules in server side. BUG=chromium:420589 TEST=None Change-Id: I92abdaf3306e1ede4c5449ceed86543075f96cba Signed-off-by: Dylan Reid <dgreid@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/224626 Commit-Queue: Hsinyu Chao <hychao@chromium.org>
/external/adhd/cras/src/server/cras_fmt_conv.c
|