summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2014-05-09 13:37:29 -0700
committerGlenn Kasten <gkasten@google.com>2014-05-09 16:34:46 -0700
commitc26d923712a59e669d18191d93fbe3696789d592 (patch)
tree735e84b0df3d43ff26b192e89beb756ac952b4bc /include
parent110135b9610fee8bfa5bac2d9ef4fc4c24991c36 (diff)
downloadframeworks_av-c26d923712a59e669d18191d93fbe3696789d592.zip
frameworks_av-c26d923712a59e669d18191d93fbe3696789d592.tar.gz
frameworks_av-c26d923712a59e669d18191d93fbe3696789d592.tar.bz2
Allow placement of Pipe buffer to be specified
Change-Id: I2f6b68089ecfe85cd975d29ad0d0afd13c487002
Diffstat (limited to 'include')
-rw-r--r--include/media/nbaio/Pipe.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/media/nbaio/Pipe.h b/include/media/nbaio/Pipe.h
index c784129..eba37bc 100644
--- a/include/media/nbaio/Pipe.h
+++ b/include/media/nbaio/Pipe.h
@@ -30,7 +30,11 @@ class Pipe : public NBAIO_Sink {
public:
// maxFrames will be rounded up to a power of 2, and all slots are available. Must be >= 2.
- Pipe(size_t maxFrames, const NBAIO_Format& format);
+ // buffer is an optional parameter specifying the virtual address of the pipe buffer,
+ // which must be of size roundup(maxFrames) * Format_frameSize(format) bytes.
+ Pipe(size_t maxFrames, const NBAIO_Format& format, void *buffer = NULL);
+
+ // If a buffer was specified in the constructor, it is not automatically freed by destructor.
virtual ~Pipe();
// NBAIO_Port interface
@@ -57,6 +61,7 @@ private:
void * const mBuffer;
volatile int32_t mRear; // written by android_atomic_release_store
volatile int32_t mReaders; // number of PipeReader clients currently attached to this Pipe
+ const bool mFreeBufferInDestructor;
};
} // namespace android