summaryrefslogtreecommitdiff
path: root/android/hal-audio.c
diff options
context:
space:
mode:
authorAndrzej Kaczmarek <andrzej.kaczmarek@tieto.com>2014-04-17 01:50:34 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2014-04-17 09:51:17 +0300
commit1daf36c8f3ecea9452c68ebc3790e1e4aae98841 (patch)
tree2c11f508c14f6f3df45032506874cf4b8366f756 /android/hal-audio.c
parent6f15a57645099bc8e49a0ae31f6924efe6958ea3 (diff)
downloadbluez-1daf36c8f3ecea9452c68ebc3790e1e4aae98841.tar.gz
android/hal-audio: Add resume_endpoint helper
Diffstat (limited to 'android/hal-audio.c')
-rw-r--r--android/hal-audio.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/android/hal-audio.c b/android/hal-audio.c
index 23eb6b88c..992fdf72f 100644
--- a/android/hal-audio.c
+++ b/android/hal-audio.c
@@ -910,6 +910,17 @@ static void close_endpoint(struct audio_endpoint *ep)
ep->codec_data = NULL;
}
+static bool resume_endpoint(struct audio_endpoint *ep)
+{
+ if (ipc_resume_stream_cmd(ep->id) != AUDIO_STATUS_SUCCESS)
+ return false;
+
+ clock_gettime(CLOCK_MONOTONIC, &ep->start);
+ ep->samples = 0;
+
+ return true;
+}
+
static void downmix_to_mono(struct a2dp_stream_out *out, const uint8_t *buffer,
size_t bytes)
{
@@ -1010,12 +1021,9 @@ static ssize_t out_write(struct audio_stream_out *stream, const void *buffer,
if (out->audio_state == AUDIO_A2DP_STATE_STANDBY) {
DBG("stream in standby, auto-start");
- if (ipc_resume_stream_cmd(out->ep->id) != AUDIO_STATUS_SUCCESS)
+ if (!resume_endpoint(out->ep))
return -1;
- clock_gettime(CLOCK_MONOTONIC, &out->ep->start);
- out->ep->samples = 0;
-
out->audio_state = AUDIO_A2DP_STATE_STARTED;
}