Android-問題-obtainBuffer timed out (is the CPU pegged?)

愛自在發表於2014-11-28

日誌描述:

W/SocketClient( 2263): write error (Broken pipe)
I/Vitamio[Player]( 3755): Info (901, 478)
I/Vitamio[Player]( 3755): Info (901, 522)
W/SocketClient( 2263): write error (Broken pipe)
I/Vitamio[Player]( 3755): Info (901, 483)
I/Vitamio[Player]( 3755): Info (901, 501)
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/SocketClient( 2263): write error (Broken pipe)
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/SocketClient( 2263): write error (Broken pipe)
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45
D/dalvikvm( 2555): GC_CONCURRENT freed 533K, 16% free 4976K/5876K, paused 2ms+4ms, total 36ms
W/AudioTrack( 3755): obtainBuffer timed out (is the CPU pegged?) 0x689021c0 name=0x1user=007b0954, server=007afc45


U-Boot 2009.08-00680-ge564407-dirty ( 8月 20 2014 - 20:17:07)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 182
Temperature:   54 C, calibration data 0x57e4e469
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz

未知原因突然出現,然後重啟。


相關資料:

1. http://blog.csdn.net/xiaokala_2011/article/details/8187927

EVDO藍芽打電話後,結束通話電話手機完全沒有聲音,這個問題產生的原因就是BT PCMmaster,主晶片PCM slave造成的,再結束通話電話時有個提示音沒有播出來。從log看是申請不到記憶體,其實是能看到obtainBuffer timed out (is the CPU pegged?)這句log,後來高通給了patch,是在audio_out.c檔案做的修改

將audio_write()函式中的程式睡眠喚醒方式做了修改

rc = wait_event_interruptible(audio->wait,
           (frame->used == 0) || (audio->stopped));

改成

rc = wait_event_interruptible_timeout(audio->wait,
           (frame->used == 0) || (audio->stopped),
           msecs_to_jiffies(2000));


2. http://soledadpenades.com/2009/08/25/is-the-cpu-pegged-and-friends/

it means you are not filling in quickly enough the audio buffer for an AudioTrack, Or that it seems so






相關文章