summaryrefslogtreecommitdiff
path: root/android/hal-sco.c
diff options
context:
space:
mode:
authorAndrei Emeltchenko <andrei.emeltchenko@intel.com>2014-07-18 12:48:03 +0300
committerSzymon Janc <szymon.janc@tieto.com>2014-07-18 13:41:22 +0200
commitfa05f8f8fad0895918766603e61f8fcddfa45513 (patch)
tree49521dd731cbb238ebea5bb3bce4678bf4f54fa5 /android/hal-sco.c
parent6166bddbbb08f7d8bc9846413328dd9ec0cd35a6 (diff)
downloadbluez-fa05f8f8fad0895918766603e61f8fcddfa45513.tar.gz
android/hal-sco: Make use of config parameter
Use config parameter when opening output stream.
Diffstat (limited to 'android/hal-sco.c')
-rw-r--r--android/hal-sco.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/android/hal-sco.c b/android/hal-sco.c
index 7e1a981a0..e476f8452 100644
--- a/android/hal-sco.c
+++ b/android/hal-sco.c
@@ -584,7 +584,7 @@ static int sco_open_output_stream(struct audio_hw_device *dev,
size_t resample_size;
uint16_t mtu;
- DBG("");
+ DBG("config %p device flags 0x%02x", config, devices);
if (ipc_connect_sco(&fd, &mtu) != SCO_STATUS_SUCCESS) {
error("sco: cannot get fd");
@@ -614,10 +614,20 @@ static int sco_open_output_stream(struct audio_hw_device *dev,
out->stream.write = out_write;
out->stream.get_render_position = out_get_render_position;
- /* Configuration for Android */
- out->cfg.format = AUDIO_STREAM_DEFAULT_FORMAT;
- out->cfg.channels = AUDIO_CHANNEL_OUT_STEREO;
- out->cfg.rate = AUDIO_STREAM_DEFAULT_RATE;
+ if (config) {
+ DBG("config: rate %u chan mask %x format %d offload %p",
+ config->sample_rate, config->channel_mask,
+ config->format, &config->offload_info);
+
+ out->cfg.format = config->format;
+ out->cfg.channels = config->channel_mask;
+ out->cfg.rate = config->sample_rate;
+ } else {
+ out->cfg.format = AUDIO_STREAM_DEFAULT_FORMAT;
+ out->cfg.channels = AUDIO_CHANNEL_OUT_STEREO;
+ out->cfg.rate = AUDIO_STREAM_DEFAULT_RATE;
+ }
+
out->cfg.frame_num = OUT_STREAM_FRAMES;
/* we get wrong mtu size for some reason */