summaryrefslogtreecommitdiffstats
path: root/framesequence/jni/Stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'framesequence/jni/Stream.h')
-rw-r--r--framesequence/jni/Stream.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/framesequence/jni/Stream.h b/framesequence/jni/Stream.h
index f8f2427..f0f3895 100644
--- a/framesequence/jni/Stream.h
+++ b/framesequence/jni/Stream.h
@@ -28,6 +28,9 @@ public:
size_t peek(void* buffer, size_t size);
size_t read(void* buffer, size_t size);
+ virtual uint8_t* getRawBufferAddr();
+ virtual jobject getRawBuffer();
+ virtual int getRawBufferSize();
protected:
virtual size_t doRead(void* buffer, size_t size) = 0;
@@ -40,16 +43,21 @@ private:
class MemoryStream : public Stream {
public:
- MemoryStream(void* buffer, size_t size) :
- mBuffer((char*)buffer),
- mRemaining(size) {}
+ MemoryStream(void* buffer, size_t size, jobject buf) :
+ mBuffer((uint8_t*)buffer),
+ mRemaining(size),
+ mRawBuffer(buf) {}
+ virtual uint8_t* getRawBufferAddr();
+ virtual jobject getRawBuffer();
+ virtual int getRawBufferSize();
protected:
virtual size_t doRead(void* buffer, size_t size);
private:
- char* mBuffer;
+ uint8_t* mBuffer;
size_t mRemaining;
+ jobject mRawBuffer;
};
class FileStream : public Stream {