diff options
author | Andreas Huber <andih@google.com> | 2011-06-27 15:47:56 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-06-28 14:44:57 -0700 |
commit | 3e1763ecdf14769a534f75e94a56785f63174b47 (patch) | |
tree | f93cb501a1984cd58dc0c2bf96f252595847a7e8 /include/media/stagefright/MPEG2TSWriter.h | |
parent | 0a932b40bdc8c427ff275426ee19960d8648021d (diff) | |
download | frameworks_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.h | 10 |
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); }; |