diff options
| author | Andy McFadden <fadden@android.com> | 2013-03-05 14:31:02 -0800 |
|---|---|---|
| committer | Andy McFadden <fadden@android.com> | 2013-03-05 16:29:55 -0800 |
| commit | 6507d14c6d10f93d390de62b9eed267f9b544985 (patch) | |
| tree | c0eb8464f26a5843d170bc9ec4cd047d7c4fbbec /include | |
| parent | e51d8b3ba4533b7f94345a97e3cc633dc7b31f12 (diff) | |
| download | frameworks_av-6507d14c6d10f93d390de62b9eed267f9b544985.zip frameworks_av-6507d14c6d10f93d390de62b9eed267f9b544985.tar.gz frameworks_av-6507d14c6d10f93d390de62b9eed267f9b544985.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.h | 3 | ||||
| -rw-r--r-- | include/media/stagefright/MediaCodec.h | 2 |
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> ¶ms); + // 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( |
