diff options
author | Andrzej Kaczmarek <andrzej.kaczmarek@tieto.com> | 2014-04-17 01:50:34 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2014-04-17 09:51:17 +0300 |
commit | 1daf36c8f3ecea9452c68ebc3790e1e4aae98841 (patch) | |
tree | 2c11f508c14f6f3df45032506874cf4b8366f756 /android/hal-audio.c | |
parent | 6f15a57645099bc8e49a0ae31f6924efe6958ea3 (diff) | |
download | bluez-1daf36c8f3ecea9452c68ebc3790e1e4aae98841.tar.gz |
android/hal-audio: Add resume_endpoint helper
Diffstat (limited to 'android/hal-audio.c')
-rw-r--r-- | android/hal-audio.c | 16 |
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; } |