diff options
| author | John Grossman <johngro@google.com> | 2012-08-13 09:56:22 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2012-08-13 09:56:22 -0700 |
| commit | 4fc9d476db8ba59053deac76dce9f403c34a0f2d (patch) | |
| tree | 890aa2ee51b6b650d744557ddd92df9722e0cb5f /media/libmedia/IMediaPlayer.cpp | |
| parent | 518cdbe52b60af91a2bd2d3ce2d29feac884ae02 (diff) | |
| parent | 73247cac58b0c295e02b2350722699689ac45189 (diff) | |
| download | frameworks_av-4fc9d476db8ba59053deac76dce9f403c34a0f2d.zip frameworks_av-4fc9d476db8ba59053deac76dce9f403c34a0f2d.tar.gz frameworks_av-4fc9d476db8ba59053deac76dce9f403c34a0f2d.tar.bz2 | |
am 73247cac: am d58a68a4: Merge changes Ibe7e6d4b,Icf8904db into jb-mr1-dev
* commit '73247cac58b0c295e02b2350722699689ac45189':
Move the AAH RTP code out of framework and into vendor.
Add the ability to dynamicaly register MediaPlayer types.
Diffstat (limited to 'media/libmedia/IMediaPlayer.cpp')
| -rw-r--r-- | media/libmedia/IMediaPlayer.cpp | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/media/libmedia/IMediaPlayer.cpp b/media/libmedia/IMediaPlayer.cpp index 0bb237d..cb07766 100644 --- a/media/libmedia/IMediaPlayer.cpp +++ b/media/libmedia/IMediaPlayer.cpp @@ -55,6 +55,7 @@ enum { SET_PARAMETER, GET_PARAMETER, SET_RETRANSMIT_ENDPOINT, + GET_RETRANSMIT_ENDPOINT, SET_NEXT_PLAYER, }; @@ -292,7 +293,8 @@ public: return remote()->transact(GET_PARAMETER, data, reply); } - status_t setRetransmitEndpoint(const struct sockaddr_in* endpoint) { + status_t setRetransmitEndpoint(const struct sockaddr_in* endpoint) + { Parcel data, reply; status_t err; @@ -319,6 +321,23 @@ public: remote()->transact(SET_NEXT_PLAYER, data, &reply); return reply.readInt32(); } + + status_t getRetransmitEndpoint(struct sockaddr_in* endpoint) + { + Parcel data, reply; + status_t err; + + data.writeInterfaceToken(IMediaPlayer::getInterfaceDescriptor()); + err = remote()->transact(GET_RETRANSMIT_ENDPOINT, data, &reply); + + if ((OK != err) || (OK != (err = reply.readInt32()))) { + return err; + } + + data.read(endpoint, sizeof(*endpoint)); + + return err; + } }; IMPLEMENT_META_INTERFACE(MediaPlayer, "android.media.IMediaPlayer"); @@ -498,11 +517,24 @@ status_t BnMediaPlayer::onTransact( } else { reply->writeInt32(setRetransmitEndpoint(NULL)); } + + return NO_ERROR; + } break; + case GET_RETRANSMIT_ENDPOINT: { + CHECK_INTERFACE(IMediaPlayer, data, reply); + + struct sockaddr_in endpoint; + status_t res = getRetransmitEndpoint(&endpoint); + + reply->writeInt32(res); + reply->write(&endpoint, sizeof(endpoint)); + 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: |
