diff options
Diffstat (limited to 'media/libmedia/IStreamSource.cpp')
-rw-r--r-- | media/libmedia/IStreamSource.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/media/libmedia/IStreamSource.cpp b/media/libmedia/IStreamSource.cpp index 078be94..78d810d 100644 --- a/media/libmedia/IStreamSource.cpp +++ b/media/libmedia/IStreamSource.cpp @@ -37,6 +37,7 @@ enum { SET_LISTENER = IBinder::FIRST_CALL_TRANSACTION, SET_BUFFERS, ON_BUFFER_AVAILABLE, + FLAGS, // IStreamListener QUEUE_BUFFER, @@ -72,6 +73,14 @@ struct BpStreamSource : public BpInterface<IStreamSource> { remote()->transact( ON_BUFFER_AVAILABLE, data, &reply, IBinder::FLAG_ONEWAY); } + + virtual uint32_t flags() const { + Parcel data, reply; + data.writeInterfaceToken(IStreamSource::getInterfaceDescriptor()); + remote()->transact(FLAGS, data, &reply); + + return reply.readInt32(); + } }; IMPLEMENT_META_INTERFACE(StreamSource, "android.hardware.IStreamSource"); @@ -109,6 +118,13 @@ status_t BnStreamSource::onTransact( break; } + case FLAGS: + { + CHECK_INTERFACE(IStreamSource, data, reply); + reply->writeInt32(this->flags()); + break; + } + default: return BBinder::onTransact(code, data, reply, flags); } |