Fix: Missed parcel recycling in MediaPlayer.

Change-Id: I2c99f771b33bf627af10e8baea455181558360e6
related-to-bug: 6405934
This commit is contained in:
Insun Kang
2012-05-04 20:52:57 +09:00
parent 58d5ff8757
commit be0ea968bf

View File

@@ -743,9 +743,14 @@ public class MediaPlayer
}
Parcel request = Parcel.obtain();
Parcel reply = Parcel.obtain();
request.writeInterfaceToken(IMEDIA_PLAYER);
request.writeInt(INVOKE_ID_SET_VIDEO_SCALE_MODE);
invoke(request, reply);
try {
request.writeInterfaceToken(IMEDIA_PLAYER);
request.writeInt(INVOKE_ID_SET_VIDEO_SCALE_MODE);
invoke(request, reply);
} finally {
request.recycle();
reply.recycle();
}
}
/**
@@ -1642,11 +1647,16 @@ public class MediaPlayer
public TrackInfo[] getTrackInfo() throws IllegalStateException {
Parcel request = Parcel.obtain();
Parcel reply = Parcel.obtain();
request.writeInterfaceToken(IMEDIA_PLAYER);
request.writeInt(INVOKE_ID_GET_TRACK_INFO);
invoke(request, reply);
TrackInfo trackInfo[] = reply.createTypedArray(TrackInfo.CREATOR);
return trackInfo;
try {
request.writeInterfaceToken(IMEDIA_PLAYER);
request.writeInt(INVOKE_ID_GET_TRACK_INFO);
invoke(request, reply);
TrackInfo trackInfo[] = reply.createTypedArray(TrackInfo.CREATOR);
return trackInfo;
} finally {
request.recycle();
reply.recycle();
}
}
/* Do not change these values without updating their counterparts
@@ -1791,13 +1801,18 @@ public class MediaPlayer
Parcel request = Parcel.obtain();
Parcel reply = Parcel.obtain();
request.writeInterfaceToken(IMEDIA_PLAYER);
request.writeInt(INVOKE_ID_ADD_EXTERNAL_SOURCE_FD);
request.writeFileDescriptor(fd);
request.writeLong(offset);
request.writeLong(length);
request.writeString(mimeType);
invoke(request, reply);
try {
request.writeInterfaceToken(IMEDIA_PLAYER);
request.writeInt(INVOKE_ID_ADD_EXTERNAL_SOURCE_FD);
request.writeFileDescriptor(fd);
request.writeLong(offset);
request.writeLong(length);
request.writeString(mimeType);
invoke(request, reply);
} finally {
request.recycle();
reply.recycle();
}
}
/**
@@ -1854,10 +1869,15 @@ public class MediaPlayer
throws IllegalStateException {
Parcel request = Parcel.obtain();
Parcel reply = Parcel.obtain();
request.writeInterfaceToken(IMEDIA_PLAYER);
request.writeInt(select? INVOKE_ID_SELECT_TRACK: INVOKE_ID_DESELECT_TRACK);
request.writeInt(index);
invoke(request, reply);
try {
request.writeInterfaceToken(IMEDIA_PLAYER);
request.writeInt(select? INVOKE_ID_SELECT_TRACK: INVOKE_ID_DESELECT_TRACK);
request.writeInt(index);
invoke(request, reply);
} finally {
request.recycle();
reply.recycle();
}
}