MediaPlayer2: use protobuf instead of parcel in invoke()
Test: pass MediaPlayer2Test
Bug: 63934228
Change-Id: Ie3d7c9352f369b6481e35c98e40b736cdff23204
diff --git a/media/libmediaplayer2/nuplayer2/NuPlayer2.cpp b/media/libmediaplayer2/nuplayer2/NuPlayer2.cpp
index b6b9b78..2a0fbdd 100644
--- a/media/libmediaplayer2/nuplayer2/NuPlayer2.cpp
+++ b/media/libmediaplayer2/nuplayer2/NuPlayer2.cpp
@@ -584,9 +584,8 @@
msg->post();
}
-
void NuPlayer2::writeTrackInfo(
- Parcel* reply, const sp<AMessage>& format) const {
+ PlayerMessage* reply, const sp<AMessage>& format) const {
if (format == NULL) {
ALOGE("NULL format");
return;
@@ -619,10 +618,9 @@
return;
}
- reply->writeInt32(2); // write something non-zero
- reply->writeInt32(trackType);
- reply->writeString16(String16(mime.c_str()));
- reply->writeString16(String16(lang.c_str()));
+ reply->add_values()->set_int32_value(trackType);
+ reply->add_values()->set_string_value(mime.c_str());
+ reply->add_values()->set_string_value(lang.c_str());
if (trackType == MEDIA_TRACK_TYPE_SUBTITLE) {
int32_t isAuto, isDefault, isForced;
@@ -630,9 +628,9 @@
CHECK(format->findInt32("default", &isDefault));
CHECK(format->findInt32("forced", &isForced));
- reply->writeInt32(isAuto);
- reply->writeInt32(isDefault);
- reply->writeInt32(isForced);
+ reply->add_values()->set_int32_value(isAuto);
+ reply->add_values()->set_int32_value(isDefault);
+ reply->add_values()->set_int32_value(isForced);
}
}
@@ -764,7 +762,7 @@
sp<AReplyToken> replyID;
CHECK(msg->senderAwaitsResponse(&replyID));
- Parcel* reply;
+ PlayerMessage* reply;
CHECK(msg->findPointer("reply", (void**)&reply));
size_t inbandTracks = 0;
@@ -778,7 +776,7 @@
}
// total track count
- reply->writeInt32(inbandTracks + ccTracks);
+ reply->add_values()->set_int32_value(inbandTracks + ccTracks);
// write inband tracks
for (size_t i = 0; i < inbandTracks; ++i) {
@@ -806,9 +804,9 @@
media_track_type type = (media_track_type)type32;
ssize_t selectedTrack = mSource->getSelectedTrack(type);
- Parcel* reply;
+ PlayerMessage* reply;
CHECK(msg->findPointer("reply", (void**)&reply));
- reply->writeInt32(selectedTrack);
+ reply->add_values()->set_int32_value(selectedTrack);
}
sp<AMessage> response = new AMessage;
@@ -2231,7 +2229,7 @@
return OK;
}
-status_t NuPlayer2::getTrackInfo(Parcel* reply) const {
+status_t NuPlayer2::getTrackInfo(PlayerMessage* reply) const {
sp<AMessage> msg = new AMessage(kWhatGetTrackInfo, this);
msg->setPointer("reply", reply);
@@ -2240,7 +2238,7 @@
return err;
}
-status_t NuPlayer2::getSelectedTrack(int32_t type, Parcel* reply) const {
+status_t NuPlayer2::getSelectedTrack(int32_t type, PlayerMessage* reply) const {
sp<AMessage> msg = new AMessage(kWhatGetSelectedTrack, this);
msg->setPointer("reply", reply);
msg->setInt32("type", type);