-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Filter codecs preferences on transceiver direction #3018
Conversation
amendments.json
Outdated
"webrtc/RTCRtpTransceiver-setCodecPreferences-direction.html" | ||
], | ||
"testUpdates": [ | ||
"web-platform-tests/wpt#1234" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs updating to a real test and WPT PR, just put in a dummy value for the time being
webrtc.html
Outdated
remote peer. The local peer MUST be prepared to receive any | ||
codec that has been negotiated, even ones not first in the | ||
list. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should avoid competing normative language with JSEP. One way might be to put explanations in non-normative notes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed these to notes and tried to be more clear
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PTAL @jan-ivar I believe I addressed your comments
webrtc.html
Outdated
remote peer. The local peer MUST be prepared to receive any | ||
codec that has been negotiated, even ones not first in the | ||
list. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed these to notes and tried to be more clear
@jan-ivar Have I addressed your feedback? If you could take a look before the editor's meeting |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I might add another note to cover the surprising case if the answerer receives a recvonly offer: in this case it's too late for the answerer to use setCodecPreferences to set what to send, and they need to use setParameters instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
quoting @henbos
Add real test before landing!
(marking this as requesting changes to make sure this doesn't get overlooked)
According to PR[1], setCodecPreferences() should accept any codec that is *either* in in RTCRtpSender.getCapabilities() *or* RTCRtpReceiver.getCapabilities(); the actual filtering happens when the SDP is generated based on the transceiver direction. This makes it possible for a sendonly transceiver to offer a sendonly codec and for a recvonly transceiver to offer a recvonly codec, as opposed to forcing that all codecs must be receive-capable at createOffer() time which is the old and currently implemented behavior, hence the failing test. (In the old model, pc1 would be forced to not have any preferences and pc2 be forced to call setCodecPreferences() before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) Due to the limitation that on a local page both pc1 and pc2 have the same capabilities, the remote SDP is modified to make pc1 think that pc2 supports the codec being negotiated in the other direction. Because getCapabilities() is device-specific, we skip the tests (using [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional H264) is not supported but the tests work e.g. on MacBook M1 Pro. [1] w3c/webrtc-pc#3018 Bug: chromium:379551577 Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389353}
According to PR[1], setCodecPreferences() should accept any codec that is *either* in in RTCRtpSender.getCapabilities() *or* RTCRtpReceiver.getCapabilities(); the actual filtering happens when the SDP is generated based on the transceiver direction. This makes it possible for a sendonly transceiver to offer a sendonly codec and for a recvonly transceiver to offer a recvonly codec, as opposed to forcing that all codecs must be receive-capable at createOffer() time which is the old and currently implemented behavior, hence the failing test. (In the old model, pc1 would be forced to not have any preferences and pc2 be forced to call setCodecPreferences() before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) Due to the limitation that on a local page both pc1 and pc2 have the same capabilities, the remote SDP is modified to make pc1 think that pc2 supports the codec being negotiated in the other direction. Because getCapabilities() is device-specific, we skip the tests (using [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional H264) is not supported but the tests work e.g. on MacBook M1 Pro. [1] w3c/webrtc-pc#3018 Bug: chromium:379551577 Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389353}
@dontcallmedom PTAL can you please approve (remove "Changes requested") now that test coverage has been added? See https://github.com/web-platform-tests/wpt/pull/49421/files |
According to PR[1], setCodecPreferences() should accept any codec that is *either* in in RTCRtpSender.getCapabilities() *or* RTCRtpReceiver.getCapabilities(); the actual filtering happens when the SDP is generated based on the transceiver direction. This makes it possible for a sendonly transceiver to offer a sendonly codec and for a recvonly transceiver to offer a recvonly codec, as opposed to forcing that all codecs must be receive-capable at createOffer() time which is the old and currently implemented behavior, hence the failing test. (In the old model, pc1 would be forced to not have any preferences and pc2 be forced to call setCodecPreferences() before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) Due to the limitation that on a local page both pc1 and pc2 have the same capabilities, the remote SDP is modified to make pc1 think that pc2 supports the codec being negotiated in the other direction. Because getCapabilities() is device-specific, we skip the tests (using [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional H264) is not supported but the tests work e.g. on MacBook M1 Pro. [1] w3c/webrtc-pc#3018 Bug: chromium:379551577 Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389353}
This reverts commit 6d384616505dd60b218e392d1e03836d4965248d. Reason for revert: Test is failing on some bots. e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/3110/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577 Change-Id: I41642a6db0ae4dc205be3f1147a179f9642fa841 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6057098 Auto-Submit: Yi Gu <[email protected]> Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Rubber Stamper <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389544}
This reverts commit 6d384616505dd60b218e392d1e03836d4965248d. Reason for revert: Test is failing on some bots. e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/3110/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577 Change-Id: I41642a6db0ae4dc205be3f1147a179f9642fa841 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6057098 Auto-Submit: Yi Gu <[email protected]> Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Rubber Stamper <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389544}
This is a reland of commit 6d38461 --- TO SHERIFFS: If this fails on other bots not covered by expectations, please update TestExpectations and CC hbos rather than reverting CL. --- Depending on HW capabilities of the bot running, these tests will either run or "skip" as [PRECONDITION_FAILED]. In particular, the send-only test case is either expected to FAIL or to [PRECONDITION_FAILED]. On the Windows bot on the CQ it [PRECONDITION_FAILED] but on waterfall bot win11-arm64-rel it FAILs instead[1]. This is not a bug, it's just a matter of needing to update test expectations. Let's reland with TestExpectations of win11 PASS/FAIL to allow both CQ and waterfall behavior. If this sticks we can try replacing that with third_party/blink/web_tests/platform/win11-arm64/ specific -expected.txt files but let's make sure the baseline test coverage is not reverted first. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/b8730008657167826369/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577, chromium:381378075 Change-Id: I54608d45d259bafde375fdb8da371ca45e69e5f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054131 Auto-Submit: Henrik Boström <[email protected]> Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389697}
This is a reland of commit 6d384616505dd60b218e392d1e03836d4965248d --- TO SHERIFFS: If this fails on other bots not covered by expectations, please update TestExpectations and CC hbos rather than reverting CL. --- Depending on HW capabilities of the bot running, these tests will either run or "skip" as [PRECONDITION_FAILED]. In particular, the send-only test case is either expected to FAIL or to [PRECONDITION_FAILED]. On the Windows bot on the CQ it [PRECONDITION_FAILED] but on waterfall bot win11-arm64-rel it FAILs instead[1]. This is not a bug, it's just a matter of needing to update test expectations. Let's reland with TestExpectations of win11 PASS/FAIL to allow both CQ and waterfall behavior. If this sticks we can try replacing that with third_party/blink/web_tests/platform/win11-arm64/ specific -expected.txt files but let's make sure the baseline test coverage is not reverted first. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/b8730008657167826369/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577, chromium:381378075 Change-Id: I54608d45d259bafde375fdb8da371ca45e69e5f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054131 Auto-Submit: Henrik Boström <[email protected]> Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389697}
This is a reland of commit 6d384616505dd60b218e392d1e03836d4965248d --- TO SHERIFFS: If this fails on other bots not covered by expectations, please update TestExpectations and CC hbos rather than reverting CL. --- Depending on HW capabilities of the bot running, these tests will either run or "skip" as [PRECONDITION_FAILED]. In particular, the send-only test case is either expected to FAIL or to [PRECONDITION_FAILED]. On the Windows bot on the CQ it [PRECONDITION_FAILED] but on waterfall bot win11-arm64-rel it FAILs instead[1]. This is not a bug, it's just a matter of needing to update test expectations. Let's reland with TestExpectations of win11 PASS/FAIL to allow both CQ and waterfall behavior. If this sticks we can try replacing that with third_party/blink/web_tests/platform/win11-arm64/ specific -expected.txt files but let's make sure the baseline test coverage is not reverted first. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/b8730008657167826369/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577, chromium:381378075 Change-Id: I54608d45d259bafde375fdb8da371ca45e69e5f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054131 Auto-Submit: Henrik Boström <[email protected]> Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389697}
… WPT using H264., a=testonly Automatic update from web-platform-tests Add unidirectional codec test support in WPT using H264. According to PR[1], setCodecPreferences() should accept any codec that is *either* in in RTCRtpSender.getCapabilities() *or* RTCRtpReceiver.getCapabilities(); the actual filtering happens when the SDP is generated based on the transceiver direction. This makes it possible for a sendonly transceiver to offer a sendonly codec and for a recvonly transceiver to offer a recvonly codec, as opposed to forcing that all codecs must be receive-capable at createOffer() time which is the old and currently implemented behavior, hence the failing test. (In the old model, pc1 would be forced to not have any preferences and pc2 be forced to call setCodecPreferences() before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) Due to the limitation that on a local page both pc1 and pc2 have the same capabilities, the remote SDP is modified to make pc1 think that pc2 supports the codec being negotiated in the other direction. Because getCapabilities() is device-specific, we skip the tests (using [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional H264) is not supported but the tests work e.g. on MacBook M1 Pro. [1] w3c/webrtc-pc#3018 Bug: chromium:379551577 Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389353} -- wpt-commits: ddf44d056006ca40eb5e3ca8958eab4a627c5a42 wpt-pr: 49421
… WPT using H264., a=testonly Automatic update from web-platform-tests Add unidirectional codec test support in WPT using H264. According to PR[1], setCodecPreferences() should accept any codec that is *either* in in RTCRtpSender.getCapabilities() *or* RTCRtpReceiver.getCapabilities(); the actual filtering happens when the SDP is generated based on the transceiver direction. This makes it possible for a sendonly transceiver to offer a sendonly codec and for a recvonly transceiver to offer a recvonly codec, as opposed to forcing that all codecs must be receive-capable at createOffer() time which is the old and currently implemented behavior, hence the failing test. (In the old model, pc1 would be forced to not have any preferences and pc2 be forced to call setCodecPreferences() before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) Due to the limitation that on a local page both pc1 and pc2 have the same capabilities, the remote SDP is modified to make pc1 think that pc2 supports the codec being negotiated in the other direction. Because getCapabilities() is device-specific, we skip the tests (using [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional H264) is not supported but the tests work e.g. on MacBook M1 Pro. [1] w3c/webrtc-pc#3018 Bug: chromium:379551577 Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389353} -- wpt-commits: ddf44d056006ca40eb5e3ca8958eab4a627c5a42 wpt-pr: 49421
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Revert "Add unidirectional codec test support in WPT using H264." This reverts commit 6d384616505dd60b218e392d1e03836d4965248d. Reason for revert: Test is failing on some bots. e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/3110/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577 Change-Id: I41642a6db0ae4dc205be3f1147a179f9642fa841 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6057098 Auto-Submit: Yi Gu <[email protected]> Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Rubber Stamper <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389544} -- wpt-commits: bc6fbf467e196c4f03484768c494284c8a9c3dd4 wpt-pr: 49428
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Reland "Add unidirectional codec test support in WPT using H264." This is a reland of commit 6d384616505dd60b218e392d1e03836d4965248d --- TO SHERIFFS: If this fails on other bots not covered by expectations, please update TestExpectations and CC hbos rather than reverting CL. --- Depending on HW capabilities of the bot running, these tests will either run or "skip" as [PRECONDITION_FAILED]. In particular, the send-only test case is either expected to FAIL or to [PRECONDITION_FAILED]. On the Windows bot on the CQ it [PRECONDITION_FAILED] but on waterfall bot win11-arm64-rel it FAILs instead[1]. This is not a bug, it's just a matter of needing to update test expectations. Let's reland with TestExpectations of win11 PASS/FAIL to allow both CQ and waterfall behavior. If this sticks we can try replacing that with third_party/blink/web_tests/platform/win11-arm64/ specific -expected.txt files but let's make sure the baseline test coverage is not reverted first. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/b8730008657167826369/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577, chromium:381378075 Change-Id: I54608d45d259bafde375fdb8da371ca45e69e5f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054131 Auto-Submit: Henrik Boström <[email protected]> Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389697} -- wpt-commits: b6af0e5b8ce153c42623baac8e33bb341e33aa18 wpt-pr: 49438
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Revert "Add unidirectional codec test support in WPT using H264." This reverts commit 6d384616505dd60b218e392d1e03836d4965248d. Reason for revert: Test is failing on some bots. e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/3110/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577 Change-Id: I41642a6db0ae4dc205be3f1147a179f9642fa841 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6057098 Auto-Submit: Yi Gu <[email protected]> Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Rubber Stamper <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389544} -- wpt-commits: bc6fbf467e196c4f03484768c494284c8a9c3dd4 wpt-pr: 49428
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Reland "Add unidirectional codec test support in WPT using H264." This is a reland of commit 6d384616505dd60b218e392d1e03836d4965248d --- TO SHERIFFS: If this fails on other bots not covered by expectations, please update TestExpectations and CC hbos rather than reverting CL. --- Depending on HW capabilities of the bot running, these tests will either run or "skip" as [PRECONDITION_FAILED]. In particular, the send-only test case is either expected to FAIL or to [PRECONDITION_FAILED]. On the Windows bot on the CQ it [PRECONDITION_FAILED] but on waterfall bot win11-arm64-rel it FAILs instead[1]. This is not a bug, it's just a matter of needing to update test expectations. Let's reland with TestExpectations of win11 PASS/FAIL to allow both CQ and waterfall behavior. If this sticks we can try replacing that with third_party/blink/web_tests/platform/win11-arm64/ specific -expected.txt files but let's make sure the baseline test coverage is not reverted first. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/b8730008657167826369/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <[email protected]> > Commit-Queue: Henrik Boström <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1389353} Bug: chromium:379551577, chromium:381378075 Change-Id: I54608d45d259bafde375fdb8da371ca45e69e5f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054131 Auto-Submit: Henrik Boström <[email protected]> Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Harald Alvestrand <[email protected]> Commit-Queue: Henrik Boström <[email protected]> Cr-Commit-Position: refs/heads/main@{#1389697} -- wpt-commits: b6af0e5b8ce153c42623baac8e33bb341e33aa18 wpt-pr: 49438
… WPT using H264., a=testonly Automatic update from web-platform-tests Add unidirectional codec test support in WPT using H264. According to PR[1], setCodecPreferences() should accept any codec that is *either* in in RTCRtpSender.getCapabilities() *or* RTCRtpReceiver.getCapabilities(); the actual filtering happens when the SDP is generated based on the transceiver direction. This makes it possible for a sendonly transceiver to offer a sendonly codec and for a recvonly transceiver to offer a recvonly codec, as opposed to forcing that all codecs must be receive-capable at createOffer() time which is the old and currently implemented behavior, hence the failing test. (In the old model, pc1 would be forced to not have any preferences and pc2 be forced to call setCodecPreferences() before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) Due to the limitation that on a local page both pc1 and pc2 have the same capabilities, the remote SDP is modified to make pc1 think that pc2 supports the codec being negotiated in the other direction. Because getCapabilities() is device-specific, we skip the tests (using [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional H264) is not supported but the tests work e.g. on MacBook M1 Pro. [1] w3c/webrtc-pc#3018 Bug: chromium:379551577 Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 Reviewed-by: Harald Alvestrand <htachromium.org> Commit-Queue: Henrik Boström <hboschromium.org> Cr-Commit-Position: refs/heads/main{#1389353} -- wpt-commits: ddf44d056006ca40eb5e3ca8958eab4a627c5a42 wpt-pr: 49421 UltraBlame original commit: 71f23cc2779b6e630c24904bff9f13459d998edd
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Revert "Add unidirectional codec test support in WPT using H264." This reverts commit 6d384616505dd60b218e392d1e03836d4965248d. Reason for revert: Test is failing on some bots. e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/3110/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <htachromium.org> > Commit-Queue: Henrik Boström <hboschromium.org> > Cr-Commit-Position: refs/heads/main{#1389353} Bug: chromium:379551577 Change-Id: I41642a6db0ae4dc205be3f1147a179f9642fa841 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6057098 Auto-Submit: Yi Gu <yiguchromium.org> Bot-Commit: Rubber Stamper <rubber-stamperappspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamperappspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main{#1389544} -- wpt-commits: bc6fbf467e196c4f03484768c494284c8a9c3dd4 wpt-pr: 49428 UltraBlame original commit: dbbe286aa13433bd0bf2ae4b4767c4b87d9cfd05
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Reland "Add unidirectional codec test support in WPT using H264." This is a reland of commit 6d384616505dd60b218e392d1e03836d4965248d --- TO SHERIFFS: If this fails on other bots not covered by expectations, please update TestExpectations and CC hbos rather than reverting CL. --- Depending on HW capabilities of the bot running, these tests will either run or "skip" as [PRECONDITION_FAILED]. In particular, the send-only test case is either expected to FAIL or to [PRECONDITION_FAILED]. On the Windows bot on the CQ it [PRECONDITION_FAILED] but on waterfall bot win11-arm64-rel it FAILs instead[1]. This is not a bug, it's just a matter of needing to update test expectations. Let's reland with TestExpectations of win11 PASS/FAIL to allow both CQ and waterfall behavior. If this sticks we can try replacing that with third_party/blink/web_tests/platform/win11-arm64/ specific -expected.txt files but let's make sure the baseline test coverage is not reverted first. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/b8730008657167826369/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <htachromium.org> > Commit-Queue: Henrik Boström <hboschromium.org> > Cr-Commit-Position: refs/heads/main{#1389353} Bug: chromium:379551577, chromium:381378075 Change-Id: I54608d45d259bafde375fdb8da371ca45e69e5f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054131 Auto-Submit: Henrik Boström <hboschromium.org> Reviewed-by: Harald Alvestrand <htachromium.org> Commit-Queue: Harald Alvestrand <htachromium.org> Commit-Queue: Henrik Boström <hboschromium.org> Cr-Commit-Position: refs/heads/main{#1389697} -- wpt-commits: b6af0e5b8ce153c42623baac8e33bb341e33aa18 wpt-pr: 49438 UltraBlame original commit: fcb351942a5c6746bc7320c52069e801bda35699
… WPT using H264., a=testonly Automatic update from web-platform-tests Add unidirectional codec test support in WPT using H264. According to PR[1], setCodecPreferences() should accept any codec that is *either* in in RTCRtpSender.getCapabilities() *or* RTCRtpReceiver.getCapabilities(); the actual filtering happens when the SDP is generated based on the transceiver direction. This makes it possible for a sendonly transceiver to offer a sendonly codec and for a recvonly transceiver to offer a recvonly codec, as opposed to forcing that all codecs must be receive-capable at createOffer() time which is the old and currently implemented behavior, hence the failing test. (In the old model, pc1 would be forced to not have any preferences and pc2 be forced to call setCodecPreferences() before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) Due to the limitation that on a local page both pc1 and pc2 have the same capabilities, the remote SDP is modified to make pc1 think that pc2 supports the codec being negotiated in the other direction. Because getCapabilities() is device-specific, we skip the tests (using [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional H264) is not supported but the tests work e.g. on MacBook M1 Pro. [1] w3c/webrtc-pc#3018 Bug: chromium:379551577 Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 Reviewed-by: Harald Alvestrand <htachromium.org> Commit-Queue: Henrik Boström <hboschromium.org> Cr-Commit-Position: refs/heads/main{#1389353} -- wpt-commits: ddf44d056006ca40eb5e3ca8958eab4a627c5a42 wpt-pr: 49421 UltraBlame original commit: 71f23cc2779b6e630c24904bff9f13459d998edd
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Revert "Add unidirectional codec test support in WPT using H264." This reverts commit 6d384616505dd60b218e392d1e03836d4965248d. Reason for revert: Test is failing on some bots. e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/3110/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <htachromium.org> > Commit-Queue: Henrik Boström <hboschromium.org> > Cr-Commit-Position: refs/heads/main{#1389353} Bug: chromium:379551577 Change-Id: I41642a6db0ae4dc205be3f1147a179f9642fa841 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6057098 Auto-Submit: Yi Gu <yiguchromium.org> Bot-Commit: Rubber Stamper <rubber-stamperappspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamperappspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main{#1389544} -- wpt-commits: bc6fbf467e196c4f03484768c494284c8a9c3dd4 wpt-pr: 49428 UltraBlame original commit: dbbe286aa13433bd0bf2ae4b4767c4b87d9cfd05
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Reland "Add unidirectional codec test support in WPT using H264." This is a reland of commit 6d384616505dd60b218e392d1e03836d4965248d --- TO SHERIFFS: If this fails on other bots not covered by expectations, please update TestExpectations and CC hbos rather than reverting CL. --- Depending on HW capabilities of the bot running, these tests will either run or "skip" as [PRECONDITION_FAILED]. In particular, the send-only test case is either expected to FAIL or to [PRECONDITION_FAILED]. On the Windows bot on the CQ it [PRECONDITION_FAILED] but on waterfall bot win11-arm64-rel it FAILs instead[1]. This is not a bug, it's just a matter of needing to update test expectations. Let's reland with TestExpectations of win11 PASS/FAIL to allow both CQ and waterfall behavior. If this sticks we can try replacing that with third_party/blink/web_tests/platform/win11-arm64/ specific -expected.txt files but let's make sure the baseline test coverage is not reverted first. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/b8730008657167826369/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <htachromium.org> > Commit-Queue: Henrik Boström <hboschromium.org> > Cr-Commit-Position: refs/heads/main{#1389353} Bug: chromium:379551577, chromium:381378075 Change-Id: I54608d45d259bafde375fdb8da371ca45e69e5f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054131 Auto-Submit: Henrik Boström <hboschromium.org> Reviewed-by: Harald Alvestrand <htachromium.org> Commit-Queue: Harald Alvestrand <htachromium.org> Commit-Queue: Henrik Boström <hboschromium.org> Cr-Commit-Position: refs/heads/main{#1389697} -- wpt-commits: b6af0e5b8ce153c42623baac8e33bb341e33aa18 wpt-pr: 49438 UltraBlame original commit: fcb351942a5c6746bc7320c52069e801bda35699
… WPT using H264., a=testonly Automatic update from web-platform-tests Add unidirectional codec test support in WPT using H264. According to PR[1], setCodecPreferences() should accept any codec that is *either* in in RTCRtpSender.getCapabilities() *or* RTCRtpReceiver.getCapabilities(); the actual filtering happens when the SDP is generated based on the transceiver direction. This makes it possible for a sendonly transceiver to offer a sendonly codec and for a recvonly transceiver to offer a recvonly codec, as opposed to forcing that all codecs must be receive-capable at createOffer() time which is the old and currently implemented behavior, hence the failing test. (In the old model, pc1 would be forced to not have any preferences and pc2 be forced to call setCodecPreferences() before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) Due to the limitation that on a local page both pc1 and pc2 have the same capabilities, the remote SDP is modified to make pc1 think that pc2 supports the codec being negotiated in the other direction. Because getCapabilities() is device-specific, we skip the tests (using [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional H264) is not supported but the tests work e.g. on MacBook M1 Pro. [1] w3c/webrtc-pc#3018 Bug: chromium:379551577 Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 Reviewed-by: Harald Alvestrand <htachromium.org> Commit-Queue: Henrik Boström <hboschromium.org> Cr-Commit-Position: refs/heads/main{#1389353} -- wpt-commits: ddf44d056006ca40eb5e3ca8958eab4a627c5a42 wpt-pr: 49421 UltraBlame original commit: 71f23cc2779b6e630c24904bff9f13459d998edd
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Revert "Add unidirectional codec test support in WPT using H264." This reverts commit 6d384616505dd60b218e392d1e03836d4965248d. Reason for revert: Test is failing on some bots. e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/3110/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <htachromium.org> > Commit-Queue: Henrik Boström <hboschromium.org> > Cr-Commit-Position: refs/heads/main{#1389353} Bug: chromium:379551577 Change-Id: I41642a6db0ae4dc205be3f1147a179f9642fa841 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6057098 Auto-Submit: Yi Gu <yiguchromium.org> Bot-Commit: Rubber Stamper <rubber-stamperappspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamperappspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main{#1389544} -- wpt-commits: bc6fbf467e196c4f03484768c494284c8a9c3dd4 wpt-pr: 49428 UltraBlame original commit: dbbe286aa13433bd0bf2ae4b4767c4b87d9cfd05
…pport in WPT using H264.", a=testonly Automatic update from web-platform-tests Reland "Add unidirectional codec test support in WPT using H264." This is a reland of commit 6d384616505dd60b218e392d1e03836d4965248d --- TO SHERIFFS: If this fails on other bots not covered by expectations, please update TestExpectations and CC hbos rather than reverting CL. --- Depending on HW capabilities of the bot running, these tests will either run or "skip" as [PRECONDITION_FAILED]. In particular, the send-only test case is either expected to FAIL or to [PRECONDITION_FAILED]. On the Windows bot on the CQ it [PRECONDITION_FAILED] but on waterfall bot win11-arm64-rel it FAILs instead[1]. This is not a bug, it's just a matter of needing to update test expectations. Let's reland with TestExpectations of win11 PASS/FAIL to allow both CQ and waterfall behavior. If this sticks we can try replacing that with third_party/blink/web_tests/platform/win11-arm64/ specific -expected.txt files but let's make sure the baseline test coverage is not reverted first. [1] https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/b8730008657167826369/overview Original change's description: > Add unidirectional codec test support in WPT using H264. > > According to PR[1], setCodecPreferences() should accept any codec that > is *either* in in RTCRtpSender.getCapabilities() *or* > RTCRtpReceiver.getCapabilities(); the actual filtering happens when the > SDP is generated based on the transceiver direction. > > This makes it possible for a sendonly transceiver to offer a sendonly > codec and for a recvonly transceiver to offer a recvonly codec, as > opposed to forcing that all codecs must be receive-capable at > createOffer() time which is the old and currently implemented behavior, > hence the failing test. (In the old model, pc1 would be forced to not > have any preferences and pc2 be forced to call setCodecPreferences() > before createAnswer() on behalf of pc1 in case that pc1 is sendonly.) > > Due to the limitation that on a local page both pc1 and pc2 have the > same capabilities, the remote SDP is modified to make pc1 think that > pc2 supports the codec being negotiated in the other direction. > > Because getCapabilities() is device-specific, we skip the tests (using > [PRECONDITION_FAILED]) if the necessary capabilities (= unidirectional > H264) is not supported but the tests work e.g. on MacBook M1 Pro. > > [1] w3c/webrtc-pc#3018 > > Bug: chromium:379551577 > Change-Id: I4e1ce5371db66de83d42cbd2ba2eca5d703661d3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054227 > Reviewed-by: Harald Alvestrand <htachromium.org> > Commit-Queue: Henrik Boström <hboschromium.org> > Cr-Commit-Position: refs/heads/main{#1389353} Bug: chromium:379551577, chromium:381378075 Change-Id: I54608d45d259bafde375fdb8da371ca45e69e5f3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054131 Auto-Submit: Henrik Boström <hboschromium.org> Reviewed-by: Harald Alvestrand <htachromium.org> Commit-Queue: Harald Alvestrand <htachromium.org> Commit-Queue: Henrik Boström <hboschromium.org> Cr-Commit-Position: refs/heads/main{#1389697} -- wpt-commits: b6af0e5b8ce153c42623baac8e33bb341e33aa18 wpt-pr: 49438 UltraBlame original commit: fcb351942a5c6746bc7320c52069e801bda35699
Fixes #3006.
As decided by the WG, this PR implements Proposal A at TPAC, i.e:
This is supported via filtering based on RTCRtpTransceiver.direction. In addition, the case where filtering results in an empty codec preferences this is treated as "no preference" as per Proposal A at Virtual Interim.
Preview | Diff