diff options
author | Andreas Huber <andih@google.com> | 2012-08-31 13:40:12 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-08-31 13:40:12 -0700 |
commit | da7ff5321539ac07ec76d0d03bd1b9b09a1823bf (patch) | |
tree | dbbf951396f9dbae58a76bdeaa8d0bba9f9cebf6 | |
parent | dc91c885f267005e06f439a3bd592b3d8706bb50 (diff) | |
download | frameworks_av-da7ff5321539ac07ec76d0d03bd1b9b09a1823bf.zip frameworks_av-da7ff5321539ac07ec76d0d03bd1b9b09a1823bf.tar.gz frameworks_av-da7ff5321539ac07ec76d0d03bd1b9b09a1823bf.tar.bz2 |
Added an additional virtual method IStreamSource::flags().
Change-Id: I89e62d84328e12f08c8f73cbfd53cfb42569de97
-rw-r--r-- | include/media/IStreamSource.h | 6 | ||||
-rw-r--r-- | media/libmedia/IStreamSource.cpp | 16 |
2 files changed, 22 insertions, 0 deletions
diff --git a/include/media/IStreamSource.h b/include/media/IStreamSource.h index 19646b0..61b9d5a 100644 --- a/include/media/IStreamSource.h +++ b/include/media/IStreamSource.h @@ -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 { 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); } |