1.surface和media关联流程
视频mojo surface和mediaplayer绑定流程分析,下面是关于普通播放界面的创建,使用mediaplayer流程

2.SurfaceTexture和layer关联
A.SurfaceTexture通过设置SetFrameAvailableCallback监听类: SurfaceTextureListener 用于监听frame更新的消息,每当有新的视频帧时就会调用.会回调到StreamTexture::OnFrameAvailable-->StreamTextureHost::OnFrameAvailable--->StreamTextureProxy::OnFrameAvailable
B.StreamTextureWrapperImpl类实现StreamTextureWrapper,在MediaPlayerRendererClient初始化StreamTextureWrapperImpl时调用InitializeOnMainThread,最终调用注册StreamTextureProxy::BindToTaskRunner回调,对接步骤A.最终调用到:MediaPlayerRendererClient::OnFrameAvailable
C.该回调即调用到VideoFrameCompositor::PaintSingleFrame,该frame属于创建之初创建.通过VideoFrameProviderClientImpl::DidReceiveFrame最终与VideoLayerImpl::DidDraw这块的cc layer关联
D.上述的都是通过VideoFrame关联,而VideoFrame是通过gpu创建出来的SurfaceTexture关联起来的,通过一个id.至此关联到layer层