summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2016-09-30 12:46:27 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-09-30 12:46:30 +0000
commitc83f46dc834bd7342ab2be98f34889460ce74be4 (patch)
tree273e41617f8d83973a42bbd6b48507643109f300
parente540c9a1f5cf9ff6b6ac8424e7f19b715424eb40 (diff)
parent4273dd03a83fd5f9ba25f3b7c3a4add7bce7206c (diff)
Merge "MediaCodec refactoring part 1-a: buffers become separate class"
-rw-r--r--media/jni/android_media_MediaCodec.cpp12
-rw-r--r--media/jni/android_media_MediaCodec.h3
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);