diff options
author | Marco Nelissen <marcone@google.com> | 2012-03-13 13:23:07 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-03-13 13:23:07 -0700 |
commit | 36a4d2cc7a44eb42d0d9ef5fe50b6747a7a34cab (patch) | |
tree | eec0f805e2e83ed1d720519748527c03affafc29 /media/libmedia/IMediaPlayer.cpp | |
parent | 5e7616cc0e5493241211333134555d74aec89982 (diff) | |
parent | 6b74d671a1321a6ecc4a40b6c87beedfecc1ec44 (diff) | |
download | frameworks_av-36a4d2cc7a44eb42d0d9ef5fe50b6747a7a34cab.zip frameworks_av-36a4d2cc7a44eb42d0d9ef5fe50b6747a7a34cab.tar.gz frameworks_av-36a4d2cc7a44eb42d0d9ef5fe50b6747a7a34cab.tar.bz2 |
Merge "Gapless playback, step 1."
Diffstat (limited to 'media/libmedia/IMediaPlayer.cpp')
-rw-r--r-- | media/libmedia/IMediaPlayer.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/media/libmedia/IMediaPlayer.cpp b/media/libmedia/IMediaPlayer.cpp index f586b02..0bb237d 100644 --- a/media/libmedia/IMediaPlayer.cpp +++ b/media/libmedia/IMediaPlayer.cpp @@ -55,6 +55,7 @@ enum { SET_PARAMETER, GET_PARAMETER, SET_RETRANSMIT_ENDPOINT, + SET_NEXT_PLAYER, }; class BpMediaPlayer: public BpInterface<IMediaPlayer> @@ -307,7 +308,15 @@ public: if (OK != err) { return err; } + return reply.readInt32(); + } + status_t setNextPlayer(const sp<IMediaPlayer>& player) { + Parcel data, reply; + data.writeInterfaceToken(IMediaPlayer::getInterfaceDescriptor()); + sp<IBinder> b(player->asBinder()); + data.writeStrongBinder(b); + remote()->transact(SET_NEXT_PLAYER, data, &reply); return reply.readInt32(); } }; @@ -489,7 +498,11 @@ status_t BnMediaPlayer::onTransact( } else { reply->writeInt32(setRetransmitEndpoint(NULL)); } - + return NO_ERROR; + } break; + case SET_NEXT_PLAYER: { + CHECK_INTERFACE(IMediaPlayer, data, reply); + reply->writeInt32(setNextPlayer(interface_cast<IMediaPlayer>(data.readStrongBinder()))); return NO_ERROR; } break; default: |