CRAS: rstream - Config fmt converter by the fmt after processing

The format converter of an input stream is configured by
device format as source. This is not true when there is
processing block that changes the format.
For example, when AEC is used on KBL platform. Internal mic
provides 4 channels of data, but APM processing output gives
stereo data.
The mismatch of format between input processing and format
converter results audio distortion. Fix this by exposing cras_rstream
interface to get the format after stream specific processing.

BUG=b:117471788
TEST=On KBL platform, start audio input by:
cras_test_client --capture_file /tmp/1 --rate 44100 --effects aec
Verify the recorded file contains good quality audio.

Change-Id: Ibe2795f62198c1a48282c72e745e01653f997a0e
Reviewed-on: https://chromium-review.googlesource.com/1270328
Commit-Ready: Hsinyu Chao <hychao@chromium.org>
Tested-by: Hsinyu Chao <hychao@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
9 files changed