diff options
author | 2016-09-30 12:46:27 +0000 | |
---|---|---|
committer | 2016-09-30 12:46:30 +0000 | |
commit | c83f46dc834bd7342ab2be98f34889460ce74be4 (patch) | |
tree | 273e41617f8d83973a42bbd6b48507643109f300 | |
parent | e540c9a1f5cf9ff6b6ac8424e7f19b715424eb40 (diff) | |
parent | 4273dd03a83fd5f9ba25f3b7c3a4add7bce7206c (diff) |
Merge "MediaCodec refactoring part 1-a: buffers become separate class"
-rw-r--r-- | media/jni/android_media_MediaCodec.cpp | 12 | ||||
-rw-r--r-- | media/jni/android_media_MediaCodec.h | 3 |
2 files changed, 9 insertions, 6 deletions
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp index 810996ec79a7..c2c66fdb6ca9 100644 --- a/media/jni/android_media_MediaCodec.cpp +++ b/media/jni/android_media_MediaCodec.cpp @@ -32,6 +32,7 @@ #include <gui/Surface.h> #include <media/ICrypto.h> +#include <media/MediaCodecBuffer.h> #include <media/stagefright/MediaCodec.h> #include <media/stagefright/foundation/ABuffer.h> #include <media/stagefright/foundation/ADebug.h> @@ -407,7 +408,7 @@ status_t JMediaCodec::getOutputFormat(JNIEnv *env, size_t index, jobject *format status_t JMediaCodec::getBuffers( JNIEnv *env, bool input, jobjectArray *bufArray) const { - Vector<sp<ABuffer> > buffers; + Vector<sp<MediaCodecBuffer> > buffers; status_t err = input @@ -425,7 +426,7 @@ status_t JMediaCodec::getBuffers( } for (size_t i = 0; i < buffers.size(); ++i) { - const sp<ABuffer> &buffer = buffers.itemAt(i); + const sp<MediaCodecBuffer> &buffer = buffers.itemAt(i); jobject byteBuffer = NULL; err = createByteBufferFromABuffer( @@ -446,8 +447,9 @@ status_t JMediaCodec::getBuffers( } // static +template <typename T> status_t JMediaCodec::createByteBufferFromABuffer( - JNIEnv *env, bool readOnly, bool clearBuffer, const sp<ABuffer> &buffer, + JNIEnv *env, bool readOnly, bool clearBuffer, const sp<T> &buffer, jobject *buf) const { // if this is an ABuffer that doesn't actually hold any accessible memory, // use a null ByteBuffer @@ -492,7 +494,7 @@ status_t JMediaCodec::createByteBufferFromABuffer( status_t JMediaCodec::getBuffer( JNIEnv *env, bool input, size_t index, jobject *buf) const { - sp<ABuffer> buffer; + sp<MediaCodecBuffer> buffer; status_t err = input @@ -509,7 +511,7 @@ status_t JMediaCodec::getBuffer( status_t JMediaCodec::getImage( JNIEnv *env, bool input, size_t index, jobject *buf) const { - sp<ABuffer> buffer; + sp<MediaCodecBuffer> buffer; status_t err = input diff --git a/media/jni/android_media_MediaCodec.h b/media/jni/android_media_MediaCodec.h index c0c47ef2aeda..88b566a62dff 100644 --- a/media/jni/android_media_MediaCodec.h +++ b/media/jni/android_media_MediaCodec.h @@ -146,8 +146,9 @@ private: status_t mInitStatus; + template <typename T> status_t createByteBufferFromABuffer( - JNIEnv *env, bool readOnly, bool clearBuffer, const sp<ABuffer> &buffer, + JNIEnv *env, bool readOnly, bool clearBuffer, const sp<T> &buffer, jobject *buf) const; void cacheJavaObjects(JNIEnv *env); |