summaryrefslogtreecommitdiffstats
path: root/core/jni/android_media_AudioTrack.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2009-07-07 07:10:45 -0700
committerEric Laurent <elaurent@google.com>2009-07-07 07:10:45 -0700
commit88e209dcf8c2ebddda5c272f46d1bd5478bc639c (patch)
tree0b4bc797c237a5179be63ee9c3716e8213fc08b6 /core/jni/android_media_AudioTrack.cpp
parent37ea71122579e9e2ad1f91b3eca5e4d436b54ea9 (diff)
downloadframeworks_base-88e209dcf8c2ebddda5c272f46d1bd5478bc639c.zip
frameworks_base-88e209dcf8c2ebddda5c272f46d1bd5478bc639c.tar.gz
frameworks_base-88e209dcf8c2ebddda5c272f46d1bd5478bc639c.tar.bz2
Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
Store sample rate on 32 bits instead of 16 bits in audio_track_cblk_t. Removed sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate(). AudioTrack::setSampleRate() no returns a status.
Diffstat (limited to 'core/jni/android_media_AudioTrack.cpp')
-rw-r--r--core/jni/android_media_AudioTrack.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/core/jni/android_media_AudioTrack.cpp b/core/jni/android_media_AudioTrack.cpp
index 42ada54..e7d4694 100644
--- a/core/jni/android_media_AudioTrack.cpp
+++ b/core/jni/android_media_AudioTrack.cpp
@@ -539,16 +539,17 @@ static jint android_media_AudioTrack_get_native_frame_count(JNIEnv *env, jobjec
// ----------------------------------------------------------------------------
-static void android_media_AudioTrack_set_playback_rate(JNIEnv *env, jobject thiz,
+static jint android_media_AudioTrack_set_playback_rate(JNIEnv *env, jobject thiz,
jint sampleRateInHz) {
AudioTrack *lpTrack = (AudioTrack *)env->GetIntField(
thiz, javaAudioTrackFields.nativeTrackInJavaObj);
if (lpTrack) {
- lpTrack->setSampleRate(sampleRateInHz);
+ return android_media_translateErrorCode(lpTrack->setSampleRate(sampleRateInHz));
} else {
jniThrowException(env, "java/lang/IllegalStateException",
"Unable to retrieve AudioTrack pointer for setSampleRate()");
+ return AUDIOTRACK_ERROR;
}
}
@@ -788,7 +789,7 @@ static JNINativeMethod gMethods[] = {
{"native_get_native_frame_count",
"()I", (void *)android_media_AudioTrack_get_native_frame_count},
{"native_set_playback_rate",
- "(I)V", (void *)android_media_AudioTrack_set_playback_rate},
+ "(I)I", (void *)android_media_AudioTrack_set_playback_rate},
{"native_get_playback_rate",
"()I", (void *)android_media_AudioTrack_get_playback_rate},
{"native_set_marker_pos","(I)I", (void *)android_media_AudioTrack_set_marker_pos},