Diff between 6f15a57645099bc8e49a0ae31f6924efe6958ea3 and 1daf36c8f3ecea9452c68ebc3790e1e4aae98841

Changed Files

File Additions Deletions Status
android/hal-audio.c +12 -4 modified

Full Patch

diff --git a/android/hal-audio.c b/android/hal-audio.c
index 23eb6b8..992fdf7 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;
 	}