diff options
author | Eric Laurent <elaurent@google.com> | 2009-07-17 12:17:14 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2009-07-23 06:03:39 -0700 |
commit | a553c25b33c99b345cf1c8688f8df0ed8df14e5a (patch) | |
tree | 025c461b13e66ad0ceac8d0f8d9b13fd88ae168a /packages/TtsService/jni | |
parent | ebd7bc54028949619bbf3fa5ed6c1188f588c230 (diff) | |
download | frameworks_base-a553c25b33c99b345cf1c8688f8df0ed8df14e5a.zip frameworks_base-a553c25b33c99b345cf1c8688f8df0ed8df14e5a.tar.gz frameworks_base-a553c25b33c99b345cf1c8688f8df0ed8df14e5a.tar.bz2 |
Fix issue 1795088 Improve audio routing code
Initial commit for review.
Integrated comments after patch set 1 review.
Fixed lockup in AudioFlinger::ThreadBase::exit()
Fixed lockup when playing tone with AudioPlocyService startTone()
Diffstat (limited to 'packages/TtsService/jni')
-rw-r--r-- | packages/TtsService/jni/android_tts_SynthProxy.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/packages/TtsService/jni/android_tts_SynthProxy.cpp b/packages/TtsService/jni/android_tts_SynthProxy.cpp index 99d7723..a4090cf 100644 --- a/packages/TtsService/jni/android_tts_SynthProxy.cpp +++ b/packages/TtsService/jni/android_tts_SynthProxy.cpp @@ -71,7 +71,7 @@ class SynthProxyJniStorage { AudioTrack* mAudioOut; AudioSystem::stream_type mStreamType; uint32_t mSampleRate; - AudioSystem::audio_format mAudFormat; + uint32_t mAudFormat; int mNbChannels; int8_t * mBuffer; size_t mBufferSize; @@ -118,7 +118,6 @@ class SynthProxyJniStorage { mSampleRate = rate; mAudFormat = format; mNbChannels = channel; - mStreamType = streamType; // retrieve system properties to ensure successful creation of the @@ -139,7 +138,8 @@ class SynthProxyJniStorage { if (minBufCount < 2) minBufCount = 2; int minFrameCount = (afFrameCount * rate * minBufCount)/afSampleRate; - mAudioOut = new AudioTrack(mStreamType, rate, format, channel, + mAudioOut = new AudioTrack(mStreamType, rate, format, + (channel == 2) ? AudioSystem::CHANNEL_OUT_STEREO : AudioSystem::CHANNEL_OUT_MONO, minFrameCount > 4096 ? minFrameCount : 4096, 0, 0, 0, 0); // not using an AudioTrack callback @@ -182,7 +182,7 @@ void prepAudioTrack(SynthProxyJniStorage* pJniData, AudioSystem::stream_type str * Directly speaks using AudioTrack or write to file */ static tts_callback_status ttsSynthDoneCB(void *& userdata, uint32_t rate, - AudioSystem::audio_format format, int channel, + uint32_t format, int channel, int8_t *&wav, size_t &bufferSize, tts_synth_status status) { //LOGV("ttsSynthDoneCallback: %d bytes", bufferSize); @@ -202,7 +202,7 @@ static tts_callback_status ttsSynthDoneCB(void *& userdata, uint32_t rate, } if (bufferSize > 0) { - prepAudioTrack(pJniData, pForAfter->streamType, rate, format, channel); + prepAudioTrack(pJniData, pForAfter->streamType, rate, (AudioSystem::audio_format)format, channel); if (pJniData->mAudioOut) { pJniData->mAudioOut->write(wav, bufferSize); memset(wav, 0, bufferSize); |