GenericSource: use sp<> instead of regular pointer.
Regular pointers have a tendency to go stale.
Bug: 25472775
Change-Id: I85fc152e11d11d2f29ba621e88ea314f56e7dd60
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
index 4d3ccd2..9a0db30 100644
--- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
@@ -1010,11 +1010,11 @@
msg->setInt32("audio", audio);
sp<AMessage> response;
- void *format;
+ sp<RefBase> format;
status_t err = msg->postAndAwaitResponse(&response);
if (err == OK && response != NULL) {
- CHECK(response->findPointer("format", &format));
- return (MetaData *)format;
+ CHECK(response->findObject("format", &format));
+ return static_cast<MetaData*>(format.get());
} else {
return NULL;
}
@@ -1026,7 +1026,7 @@
sp<AMessage> response = new AMessage;
sp<MetaData> format = doGetFormatMeta(audio);
- response->setPointer("format", format.get());
+ response->setObject("format", format);
sp<AReplyToken> replyID;
CHECK(msg->senderAwaitsResponse(&replyID));