Merge "Remove ScopedBytes use"
This commit is contained in:
@@ -23,8 +23,6 @@
|
|||||||
#include <nativehelper/JniConstants.h>
|
#include <nativehelper/JniConstants.h>
|
||||||
#include "core_jni_helpers.h"
|
#include "core_jni_helpers.h"
|
||||||
|
|
||||||
#include <nativehelper/ScopedBytes.h>
|
|
||||||
|
|
||||||
#include <utils/Log.h>
|
#include <utils/Log.h>
|
||||||
#include <media/AudioSystem.h>
|
#include <media/AudioSystem.h>
|
||||||
#include <media/AudioTrack.h>
|
#include <media/AudioTrack.h>
|
||||||
@@ -699,7 +697,7 @@ static jint android_media_AudioTrack_writeArray(JNIEnv *env, jobject thiz,
|
|||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
static jint android_media_AudioTrack_write_native_bytes(JNIEnv *env, jobject thiz,
|
static jint android_media_AudioTrack_write_native_bytes(JNIEnv *env, jobject thiz,
|
||||||
jbyteArray javaBytes, jint byteOffset, jint sizeInBytes,
|
jobject javaByteBuffer, jint byteOffset, jint sizeInBytes,
|
||||||
jint javaAudioFormat, jboolean isWriteBlocking) {
|
jint javaAudioFormat, jboolean isWriteBlocking) {
|
||||||
//ALOGV("android_media_AudioTrack_write_native_bytes(offset=%d, sizeInBytes=%d) called",
|
//ALOGV("android_media_AudioTrack_write_native_bytes(offset=%d, sizeInBytes=%d) called",
|
||||||
// offsetInBytes, sizeInBytes);
|
// offsetInBytes, sizeInBytes);
|
||||||
@@ -710,13 +708,14 @@ static jint android_media_AudioTrack_write_native_bytes(JNIEnv *env, jobject th
|
|||||||
return (jint)AUDIO_JAVA_INVALID_OPERATION;
|
return (jint)AUDIO_JAVA_INVALID_OPERATION;
|
||||||
}
|
}
|
||||||
|
|
||||||
ScopedBytesRO bytes(env, javaBytes);
|
const jbyte* bytes =
|
||||||
if (bytes.get() == NULL) {
|
reinterpret_cast<const jbyte*>(env->GetDirectBufferAddress(javaByteBuffer));
|
||||||
|
if (bytes == NULL) {
|
||||||
ALOGE("Error retrieving source of audio data to play, can't play");
|
ALOGE("Error retrieving source of audio data to play, can't play");
|
||||||
return (jint)AUDIO_JAVA_BAD_VALUE;
|
return (jint)AUDIO_JAVA_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
jint written = writeToTrack(lpTrack, javaAudioFormat, bytes.get(), byteOffset,
|
jint written = writeToTrack(lpTrack, javaAudioFormat, bytes, byteOffset,
|
||||||
sizeInBytes, isWriteBlocking == JNI_TRUE /* blocking */);
|
sizeInBytes, isWriteBlocking == JNI_TRUE /* blocking */);
|
||||||
|
|
||||||
return written;
|
return written;
|
||||||
@@ -1288,7 +1287,7 @@ static const JNINativeMethod gMethods[] = {
|
|||||||
{"native_release", "()V", (void *)android_media_AudioTrack_release},
|
{"native_release", "()V", (void *)android_media_AudioTrack_release},
|
||||||
{"native_write_byte", "([BIIIZ)I",(void *)android_media_AudioTrack_writeArray<jbyteArray>},
|
{"native_write_byte", "([BIIIZ)I",(void *)android_media_AudioTrack_writeArray<jbyteArray>},
|
||||||
{"native_write_native_bytes",
|
{"native_write_native_bytes",
|
||||||
"(Ljava/lang/Object;IIIZ)I",
|
"(Ljava/nio/ByteBuffer;IIIZ)I",
|
||||||
(void *)android_media_AudioTrack_write_native_bytes},
|
(void *)android_media_AudioTrack_write_native_bytes},
|
||||||
{"native_write_short", "([SIIIZ)I",(void *)android_media_AudioTrack_writeArray<jshortArray>},
|
{"native_write_short", "([SIIIZ)I",(void *)android_media_AudioTrack_writeArray<jshortArray>},
|
||||||
{"native_write_float", "([FIIIZ)I",(void *)android_media_AudioTrack_writeArray<jfloatArray>},
|
{"native_write_float", "([FIIIZ)I",(void *)android_media_AudioTrack_writeArray<jfloatArray>},
|
||||||
|
|||||||
@@ -3222,7 +3222,7 @@ public class AudioTrack extends PlayerBase
|
|||||||
int offsetInFloats, int sizeInFloats, int format,
|
int offsetInFloats, int sizeInFloats, int format,
|
||||||
boolean isBlocking);
|
boolean isBlocking);
|
||||||
|
|
||||||
private native final int native_write_native_bytes(Object audioData,
|
private native final int native_write_native_bytes(ByteBuffer audioData,
|
||||||
int positionInBytes, int sizeInBytes, int format, boolean blocking);
|
int positionInBytes, int sizeInBytes, int format, boolean blocking);
|
||||||
|
|
||||||
private native final int native_reload_static();
|
private native final int native_reload_static();
|
||||||
|
|||||||
Reference in New Issue
Block a user