Obsolete
Status Update
Comments
fo...@gmail.com <fo...@gmail.com> #2
sometimes when recording,play music,log:
W/AudioFlinger( 36): AudioRecordThread: buffer overflow
E/AudioFlinger( 36): TrackBase::getBuffer buffer out of range:
E/AudioFlinger( 36): start: 0xc412a5c4, end 0xe1492558 , mBuffer
0x40e14100 mBufferEnd 0x40e17bcc
E/AudioFlinger( 36): server -6619335, serverBase -24969673, user
-15794336, userBase -19595349, channels 177
E/AudioFlinger( 36): TrackBase::getBuffer buffer out of range:
E/AudioFlinger( 36): start: 0xc412a5c4, end 0xe1492558 , mBuffer
0x40e14100 mBufferEnd 0x40e17bcc
E/AudioFlinger( 36): server -6619335, serverBase -24969673, user
-15794336, userBase -19595349, channels 177
......
must kill mediaserver
W/AudioFlinger( 36): AudioRecordThread: buffer overflow
E/AudioFlinger( 36): TrackBase::getBuffer buffer out of range:
E/AudioFlinger( 36): start: 0xc412a5c4, end 0xe1492558 , mBuffer
0x40e14100 mBufferEnd 0x40e17bcc
E/AudioFlinger( 36): server -6619335, serverBase -24969673, user
-15794336, userBase -19595349, channels 177
E/AudioFlinger( 36): TrackBase::getBuffer buffer out of range:
E/AudioFlinger( 36): start: 0xc412a5c4, end 0xe1492558 , mBuffer
0x40e14100 mBufferEnd 0x40e17bcc
E/AudioFlinger( 36): server -6619335, serverBase -24969673, user
-15794336, userBase -19595349, channels 177
......
must kill mediaserver
go...@gmail.com <go...@gmail.com> #3
I've got the same problem and error message in stream mode.
My steps are :
stop();
setPlaybackHeadPosition(0);
play();
Then the error messages flood appears.
My steps are :
stop();
setPlaybackHeadPosition(0);
play();
Then the error messages flood appears.
et...@gmail.com <et...@gmail.com> #4
I was able to identify the cause of this, in my application, to be related to resetting the loop point in the AudioTrack. The problem was intermittent and occurred only when the head position was outside of the new loop point position (e.g., new loop position = 15322, head position = 17645).
Comment (3) above comes close to the solution. One must also call reloadStaticData(). The incantation that worked for me:
mAudioTrack.stop();
mAudioTrack.reloadStaticData();
mAudioTrack.setPlaybackHeadPosition(0);
mAudioTrack.play();
and then the call to mAudioTrack.setLoopPoints();
Comment (3) above comes close to the solution. One must also call reloadStaticData(). The incantation that worked for me:
mAudioTrack.stop();
mAudioTrack.reloadStaticData();
mAudioTrack.setPlaybackHeadPosition(0);
mAudioTrack.play();
and then the call to mAudioTrack.setLoopPoints();
da...@gmail.com <da...@gmail.com> #5
a related issue appears to be present in OpenSL ES, (Not surprising since it appears to be a wrapper around the audiotrack code).
Regardless of what i'm doing in bufferqueue callbacks etc. it seems the following psuedocode will (very frequently) cause a hang on my Toshiba Thrive running Android 3.1:
PlayInterface->setPlayState(Stopped)
BufferQueue->Clear()
PlayInterface->setPlayState(Playing)
the logcat shows the following:
system/media/wilhelm/src/android/AudioPlayer_to_android.cpp:1087: object 0x864c8 was locked by 0x19fd88 at system/media/wilhelm/src/itf/IPlay.c:38
Regardless of what i'm doing in bufferqueue callbacks etc. it seems the following psuedocode will (very frequently) cause a hang on my Toshiba Thrive running Android 3.1:
PlayInterface->setPlayState(Stopped)
BufferQueue->Clear()
PlayInterface->setPlayState(Playing)
the logcat shows the following:
system/media/wilhelm/src/android/AudioPlayer_to_android.cpp:1087: object 0x864c8 was locked by 0x19fd88 at system/media/wilhelm/src/itf/IPlay.c:38
er...@gmail.com <er...@gmail.com> #6
My AudioPlayBack is causing error after long run of 48 hours
getting something like this in Error Log :
E/AudioFlinger( 36): TrackBase::getBuffer buffer out of range:
E/AudioFlinger( 36): start: 0xc412a5c4, end 0xe1492558 , mBuffer
0x40e14100 mBufferEnd 0x40e17bcc
E/AudioFlinger( 36): server -6619335, serverBase -24969673, user
-15794336, userBase -19595349, channels 177
E/AudioFlinger( 36): TrackBase::getBuffer buffer out of range:
E/AudioFlinger( 36): start: 0xc412a5c4, end 0xe1492558 , mBuffer
0x40e14100 mBufferEnd 0x40e17bcc
E/AudioFlinger( 36): server -6619335, serverBase -24969673, user
-15794336, userBase -19595349, channels 177
Is someone can help me in solving this ..
I think its because of Shared Buffer overflow ..
Is someone can tell me the exact file to change the shared buffer size which is shared between media server and AudioFlinger
getting something like this in Error Log :
E/AudioFlinger( 36): TrackBase::getBuffer buffer out of range:
E/AudioFlinger( 36): start: 0xc412a5c4, end 0xe1492558 , mBuffer
0x40e14100 mBufferEnd 0x40e17bcc
E/AudioFlinger( 36): server -6619335, serverBase -24969673, user
-15794336, userBase -19595349, channels 177
E/AudioFlinger( 36): TrackBase::getBuffer buffer out of range:
E/AudioFlinger( 36): start: 0xc412a5c4, end 0xe1492558 , mBuffer
0x40e14100 mBufferEnd 0x40e17bcc
E/AudioFlinger( 36): server -6619335, serverBase -24969673, user
-15794336, userBase -19595349, channels 177
Is someone can help me in solving this ..
I think its because of Shared Buffer overflow ..
Is someone can tell me the exact file to change the shared buffer size which is shared between media server and AudioFlinger
gk...@android.com <gk...@android.com>
sa...@google.com <sa...@google.com> #7
Thank you for the feedback. We're closing this issue as Obsolete.
If it is still observed in the latest Android release, please open a new issue inhttps://goo.gl/TbMiIO along with a reference to this issue.
If it is still observed in the latest Android release, please open a new issue in
Description
result in temporary or permanent (for activity's lifecycle) failure of
playback using AudioTrack and an infinite flood of error messages to log,
requiring device or emulator restart to make LogCat usable again.
I did reproduce it on both the emulator (SDK 1.5_r2) and my HTC Magic
(Firmware version 1.5, kernel version 2.6.27-00393-g6607056, build number
CRB43).
Steps to reproduce:
1. Create AudioTrack (STREAM_MUSIC, MODE_STATIC) for PCM data from any wav
file (example one attached)
2. start playback by calling AudioTrack.play()
3. try replaying the sound by calling the following sequence:
audioTrack.stop();
audioTrack.reloadStaticData();
audioTrack.setPlaybackHeadPosition(0);
audioTrack.play();
4. repeat step 3 very fast a few times
5. if nothing is wrong yet, then wait for a few seconds, and try step 3 again.
I tried with various sounds, including very short ones (0.125 second), same
result.
Expected results:
When replaying existing audio track, the current sound playback should
stop. After that it should start playing from the beginning.
Observed results:
The final result is that further playbacks fail, until activity is
restarted. Additionally, log is flooded with error message like this:
ERROR/AudioFlinger(554): TrackBase::getBuffer buffer out of range:
ERROR/AudioFlinger(554): start: 0x403c5008, end 0x403c5808 , mBuffer
0x40508000 mBufferEnd 0x4051d888
ERROR/AudioFlinger(554): server 0, serverBase 661500,
user 882000, userBase 882000, channels 1
This message is repeated infinitely until emulator or device is restarted.
There are few scenarios possible in reaching the error message:
1. sound playback seems to be queued, and after multiple tries to replay
the sound, you can hear it being played repeatedly for some time, until the
last replay finishes. Trying to replay it at this point result in the error
above. All further attempts to replay the audio track will fail.
2. same as above, only that the second or third attempt at replaying the
audio track succeed and the error message stops being added to the log
3. same as above, only that error message is still flooding the log
4. after 2 tries the playback fails and the log is flooded with error messages