我尝试按照Android Jelly bean 4.2中的wifi显示代码。在wifi显示中,PlaybackSession
类将负责获取数据。最后,它将从名为SurfaceMediaSource
的类中获取数据,该类继承自MediaSource
。数据位于BufferQueue
的{{1}}。但我找不到谁负责将数据写入SurfaceMediaSource
。我相信BufferQueue
应该这样做。但是,我找不到任何具体的代码。有谁知道它是如何工作的?
答案 0 :(得分:0)
在onDisplayConnected()
和wfd.cpp
中查看com.android.server.display.DisplayDevice
来电。
两者都会以SurfaceComposerClient::setDisplaySurface()
中的frameworks/native/libs/gui/SurfaceComposerClient.cpp
结尾。
可悲的是,我不明白DisplayState::eSurfaceChanged
的设置会如何导致显示呈现给BufferQueue
中的SurfaceMediaSource
。