mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-20 00:57:49 +01:00
Revert "Reland "Ensure RTCRtpSenders are always created with one encoding""
This reverts commitfc5d627cef
. Reason for revert: Breaks upstream WPT tests Original change's description: > Reland "Ensure RTCRtpSenders are always created with one encoding" > > This is a reland of commitb8023690d9
> > Original change's description: > > Ensure RTCRtpSenders are always created with one encoding > > > > It is possible to have AddTransceiver calls with an empty array > > of encodings or AddTrack calls. In both cases, before negotiation, > > the sender's encodings array would be empty and it was not possible > > to update any value. > > > > Now, a default entry should be created in those cases, allowing to > > update the configuration before negotiation. > > > > Bug: webrtc:10567 > > Change-Id: I1271e2965e1a97c1e472451e0ab8867fc24f6c2b > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290994 > > Auto-Submit: Florent Castelli <orphis@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Commit-Queue: Florent Castelli <orphis@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#39126} > > Bug: webrtc:10567 > Change-Id: I2d52fa5b1d7cfdc9dce279fcf9faf1e0129c9008 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291140 > Reviewed-by: Henrik Boström <hbos@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Florent Castelli <orphis@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#39145} Bug: webrtc:10567 Change-Id: If9b5adb5debb7c87a15662a8d0f232405a0e8136 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291221 Auto-Submit: Evan Shrubsole <eshr@webrtc.org> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39147}
This commit is contained in:
parent
3e61f881cd
commit
9f9671fe7f
3 changed files with 10 additions and 47 deletions
|
@ -1096,11 +1096,6 @@ PeerConnection::AddTransceiver(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If no encoding parameters were provided, a default entry is created.
|
|
||||||
if (parameters.encodings.empty()) {
|
|
||||||
parameters.encodings.push_back({});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (UnimplementedRtpParameterHasValue(parameters)) {
|
if (UnimplementedRtpParameterHasValue(parameters)) {
|
||||||
LOG_AND_RETURN_ERROR(
|
LOG_AND_RETURN_ERROR(
|
||||||
RTCErrorType::UNSUPPORTED_PARAMETER,
|
RTCErrorType::UNSUPPORTED_PARAMETER,
|
||||||
|
|
|
@ -2834,14 +2834,6 @@ TEST_P(PeerConnectionIntegrationTest, UnsignaledSsrcGetParametersVideo) {
|
||||||
EXPECT_TRUE(parameters.encodings[0].ssrc.has_value());
|
EXPECT_TRUE(parameters.encodings[0].ssrc.has_value());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(PeerConnectionIntegrationTest,
|
|
||||||
GetParametersHasEncodingsBeforeNegotiation) {
|
|
||||||
ASSERT_TRUE(CreatePeerConnectionWrappers());
|
|
||||||
auto sender = caller()->AddTrack(caller()->CreateLocalVideoTrack());
|
|
||||||
auto parameters = sender->GetParameters();
|
|
||||||
EXPECT_EQ(parameters.encodings.size(), 1u);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Test that if a track is removed and added again with a different stream ID,
|
// Test that if a track is removed and added again with a different stream ID,
|
||||||
// the new stream ID is successfully communicated in SDP and media continues to
|
// the new stream ID is successfully communicated in SDP and media continues to
|
||||||
// flow end-to-end.
|
// flow end-to-end.
|
||||||
|
@ -3418,28 +3410,6 @@ TEST_F(PeerConnectionIntegrationTestUnifiedPlan,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(PeerConnectionIntegrationTestUnifiedPlan,
|
|
||||||
GetParametersHasEncodingsBeforeNegotiation) {
|
|
||||||
ASSERT_TRUE(CreatePeerConnectionWrappers());
|
|
||||||
auto result = caller()->pc()->AddTransceiver(cricket::MEDIA_TYPE_VIDEO);
|
|
||||||
auto transceiver = result.MoveValue();
|
|
||||||
auto parameters = transceiver->sender()->GetParameters();
|
|
||||||
EXPECT_EQ(parameters.encodings.size(), 1u);
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_F(PeerConnectionIntegrationTestUnifiedPlan,
|
|
||||||
GetParametersHasInitEncodingsBeforeNegotiation) {
|
|
||||||
ASSERT_TRUE(CreatePeerConnectionWrappers());
|
|
||||||
RtpTransceiverInit init;
|
|
||||||
init.send_encodings.push_back({});
|
|
||||||
init.send_encodings[0].max_bitrate_bps = 12345;
|
|
||||||
auto result = caller()->pc()->AddTransceiver(cricket::MEDIA_TYPE_VIDEO, init);
|
|
||||||
auto transceiver = result.MoveValue();
|
|
||||||
auto parameters = transceiver->sender()->GetParameters();
|
|
||||||
ASSERT_EQ(parameters.encodings.size(), 1u);
|
|
||||||
EXPECT_EQ(parameters.encodings[0].max_bitrate_bps, 12345);
|
|
||||||
}
|
|
||||||
|
|
||||||
INSTANTIATE_TEST_SUITE_P(
|
INSTANTIATE_TEST_SUITE_P(
|
||||||
PeerConnectionIntegrationTest,
|
PeerConnectionIntegrationTest,
|
||||||
PeerConnectionIntegrationTest,
|
PeerConnectionIntegrationTest,
|
||||||
|
|
|
@ -150,11 +150,10 @@ RtpTransmissionManager::AddTrackPlanB(
|
||||||
(track->kind() == MediaStreamTrackInterface::kAudioKind
|
(track->kind() == MediaStreamTrackInterface::kAudioKind
|
||||||
? cricket::MEDIA_TYPE_AUDIO
|
? cricket::MEDIA_TYPE_AUDIO
|
||||||
: cricket::MEDIA_TYPE_VIDEO);
|
: cricket::MEDIA_TYPE_VIDEO);
|
||||||
auto new_sender = CreateSender(
|
auto new_sender =
|
||||||
media_type, track->id(), track, adjusted_stream_ids,
|
CreateSender(media_type, track->id(), track, adjusted_stream_ids,
|
||||||
init_send_encodings
|
init_send_encodings ? *init_send_encodings
|
||||||
? *init_send_encodings
|
: std::vector<RtpEncodingParameters>());
|
||||||
: std::vector<RtpEncodingParameters>(1, RtpEncodingParameters{}));
|
|
||||||
if (track->kind() == MediaStreamTrackInterface::kAudioKind) {
|
if (track->kind() == MediaStreamTrackInterface::kAudioKind) {
|
||||||
new_sender->internal()->SetMediaChannel(voice_media_send_channel());
|
new_sender->internal()->SetMediaChannel(voice_media_send_channel());
|
||||||
GetAudioTransceiver()->internal()->AddSender(new_sender);
|
GetAudioTransceiver()->internal()->AddSender(new_sender);
|
||||||
|
@ -218,11 +217,10 @@ RtpTransmissionManager::AddTrackUnifiedPlan(
|
||||||
if (FindSenderById(sender_id)) {
|
if (FindSenderById(sender_id)) {
|
||||||
sender_id = rtc::CreateRandomUuid();
|
sender_id = rtc::CreateRandomUuid();
|
||||||
}
|
}
|
||||||
auto sender = CreateSender(
|
auto sender = CreateSender(media_type, sender_id, track, stream_ids,
|
||||||
media_type, sender_id, track, stream_ids,
|
init_send_encodings
|
||||||
init_send_encodings
|
? *init_send_encodings
|
||||||
? *init_send_encodings
|
: std::vector<RtpEncodingParameters>());
|
||||||
: std::vector<RtpEncodingParameters>(1, RtpEncodingParameters{}));
|
|
||||||
auto receiver = CreateReceiver(media_type, rtc::CreateRandomUuid());
|
auto receiver = CreateReceiver(media_type, rtc::CreateRandomUuid());
|
||||||
transceiver = CreateAndAddTransceiver(sender, receiver);
|
transceiver = CreateAndAddTransceiver(sender, receiver);
|
||||||
transceiver->internal()->set_created_by_addtrack(true);
|
transceiver->internal()->set_created_by_addtrack(true);
|
||||||
|
@ -413,7 +411,7 @@ void RtpTransmissionManager::AddAudioTrack(AudioTrackInterface* track,
|
||||||
// Normal case; we've never seen this track before.
|
// Normal case; we've never seen this track before.
|
||||||
auto new_sender = CreateSender(cricket::MEDIA_TYPE_AUDIO, track->id(),
|
auto new_sender = CreateSender(cricket::MEDIA_TYPE_AUDIO, track->id(),
|
||||||
rtc::scoped_refptr<AudioTrackInterface>(track),
|
rtc::scoped_refptr<AudioTrackInterface>(track),
|
||||||
{stream->id()}, {{}});
|
{stream->id()}, {});
|
||||||
new_sender->internal()->SetMediaChannel(voice_media_send_channel());
|
new_sender->internal()->SetMediaChannel(voice_media_send_channel());
|
||||||
GetAudioTransceiver()->internal()->AddSender(new_sender);
|
GetAudioTransceiver()->internal()->AddSender(new_sender);
|
||||||
// If the sender has already been configured in SDP, we call SetSsrc,
|
// If the sender has already been configured in SDP, we call SetSsrc,
|
||||||
|
@ -460,7 +458,7 @@ void RtpTransmissionManager::AddVideoTrack(VideoTrackInterface* track,
|
||||||
// Normal case; we've never seen this track before.
|
// Normal case; we've never seen this track before.
|
||||||
auto new_sender = CreateSender(cricket::MEDIA_TYPE_VIDEO, track->id(),
|
auto new_sender = CreateSender(cricket::MEDIA_TYPE_VIDEO, track->id(),
|
||||||
rtc::scoped_refptr<VideoTrackInterface>(track),
|
rtc::scoped_refptr<VideoTrackInterface>(track),
|
||||||
{stream->id()}, {{}});
|
{stream->id()}, {});
|
||||||
new_sender->internal()->SetMediaChannel(video_media_send_channel());
|
new_sender->internal()->SetMediaChannel(video_media_send_channel());
|
||||||
GetVideoTransceiver()->internal()->AddSender(new_sender);
|
GetVideoTransceiver()->internal()->AddSender(new_sender);
|
||||||
const RtpSenderInfo* sender_info =
|
const RtpSenderInfo* sender_info =
|
||||||
|
|
Loading…
Reference in a new issue