放一张初步的Licode数据流图:
这个只是数据从底层怎么流到上面的图,那么还有反方向的图
在connection里有个有意思的函数:
bool WebRtcConnection::createOffer(bool video_enabled, bool audioEnabled, bool bundle) {
boost::mutex::scoped_lock lock(update_state_mutex_);
bundle_ = bundle;
video_enabled_ = video_enabled;
audio_enabled_ = audioEnabled;
local_sdp_->createOfferSdp(video_enabled_, audio_enabled_, bundle_);
local_sdp_->dtlsRole = ACTPASS;
ELOG_DEBUG("%s message: Creating sdp offer, isBundle: %d", toLog(), bundle_);
if (video_enabled_) {
forEachMediaStream([this] (const std::shared_ptr<MediaStream> &media_stream) {
std::vector<uint32_t> video_ssrc_list = std::vector<uint32_t>();
video_ssrc_list.push_back(media_stream->