diff options
author | Andreas Huber <andih@google.com> | 2010-02-12 12:35:58 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-02-12 12:44:10 -0800 |
commit | fbb3885024ac9c90f322b6259d7e519c8927e6ff (patch) | |
tree | 47dece4ffda221bd9cf6e13852ac9fb37b78e0f4 /media/libmedia/IMediaPlayer.cpp | |
parent | 965e37ec88609c36a3c5461ece459a96abb6f7ca (diff) | |
download | frameworks_base-fbb3885024ac9c90f322b6259d7e519c8927e6ff.zip frameworks_base-fbb3885024ac9c90f322b6259d7e519c8927e6ff.tar.gz frameworks_base-fbb3885024ac9c90f322b6259d7e519c8927e6ff.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.cpp | 32 |
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); |