audioflinger: pass return code up from startClient
Was ignoring failed start.
Bug: 65262790
Test: see bug
Change-Id: I0b1d19adfd50d2b00d86bb82f278b720fcbacdb1
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index d951e93..297608c 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -7633,6 +7633,10 @@
return NO_ERROR;
}
+ if (!isOutput() && !recordingAllowed(client.packageName, client.clientPid, client.clientUid)) {
+ return PERMISSION_DENIED;
+ }
+
audio_port_handle_t portId = AUDIO_PORT_HANDLE_NONE;
audio_io_handle_t io = mId;
diff --git a/services/oboeservice/AAudioServiceStreamMMAP.cpp b/services/oboeservice/AAudioServiceStreamMMAP.cpp
index 43595a4..47041c5 100644
--- a/services/oboeservice/AAudioServiceStreamMMAP.cpp
+++ b/services/oboeservice/AAudioServiceStreamMMAP.cpp
@@ -92,7 +92,7 @@
aaudio_result_t result = AAudioServiceStreamBase::start();
if (!mInService && result == AAUDIO_OK) {
- startClient(mMmapClient, &mClientHandle);
+ result = startClient(mMmapClient, &mClientHandle);
}
return result;
}
@@ -107,7 +107,7 @@
aaudio_result_t result = AAudioServiceStreamBase::pause();
// TODO put before base::pause()?
if (!mInService) {
- stopClient(mClientHandle);
+ (void) stopClient(mClientHandle);
}
return result;
}
@@ -119,7 +119,7 @@
aaudio_result_t result = AAudioServiceStreamBase::stop();
// TODO put before base::stop()?
if (!mInService) {
- stopClient(mClientHandle);
+ (void) stopClient(mClientHandle);
}
return result;
}