summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2013-03-05 14:31:02 -0800
committerAndy McFadden <fadden@android.com>2013-03-05 16:29:55 -0800
commitba6218eae3dbcf3f962b3561b26374a214dbf5e2 (patch)
tree4b7922c6822c116b67123022fa48489a23724fe7 /include
parenta7a5917a064710edea9cfacc8eda44532150e852 (diff)
downloadframeworks_av-ba6218eae3dbcf3f962b3561b26374a214dbf5e2.zip
frameworks_av-ba6218eae3dbcf3f962b3561b26374a214dbf5e2.tar.gz
frameworks_av-ba6218eae3dbcf3f962b3561b26374a214dbf5e2.tar.bz2
Correct MediaCodec + Surface behavior
Assorted tweaks: - Allow signalEndOfInputStream() before ACodec is in Executing state (added message to two more states). - Return an error if signalEndOfInputStream() is called a second time on the same stream. - Require AndroidOpaque color format in createInputSurface(). - Disallow dequeueInputBuffer() after an input surface has been created (boolean flag in MediaCodec tracks it). - Discard input surface when encoder is re-configure()ed (drop OMXNodeInstance's ref when we go back to Loaded). Bug 7991062 Change-Id: Iff30f3036e14eb5a2f6536910dcf11aba33031ee
Diffstat (limited to 'include')
-rw-r--r--include/media/stagefright/ACodec.h3
-rw-r--r--include/media/stagefright/MediaCodec.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index 097ec5f..96baf34 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -281,6 +281,9 @@ private:
status_t requestIDRFrame();
status_t setParameters(const sp<AMessage> &params);
+ // Send EOS on input stream.
+ void onSignalEndOfInputStream();
+
DISALLOW_EVIL_CONSTRUCTORS(ACodec);
};
diff --git a/include/media/stagefright/MediaCodec.h b/include/media/stagefright/MediaCodec.h
index ef695a7..35f46dc 100644
--- a/include/media/stagefright/MediaCodec.h
+++ b/include/media/stagefright/MediaCodec.h
@@ -212,6 +212,8 @@ private:
sp<AMessage> mActivityNotify;
+ bool mHaveInputSurface;
+
MediaCodec(const sp<ALooper> &looper);
static status_t PostAndAwaitResponse(