探讨android中html5的video的生命周期,video实现的方方面面。解决如下问题:
1. 如何从html(浏览器)调用到MediaPlayer进行播放的?
2. MediaPlayer播放内容为何能在浏览器上显示?
3. MediaPlayer和浏览器的关系如何?谁控制谁?
4. MediaPlayer如何获取真正的播放资源?
估计一篇写不完,慢慢写吧
以前写的,记录一下
chromium video
pipeline
webkit/media/webmediaplayer_impl.cc
BuildMediaStreamCollection 从client查看url对应的decoder,如果找到,就启动pipeline。
这里的client就是MediaStreamImpl,寻找decoder就是找descriptor
StartPipeline
pipeline_->Start 会设置网络状态回调函数(WebMediaPlayerProxy::NetworkEventCallback)。BufferedSourceLoader 会调用BufferedResourceLoader进行网络下载
Pipeline::StartTask
BufferedDataSource::Initialize
BufferedDataSource::NetworkEventCallback
Pipeline::SetNetworkActivity
Pipeline::NotifyNetworkEventTask
WebMediaPlayerProxy::NetworkEventCallback
WebMediaPlayerProxy::NetworkEventTask
DOMURL.cpp
createObjectURL 会绑定一个url和一个stream
android video
我认为浏览器里面的video是时间驱动的