From 4e92c7efc68b5d7635a32dbd283ab8558ad9bdd6 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Fri, 12 Feb 2010 12:35:58 -0800 Subject: New API on java's MediaPlayer to suspend/resume a session. related-to-bug: 2231576 --- media/libmedia/IMediaPlayer.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'media/libmedia/IMediaPlayer.cpp') 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 @@ -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); -- cgit v1.1