obtainBuffer timed out (is the CPU pegged?)
https://stackoverflow.com/questions/5293025/audiotrack-lag-obtainbuffer-timed-out [典]
03-13 14:55:57.100: WARN/AudioTrack(3454): obtainBuffer timed out (is the CPU pegged?) 0x2e9348 user=00000960, server=00000000
03-13 14:55:57.340: WARN/AudioFlinger(72): write blocked for 233 msecs, 9 delayed writes, thread 0xba28
I ran into a similar problem, although I was using a RandomAccessFile, instead of a BufferedInputStream, to read the PCM data. The issue was that the file I/O was too slow. I suspect you will have this problem even with a buffered stream, because the I/O is still taking place on the same thread as audio processing.
The solution is to have two threads: A thread that reads buffers from a file and queues them into memory, and another thread that reads from this queue and writes to the audio hardware. I used a ConcurrentLinkedQueue to accomplish this.
I used the same technique for recording, using AudioRecord, but in the reverse direction. The key is to place the file I/O on a separate thread.
https://stackoverflow.com/questions/7398392/android-audiotrack-only-plays-first-2-seconds-back-then-stops
- ::24.816: WARN/Archive(): audiostate is:
- ::26.089: WARN/AudioTrack(): obtainBuffer() track 0x298b18 disabled, restarting
- ::27.214: WARN/AudioTrack(): obtainBuffer() track 0x298b18 disabled, restarting
- ::28.332: WARN/AudioTrack(): obtainBuffer() track 0x298b18 disabled, restarting
- ::29.457: WARN/AudioTrack(): obtainBuffer() track 0x298b18 disabled, restarting
I just saw the logcat: obtainBuffer() track 0x298b18 disabled, restarting .. that is to say : you have not got audio data and the input audio stream have been stopped .so the buffer must wait for the audio stream in. i think you should check the inputstream and the read method. you must ensure that you have read the audio data continuously.
https://stackoverflow.com/questions/24378916/obtainbuffer-timed-out-is-the-cpu-pegged
obtainBuffer timed out (is the CPU pegged?)
https://www.oschina.net/question/1273322_128331
媒体资源没有释放 E AudioMixer: AudioMixer::getTrackName out of available tracks
检查下代码 临时的播放资源需要及时释放
https://bbs.csdn.net/topics/390134512
https://blog.csdn.net/bberdong/article/details/52161426
obtainBuffer timed out (is the CPU pegged?)的更多相关文章
- 解决"waitForCondition(LockCondition) timed out (identity=23, status=0). CPU may be pegged. trying again."问题
前几天在跑游戏引擎的时候,遇到了一个比较奇怪的问题,logcat不断地打印下面的错误: waitForCondition(LockCondition) timed out (identity=23, ...
- python小demo-01: 线程池+多进程实现cpu密集型操作
起因: 公司有一个小项目,大概逻辑如下: 服务器A会不断向队列中push消息,消息主要内容是视频的地址,服务器B则需要不断从队列中pop消息,然后将该视频进行剪辑最终将剪辑后的视频保存到云服务器.个人 ...
- Error: timed out while waiting for target halted
/************************************************************************************ * Error: timed ...
- 记录一次服务器CPU 100%的解决过程
昨天客户反馈业务系统很慢,而且偶尔报错. 查看nginx日志: [root@s2 nginx]# tail log/error.log 2017/03/14 12:54:46 [error] 1704 ...
- HBase Thrift2 CPU过高问题分析
目录 目录 1 1. 现象描述 1 2. 问题定位 2 3. 解决方案 5 4. 相关代码 5 1. 现象描述 外界连接9090端口均超时,但telnet端口总是成功.使用top命令观察,发现单个线程 ...
- 关于sys CPU usage 100%问题的分析
最近一个客户抱怨他的核心EBS数据库出现性能问题.这是一个10.2.0.3的数据库,运行在Red Hat Enterprise Linux Server release 5.5 (Linux x86- ...
- Linux下分析某个进程CPU占用率高的原因
Linux下分析某个进程CPU占用率高的原因 通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1.top 查到占用cpu高的进程pid 2.查看该pid的线程 ...
- 2018最新win10 安装tensorflow1.4(GPU/CPU)+cuda8.0+cudnn8.0-v6 + keras 安装CUDA失败 导入tensorflow失败报错问题解决
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9747019.html 基本开发环境搭建 1. Microsoft Windows 版本 关于W ...
- CPU运行时间——time
用途说明time命令常用于测量一个命令的运行时间,注意不是用来显示和修改系统时间的(这是date命令干的事情).但是今天我通过查看time命令的手册页,发现它能做的不仅仅是测量运行时间,还可以测量内存 ...
随机推荐
- 使用jquery-qrcode生成二维码(转载)
一.使用jquery-qrcode生成二维码 先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcod ...
- NoSQL 常用资源
Hadoop:http://www.apache.org/dyn/closer.cgi/hadoop/common/ easyhadoop:https://github.com/xianglei/ea ...
- odex反编译dex异常 Cannot locate boot class path file /system/framework/core.odex
为了将ROM中system/app下的CertInstaller.odex反编译为CertInstaller.dex,输入命令: "java -jar baksmali.jar -x C ...
- Ubuntu下载及安装
Ubuntu(友帮拓.优般图.乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于DebianGNU/Linux,支持x86.amd64(即x64)和ppc架构,由全球化 ...
- app-framework学习--Scroller
Scroller 这个插件同意你创建一个可滚动区域.我们使用的JavaScript滚轮,除非该设备支持 - WebKit的溢出卷轴:触摸.它有很多修复Android版<3和iOS原生的滚动. 创 ...
- Linux文件权限分析
一.用户组概念 在linux系统中,每个用户必属于一个组,不能独立于组之外.每个文件都有所有者,所在组和其他组这三个概念. (1)所有者:一般为文件的创建者,谁创建了该文件,就成为了该文件的所有者, ...
- 【MYSQL】主从常见问题运维
参见Mysql主从常见错误,http://hzcsky.blog.51cto.com/1560073/479476
- Xcode插件开发案例教程
引言 在平时开发过程中我们使用了很多的Xcode插件,虽然官方对于插件制作没有提供任何支持,但是加载三方的插件,默认还是被允许的.第三方的插件,存放在 ~/Library/Application Su ...
- MySQL数据库--练习
学生选课系统 设计表关系 创建表和插入数据 /* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Ve ...
- 2017 Multi-University Training Contest - Team 4 hdu6071 Lazy Running
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6071 题目: Lazy Running Time Limit: 2000/1000 MS (J ...