Creating Simulcast offer and answer in Peer Connection.
CreateOffer and CreateAnswer will now examine the layers on the transceiver to determine if multiple layers are requested (Simulcast). In this scenario RIDs will be used in the layers (instead of SSRCs). When the offer is created, only RIDs are signalled in the offer. When the offer is set locally SetLocalDescription() SSRCs will be generated for each layer by the Channel and sent downstream to the MediaChannel. The MediaChannel receives configuration that looks identical to that of legacy simulcast, and should be able to integrate the streams correctly regardless of how they were signalled. Setting multiple layers on the transciever is still not supported through the API. Bug: webrtc:10075 Change-Id: Id4ad3637b87b68ef6ca7eec69166fee2d9dfa36f Reviewed-on: https://webrtc-review.googlesource.com/c/119780 Reviewed-by: Seth Hampson <shampson@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Commit-Queue: Amit Hilbuch <amithi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26428}
This commit is contained in:
@ -105,11 +105,13 @@ class RtpSenderReceiverTest : public testing::Test,
|
||||
voice_channel_ = channel_manager_.CreateVoiceChannel(
|
||||
&fake_call_, cricket::MediaConfig(), rtp_transport_.get(),
|
||||
/*media_transport=*/nullptr, rtc::Thread::Current(), cricket::CN_AUDIO,
|
||||
srtp_required, webrtc::CryptoOptions(), cricket::AudioOptions());
|
||||
srtp_required, webrtc::CryptoOptions(), &ssrc_generator_,
|
||||
cricket::AudioOptions());
|
||||
video_channel_ = channel_manager_.CreateVideoChannel(
|
||||
&fake_call_, cricket::MediaConfig(), rtp_transport_.get(),
|
||||
/*media_transport=*/nullptr, rtc::Thread::Current(), cricket::CN_VIDEO,
|
||||
srtp_required, webrtc::CryptoOptions(), cricket::VideoOptions());
|
||||
srtp_required, webrtc::CryptoOptions(), &ssrc_generator_,
|
||||
cricket::VideoOptions());
|
||||
voice_channel_->Enable(true);
|
||||
video_channel_->Enable(true);
|
||||
voice_media_channel_ = media_engine_->GetVoiceChannel(0);
|
||||
@ -360,6 +362,7 @@ class RtpSenderReceiverTest : public testing::Test,
|
||||
rtc::scoped_refptr<VideoTrackInterface> video_track_;
|
||||
rtc::scoped_refptr<AudioTrackInterface> audio_track_;
|
||||
bool audio_sender_destroyed_signal_fired_ = false;
|
||||
rtc::UniqueRandomIdGenerator ssrc_generator_;
|
||||
};
|
||||
|
||||
// Test that |voice_channel_| is updated when an audio track is associated
|
||||
|
||||
Reference in New Issue
Block a user