ChannelManager
pc/channelmanager.h
1 | // ChannelManager allows the MediaEngine to run on a separate thread, and takes |
WebRtcSession构造中通过MediaControllerInterface初始化ChannelManager变量channel_manager_ , ChannelManager通过构造传入MediaEngineInterface.
WebRtcSession
pc/webrtcsession.h
1 | // A WebRtcSession manages general session state. This includes negotiation |
MediaControllerInterface
pc/mediacontroller.h
1 | // The MediaController currently owns shared state between media channels. |
实现类MediaController,管理ChannelManager,cricket::ChannelManager* const channel_manager_;
,在PeerConnection的Initialize方法中,通过PeerConnectionFactory创建.PeerConnectionFactory中Initialize中真正创建ChannelManager,创建ChannelManager之前,先创建出MediaEngine,实际在PeerConnectionFactory::CreateMediaEngine_w中通过cricket::WebRtcMediaEngineFactory::Create创建.
7> Downloading src/resources/voice_engine/audio_tiny44.wav… 4> Downloading src/resources/voice_engine/audio_tiny48.wav… 2> Downloading src/resources/voice_engine/audio_tiny8.wav… Hook ‘download_from_google_storage –directory –recursive –num_threads=10 –no_auth –quiet –bucket chromium-webrtc-resources src/resources’ took 528.97 secs
WARNING: ‘src/testing/gmock’ has been moved from DEPS to a higher level checkout. The git folder containing all the local branches has been saved to /Users/shenjunwei/soft-source/webrtc/old_src_testing_gmock.git. If you don’t care about its state you can safely remove that folder to free up space.
WARNING: ‘src/testing/gtest’ has been moved from DEPS to a higher level checkout. The git folder containing all the local branches has been saved to /Users/shenjunwei/soft-source/webrtc/old_src_testing_gtest.git. If you don’t care about its state you can safely remove that folder to free up space.