Revert "Reland "Reland "Distinguish between send and receive codecs"""

This reverts commit 9bac68c0cc4444b852416396f0e0f31ea66a9cfe.

Reason for revert: Breaks perf test on iOS.

Original change's description:
> Reland "Reland "Distinguish between send and receive codecs""
> 
> This reverts commit 00a30873c415d717af8dcdf21c2df7fd4b6d1ed2.
> 
> Reason for revert: Flaky test in Chromium fixed.
> 
> Original change's description:
> > Revert "Reland "Distinguish between send and receive codecs""
> > 
> > This reverts commit 133bf2bd28596aab5c7684e0ea3da99b1fece77f.
> > 
> > Reason for revert: Breaks Chromium import due to flaky test in Chromium.
> > 
> > Original change's description:
> > > Reland "Distinguish between send and receive codecs"
> > > 
> > > This reverts commit e57b266a20334e47f105a0bd777190ec8c6562e8.
> > > 
> > > Reason for revert: Fixed negotiation of send-only clients.
> > > 
> > > Original change's description:
> > > > Revert "Distinguish between send and receive codecs"
> > > >
> > > > This reverts commit c0f25cf762a6946666c812f7a3df3f0a7f98b38d.
> > > >
> > > > Reason for revert: breaks negotiation with send-only clients
> > > >
> > > > (webrtc_video_engine.cc:985): SetRecvParameters called with unsupported video codec: VideoCodec[96:H264]
> > > > (peer_connection.cc:6043): Failed to set local video description recv parameters. (INVALID_PARAMETER)
> > > > (peer_connection.cc:2591): Failed to set local offer sdp: Failed to set local video description recv parameters.
> > > >
> > > > Original change's description:
> > > > > Distinguish between send and receive codecs
> > > > >
> > > > > Even though send and receive codecs may be the same, they might have
> > > > > different support in HW. Distinguish between send and receive codecs
> > > > > to be able to keep track of which codecs have HW support.
> > > > >
> > > > > Bug: chromium:1029737
> > > > > Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
> > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30284}
> > > >
> > > > TBR=steveanton@webrtc.org,kron@webrtc.org
> > > >
> > > > Change-Id: Iacb7059436b2313b52577b65f164ee363c4816aa
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: chromium:1029737
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166420
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Commit-Queue: Steve Anton <steveanton@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30292}
> > > 
> > > TBR=steveanton@webrtc.org,kron@webrtc.org
> > > 
> > > 
> > > Bug: chromium:1029737
> > > Change-Id: I287efcfdcd1c9a3f2c410aeec8fe26a84204d1fd
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166604
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30348}
> > 
> > TBR=steveanton@webrtc.org,kron@webrtc.org
> > 
> > Change-Id: I9f8731309749e07ce7e651e1550ecfabddb1735f
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167205
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30360}
> 
> TBR=steveanton@webrtc.org,kron@webrtc.org
> 
> Change-Id: I1cc2d83bd884f10685503a9c31288f96c935d6a3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167206
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30367}

TBR=steveanton@webrtc.org,kron@webrtc.org

Change-Id: I0a9b0b58922ce7c558b3d31b64cc12086b2a6a55
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167364
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30373}
This commit is contained in:
Johannes Kron
2020-01-24 16:04:04 +00:00
committed by Commit Bot
parent b039c30157
commit a104ceb0ce
21 changed files with 336 additions and 633 deletions

View File

@ -993,8 +993,7 @@ bool VideoChannel::SetLocalContent_w(const MediaContentDescription* content,
VideoSendParameters send_params = last_send_params_;
bool needs_send_params_update = false;
if ((type == SdpType::kAnswer || type == SdpType::kPrAnswer) &&
webrtc::RtpTransceiverDirectionHasSend(video->direction())) {
if (type == SdpType::kAnswer || type == SdpType::kPrAnswer) {
for (auto& send_codec : send_params.codecs) {
auto* recv_codec = FindMatchingCodec(recv_params.codecs, send_codec);
if (recv_codec) {
@ -1011,13 +1010,13 @@ bool VideoChannel::SetLocalContent_w(const MediaContentDescription* content,
}
}
if (webrtc::RtpTransceiverDirectionHasRecv(video->direction())) {
if (!media_channel()->SetRecvParameters(recv_params)) {
SafeSetError("Failed to set local video description recv parameters.",
error_desc);
return false;
}
if (!media_channel()->SetRecvParameters(recv_params)) {
SafeSetError("Failed to set local video description recv parameters.",
error_desc);
return false;
}
if (webrtc::RtpTransceiverDirectionHasRecv(video->direction())) {
for (const VideoCodec& codec : video->codecs()) {
AddHandledPayloadType(codec.id);
}
@ -1026,11 +1025,11 @@ bool VideoChannel::SetLocalContent_w(const MediaContentDescription* content,
RTC_LOG(LS_ERROR) << "Failed to set up video demuxing.";
return false;
}
last_recv_params_ = recv_params;
}
last_recv_params_ = recv_params;
if (needs_send_params_update) {
RTC_DCHECK(webrtc::RtpTransceiverDirectionHasSend(video->direction()));
if (!media_channel()->SetSendParameters(send_params)) {
SafeSetError("Failed to set send parameters.", error_desc);
return false;
@ -1080,10 +1079,7 @@ bool VideoChannel::SetRemoteContent_w(const MediaContentDescription* content,
VideoRecvParameters recv_params = last_recv_params_;
bool needs_recv_params_update = false;
// Require SEND direction for receive parameters since we're in
// SetRemoteContent_w.
if ((type == SdpType::kAnswer || type == SdpType::kPrAnswer) &&
webrtc::RtpTransceiverDirectionHasSend(video->direction())) {
if (type == SdpType::kAnswer || type == SdpType::kPrAnswer) {
for (auto& recv_codec : recv_params.codecs) {
auto* send_codec = FindMatchingCodec(send_params.codecs, recv_codec);
if (send_codec) {
@ -1100,19 +1096,14 @@ bool VideoChannel::SetRemoteContent_w(const MediaContentDescription* content,
}
}
// Require RECV direction for send parameters since we're in
// SetRemoteContent_w.
if (webrtc::RtpTransceiverDirectionHasRecv(video->direction())) {
if (!media_channel()->SetSendParameters(send_params)) {
SafeSetError("Failed to set remote video description send parameters.",
error_desc);
return false;
}
last_send_params_ = send_params;
if (!media_channel()->SetSendParameters(send_params)) {
SafeSetError("Failed to set remote video description send parameters.",
error_desc);
return false;
}
last_send_params_ = send_params;
if (needs_recv_params_update) {
RTC_DCHECK(webrtc::RtpTransceiverDirectionHasSend(video->direction()));
if (!media_channel()->SetRecvParameters(recv_params)) {
SafeSetError("Failed to set recv parameters.", error_desc);
return false;