summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright/MPEG2TSWriter.h
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-06-27 15:47:56 -0700
committerAndreas Huber <andih@google.com>2011-06-28 14:44:57 -0700
commit3e1763ecdf14769a534f75e94a56785f63174b47 (patch)
treef93cb501a1984cd58dc0c2bf96f252595847a7e8 /include/media/stagefright/MPEG2TSWriter.h
parent0a932b40bdc8c427ff275426ee19960d8648021d (diff)
downloadframeworks_av-3e1763ecdf14769a534f75e94a56785f63174b47.zip
frameworks_av-3e1763ecdf14769a534f75e94a56785f63174b47.tar.gz
frameworks_av-3e1763ecdf14769a534f75e94a56785f63174b47.tar.bz2
Support for writing output data to a provided callback function instead of a file
in MPEG2TSWriter Change-Id: Ie54a5677c7b789a973aa50b7f197c6db238425bc
Diffstat (limited to 'include/media/stagefright/MPEG2TSWriter.h')
-rw-r--r--include/media/stagefright/MPEG2TSWriter.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/media/stagefright/MPEG2TSWriter.h b/include/media/stagefright/MPEG2TSWriter.h
index f2c6505..e4c1c49 100644
--- a/include/media/stagefright/MPEG2TSWriter.h
+++ b/include/media/stagefright/MPEG2TSWriter.h
@@ -31,6 +31,10 @@ struct MPEG2TSWriter : public MediaWriter {
MPEG2TSWriter(int fd);
MPEG2TSWriter(const char *filename);
+ MPEG2TSWriter(
+ void *cookie,
+ ssize_t (*write)(void *cookie, const void *data, size_t size));
+
virtual status_t addSource(const sp<MediaSource> &source);
virtual status_t start(MetaData *param = NULL);
virtual status_t stop();
@@ -51,6 +55,10 @@ private:
struct SourceInfo;
FILE *mFile;
+
+ void *mWriteCookie;
+ ssize_t (*mWriteFunc)(void *cookie, const void *data, size_t size);
+
sp<ALooper> mLooper;
sp<AHandlerReflector<MPEG2TSWriter> > mReflector;
@@ -69,6 +77,8 @@ private:
void writeProgramMap();
void writeAccessUnit(int32_t sourceIndex, const sp<ABuffer> &buffer);
+ ssize_t internalWrite(const void *data, size_t size);
+
DISALLOW_EVIL_CONSTRUCTORS(MPEG2TSWriter);
};