summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IMediaPlayer.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-02-12 12:35:58 -0800
committerAndreas Huber <andih@google.com>2010-02-12 12:44:10 -0800
commit4e92c7efc68b5d7635a32dbd283ab8558ad9bdd6 (patch)
tree6a214e4fd02b792810f73e881d6312685ee1d722 /media/libmedia/IMediaPlayer.cpp
parent328901bdc7c00ab361c5ef16d0d69c94a0458e95 (diff)
downloadframeworks_av-4e92c7efc68b5d7635a32dbd283ab8558ad9bdd6.zip
frameworks_av-4e92c7efc68b5d7635a32dbd283ab8558ad9bdd6.tar.gz
frameworks_av-4e92c7efc68b5d7635a32dbd283ab8558ad9bdd6.tar.bz2
New API on java's MediaPlayer to suspend/resume a session.
related-to-bug: 2231576
Diffstat (limited to 'media/libmedia/IMediaPlayer.cpp')
-rw-r--r--media/libmedia/IMediaPlayer.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/media/libmedia/IMediaPlayer.cpp b/media/libmedia/IMediaPlayer.cpp
index 9c127d4..ed792b3 100644
--- a/media/libmedia/IMediaPlayer.cpp
+++ b/media/libmedia/IMediaPlayer.cpp
@@ -43,6 +43,8 @@ enum {
INVOKE,
SET_METADATA_FILTER,
GET_METADATA,
+ SUSPEND,
+ RESUME,
};
class BpMediaPlayer: public BpInterface<IMediaPlayer>
@@ -199,6 +201,26 @@ public:
remote()->transact(GET_METADATA, request, reply);
return reply->readInt32();
}
+
+ status_t suspend() {
+ Parcel request;
+ request.writeInterfaceToken(IMediaPlayer::getInterfaceDescriptor());
+
+ Parcel reply;
+ remote()->transact(SUSPEND, request, &reply);
+
+ return reply.readInt32();
+ }
+
+ status_t resume() {
+ Parcel request;
+ request.writeInterfaceToken(IMediaPlayer::getInterfaceDescriptor());
+
+ Parcel reply;
+ remote()->transact(RESUME, request, &reply);
+
+ return reply.readInt32();
+ }
};
IMPLEMENT_META_INTERFACE(MediaPlayer, "android.media.IMediaPlayer");
@@ -299,6 +321,16 @@ status_t BnMediaPlayer::onTransact(
reply->writeInt32(setMetadataFilter(data));
return NO_ERROR;
} break;
+ case SUSPEND: {
+ CHECK_INTERFACE(IMediaPlayer, data, reply);
+ reply->writeInt32(suspend());
+ return NO_ERROR;
+ } break;
+ case RESUME: {
+ CHECK_INTERFACE(IMediaPlayer, data, reply);
+ reply->writeInt32(resume());
+ return NO_ERROR;
+ } break;
case GET_METADATA: {
CHECK_INTERFACE(IMediaPlayer, data, reply);
const status_t retcode = getMetadata(data.readInt32(), data.readInt32(), reply);