Loading include/media/IStreamSource.h +6 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,12 @@ struct IStreamSource : public IInterface { virtual void setBuffers(const Vector<sp<IMemory> > &buffers) = 0; virtual void onBufferAvailable(size_t index) = 0; enum { // Video PES packets contain exactly one (aligned) access unit. kFlagAlignedVideoData = 1, }; virtual uint32_t flags() const { return 0; } }; struct IStreamListener : public IInterface { Loading media/libmedia/IStreamSource.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ enum { SET_LISTENER = IBinder::FIRST_CALL_TRANSACTION, SET_BUFFERS, ON_BUFFER_AVAILABLE, FLAGS, // IStreamListener QUEUE_BUFFER, Loading Loading @@ -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"); Loading Loading @@ -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); } Loading Loading
include/media/IStreamSource.h +6 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,12 @@ struct IStreamSource : public IInterface { virtual void setBuffers(const Vector<sp<IMemory> > &buffers) = 0; virtual void onBufferAvailable(size_t index) = 0; enum { // Video PES packets contain exactly one (aligned) access unit. kFlagAlignedVideoData = 1, }; virtual uint32_t flags() const { return 0; } }; struct IStreamListener : public IInterface { Loading
media/libmedia/IStreamSource.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ enum { SET_LISTENER = IBinder::FIRST_CALL_TRANSACTION, SET_BUFFERS, ON_BUFFER_AVAILABLE, FLAGS, // IStreamListener QUEUE_BUFFER, Loading Loading @@ -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"); Loading Loading @@ -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); } Loading