Loading media/jni/android_media_MediaCodec.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,25 @@ status_t JMediaCodec::getBuffers( } jclass byteBufferClass = env->FindClass("java/nio/ByteBuffer"); CHECK(byteBufferClass != NULL); jmethodID orderID = env->GetMethodID( byteBufferClass, "order", "(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;"); CHECK(orderID != NULL); jclass byteOrderClass = env->FindClass("java/nio/ByteOrder"); CHECK(byteOrderClass != NULL); jmethodID nativeOrderID = env->GetStaticMethodID( byteOrderClass, "nativeOrder", "()Ljava/nio/ByteOrder;"); CHECK(nativeOrderID != NULL); jobject nativeByteOrderObj = env->CallStaticObjectMethod(byteOrderClass, nativeOrderID); CHECK(nativeByteOrderObj != NULL); *bufArray = (jobjectArray)env->NewObjectArray( buffers.size(), byteBufferClass, NULL); Loading @@ -224,6 +243,11 @@ status_t JMediaCodec::getBuffers( buffer->base(), buffer->capacity()); jobject me = env->CallObjectMethod( byteBuffer, orderID, nativeByteOrderObj); env->DeleteLocalRef(me); me = NULL; env->SetObjectArrayElement( *bufArray, i, byteBuffer); Loading @@ -231,6 +255,9 @@ status_t JMediaCodec::getBuffers( byteBuffer = NULL; } env->DeleteLocalRef(nativeByteOrderObj); nativeByteOrderObj = NULL; return OK; } Loading Loading
media/jni/android_media_MediaCodec.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,25 @@ status_t JMediaCodec::getBuffers( } jclass byteBufferClass = env->FindClass("java/nio/ByteBuffer"); CHECK(byteBufferClass != NULL); jmethodID orderID = env->GetMethodID( byteBufferClass, "order", "(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;"); CHECK(orderID != NULL); jclass byteOrderClass = env->FindClass("java/nio/ByteOrder"); CHECK(byteOrderClass != NULL); jmethodID nativeOrderID = env->GetStaticMethodID( byteOrderClass, "nativeOrder", "()Ljava/nio/ByteOrder;"); CHECK(nativeOrderID != NULL); jobject nativeByteOrderObj = env->CallStaticObjectMethod(byteOrderClass, nativeOrderID); CHECK(nativeByteOrderObj != NULL); *bufArray = (jobjectArray)env->NewObjectArray( buffers.size(), byteBufferClass, NULL); Loading @@ -224,6 +243,11 @@ status_t JMediaCodec::getBuffers( buffer->base(), buffer->capacity()); jobject me = env->CallObjectMethod( byteBuffer, orderID, nativeByteOrderObj); env->DeleteLocalRef(me); me = NULL; env->SetObjectArrayElement( *bufArray, i, byteBuffer); Loading @@ -231,6 +255,9 @@ status_t JMediaCodec::getBuffers( byteBuffer = NULL; } env->DeleteLocalRef(nativeByteOrderObj); nativeByteOrderObj = NULL; return OK; } Loading