【小学生】android HLS学习
来源:互联网 发布:mac系统看照片 编辑:程序博客网 时间:2024/04/30 15:24
(转)HLS render:
1:OMX component 集成在ACodec中,ACodec(A/V)解完数据后,通知Nulayer;
2:NuPlayer通知Render,Render需要A/V的时间同步(另,如果是JPEG的话就不需要这个同步,直接render即可);
3:对于Audio,直接通过AudioSink播放;
4:对于Video,通过通知ACodec,让ACodec通过(NativeWindow/Render)发送到界面
Step1:
1.1 omx_message::FILL_BUFFER_DONE===>>>ACodec::onOMXFillBufferDone()
1.2 ACodec::onOMXFillBufferDone()::ACodec::kWhatDrainThisBuffersetMessage ===>>> NuPlayer::onMessageReceived()
Step2:
2.1 NuPlayer::renderBuffer()
2.2 NuPlayer::Renderer::queueBuffer() ===>>> send msgkWhatQueueBuffer
2.3 NuPlayer::Renderer::onMessageReceived() ===>>>onQueueBuffer()
2.4 postDrainAudioQueue() or postDrainVideoQueue() ===>>>send msg kWhatDrainVideoQueue
2.5 onMessageReceived() ===>>> onDrainVideoQueue();postDrainVideoQueue();
onDrainVideoQueue():A/V的时间同步,如果慢0.4s,标记too_late
postDrainVideoQueue():A/V的时间同步,如果解码时间快,决定等待的时间,并把消息给render
Step3:
3.1postDrainAudioQueue()===>>>onDrainAudioQueue()===>>>mAudioSink->write()
Step4:
4.1 Renderer::onDrainVideoQueue():entry->mNotifyConsumed->setInt32("render", !tooLate);
4.2 Renderer::postDrainVideoQueue()===>>> send msgkWhatDrainVideoQueue
4.2 ACodec::BaseState::onMessageReceived() ===>>>onOutputBufferDrained(msg);
http://blog.csdn.net/u010316858/article/details/50422632
(自学)
HLS android原生code主要在DEMUX部分比较复杂,目前android6.0主要是在playlistfetcher中extractAndDueueccessnitFromTs执行。具体过程还得跟踪到ATSParser和ESQueue中,后续有时间继续学习分享。
0 0
- 【小学生】android HLS学习
- HLS 学习
- 小学生学习(stuabc) 绿色
- HLS学习(一)HLS介绍
- HLS 学习网站
- HLS协议学习总结
- android HLS 初始化过程
- android HLS Nuplayer分析
- 小学生
- HLS协议---学习笔记----M3U8
- android hls dvr seek playback
- HLS
- HLS
- hls
- HLS
- HLS
- HLS
- 在人力资源管理学习中甘当小学生
- Android7.0适配教程与心得
- zabbix snmp 协议监控 dell iRDAC
- 数组与字符串长度sizeof()、strlen()、string的length()和size()
- TLS 传输层安全协议 Transport Layer Security 原理简述
- ${pageContext.request.contextPath}和<%=request.getContextPath()%>
- 【小学生】android HLS学习
- JavaScript学习资料总结
- 在Nginx用htpasswd对网站进行密码保护的设置方法
- 尝试编写Rxjava + Retrofit项目网络架构
- Java连接linux虚拟机的redis报错问题解决办法
- 《Neural Networks for Machine Learning》学习二
- SDOI2005反素数
- React-Native编写针对平台的代码
- CSS布局之流动布局(湖南中兴网信首页实例)