NuPlayerRenderer: Handle AMessage post error in openAudioSink
AMessage::postAndAwaitResponse can fail if the target looper no
longer exists or if allocation of the reply token fails. Check for
error in these cases to avoid deferencing a NULL response.
Test: compiles
Bug: 34805421
(cherry picked from commit b90c8f42036ea773e938cadd0d52480ac703edd7)
Change-Id: Ib76c111a39462e867a41f320c0ba0a220a0c5641
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index 42e95da..9350440 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -405,10 +405,10 @@
msg->setInt32("flags", flags);
sp<AMessage> response;
- msg->postAndAwaitResponse(&response);
+ status_t postStatus = msg->postAndAwaitResponse(&response);
int32_t err;
- if (!response->findInt32("err", &err)) {
+ if (postStatus != OK || response.get() == nullptr || !response->findInt32("err", &err)) {
err = INVALID_OPERATION;
} else if (err == OK && isOffloaded != NULL) {
int32_t offload;