summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright/MediaCodec.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/media/stagefright/MediaCodec.h')
-rw-r--r--include/media/stagefright/MediaCodec.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/media/stagefright/MediaCodec.h b/include/media/stagefright/MediaCodec.h
index e232ce6..bab1426 100644
--- a/include/media/stagefright/MediaCodec.h
+++ b/include/media/stagefright/MediaCodec.h
@@ -37,6 +37,7 @@ class IMemory;
struct MemoryDealer;
class IResourceManagerClient;
class IResourceManagerService;
+struct PersistentSurface;
struct SoftwareRenderer;
struct Surface;
@@ -67,6 +68,8 @@ struct MediaCodec : public AHandler {
static sp<MediaCodec> CreateByComponentName(
const sp<ALooper> &looper, const char *name, status_t *err = NULL);
+ static sp<PersistentSurface> CreatePersistentInputSurface();
+
status_t configure(
const sp<AMessage> &format,
const sp<Surface> &nativeWindow,
@@ -77,6 +80,8 @@ struct MediaCodec : public AHandler {
status_t createInputSurface(sp<IGraphicBufferProducer>* bufferProducer);
+ status_t usePersistentInputSurface(const sp<PersistentSurface> &surface);
+
status_t start();
// Returns to a state in which the component remains allocated but
@@ -180,6 +185,7 @@ private:
kWhatInit = 'init',
kWhatConfigure = 'conf',
kWhatCreateInputSurface = 'cisf',
+ kWhatUsePersistentInputSurface = 'pisf',
kWhatStart = 'strt',
kWhatStop = 'stop',
kWhatRelease = 'rele',