diff options
author | 2017-02-04 22:47:49 +0000 | |
---|---|---|
committer | 2017-02-04 22:47:49 +0000 | |
commit | 2c2759221d8ec64fb8cd0178d4e00b8effe4b0e9 (patch) | |
tree | 4dab2b26bec5c23c8727bc40cc5f3b716315f907 | |
parent | f9a10e2c04ac03d6cd2ed84e730284ff455c83e5 (diff) | |
parent | 1c76277338e832384aa734c55436b97837771a15 (diff) |
Merge "IPlayer interface: resync with Java interface definition"
-rw-r--r-- | include/audiomanager/IPlayer.h | 4 | ||||
-rw-r--r-- | services/audiomanager/IPlayer.cpp | 29 |
2 files changed, 32 insertions, 1 deletions
diff --git a/include/audiomanager/IPlayer.h b/include/audiomanager/IPlayer.h index efcac74229..94afae545d 100644 --- a/include/audiomanager/IPlayer.h +++ b/include/audiomanager/IPlayer.h @@ -41,6 +41,10 @@ public: virtual void setVolume(float vol) = 0; + virtual void setPan(float pan) = 0; + + virtual void setStartDelayMs(int delayMs) = 0; + }; // ---------------------------------------------------------------------------- diff --git a/services/audiomanager/IPlayer.cpp b/services/audiomanager/IPlayer.cpp index 3b0b4e9991..47edc4bd31 100644 --- a/services/audiomanager/IPlayer.cpp +++ b/services/audiomanager/IPlayer.cpp @@ -33,6 +33,8 @@ enum { PAUSE = IBinder::FIRST_CALL_TRANSACTION + 1, STOP = IBinder::FIRST_CALL_TRANSACTION + 2, SET_VOLUME = IBinder::FIRST_CALL_TRANSACTION + 3, + SET_PAN = IBinder::FIRST_CALL_TRANSACTION + 4, + SET_START_DELAY_MS = IBinder::FIRST_CALL_TRANSACTION + 5, }; class BpPlayer : public BpInterface<IPlayer> @@ -71,6 +73,21 @@ public: data.writeFloat(vol); remote()->transact(SET_VOLUME, data, &reply); } + + virtual void setPan(float pan) + { + Parcel data, reply; + data.writeInterfaceToken(IPlayer::getInterfaceDescriptor()); + data.writeFloat(pan); + remote()->transact(SET_PAN, data, &reply); + } + + virtual void setStartDelayMs(int32_t delayMs) { + Parcel data, reply; + data.writeInterfaceToken(IPlayer::getInterfaceDescriptor()); + data.writeInt32(delayMs); + remote()->transact(SET_START_DELAY_MS, data, &reply); + } }; IMPLEMENT_META_INTERFACE(Player, "android.media.IPlayer"); @@ -100,7 +117,17 @@ status_t BnPlayer::onTransact( CHECK_INTERFACE(IPlayer, data, reply); setVolume(data.readFloat()); return NO_ERROR; - } + } break; + case SET_PAN: { + CHECK_INTERFACE(IPlayer, data, reply); + setPan(data.readFloat()); + return NO_ERROR; + } break; + case SET_START_DELAY_MS: { + CHECK_INTERFACE(IPlayer, data, reply); + setStartDelayMs(data.readInt32()); + return NO_ERROR; + } break; default: return BBinder::onTransact(code, data, reply, flags); } |