Skip to content

Commit

Permalink
Merge pull request #409 from LibertyGlobal/jmanko/webrtc_upstream_intake
Browse files Browse the repository at this point in the history
ONEM-36369: Intake of recent WebRTC-related commits from upstream
  • Loading branch information
jacek-manko-red committed Aug 7, 2024
2 parents e4878d6 + 2df26fd commit cb064e9
Show file tree
Hide file tree
Showing 14,165 changed files with 2,529,020 additions and 766,838 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4843f46ea7b6b6e17470e670d9c9f748c3455720
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ PASS Got a stream.
PASS statsHandler2 was called
PASS result.size is >= 1
PASS timestamp is >= startTime
FAIL local.type should be video. Was certificate.
PASS local.kind is "video"
PASS successfullyParsed is true

TEST COMPLETE
Expand Down
12 changes: 10 additions & 2 deletions LayoutTests/fast/mediastream/RTCPeerConnection-statsSelector.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,18 @@
result = r;
testPassed("statsHandler2 was called");
shouldBeGreaterThanOrEqual('result.size', '1');
local = result.get(result.keys().next().value);
const values = result.values();
while (true) {
const iteratorValue = values.next();
if (iteratorValue.done)
break;
local = iteratorValue.value;
if (local.type === 'outbound-rtp')
break;
}
timestamp = local.timestamp;
shouldBeGreaterThanOrEqual('timestamp', 'startTime');
shouldBe('local.type', '"video"');
shouldBe('local.kind', '"video"');
finishJSTest();
}

Expand Down
3 changes: 3 additions & 0 deletions LayoutTests/http/tests/webcodecs/hevc-reordering-expected.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

PASS Test HEVC reordering

57 changes: 57 additions & 0 deletions LayoutTests/http/tests/webcodecs/hevc-reordering.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
</head>
<body>
<script>
let decoder;
promise_test(async () => {
const response = await fetch("/media-resources/media-source/content/test-bframes-hevc.mp4");
const buffer = await response.arrayBuffer();
const hvcCOffset = [705, 130];
const frames = [
[99, 3973, 46304],
[366, 50277, 4531],
[233, 54808, 1371],
[167, 56179, 379],
[133, 56558, 172],
[199, 56730, 120],
[300, 56850, 313],
[266, 57163, 112],
[333, 57275, 150],
[633, 57425, 6427]
];

let frameTimestamps = [];
decoder = new VideoDecoder({
output(frame) {
frameTimestamps.push(frame.timestamp);
frame.close();
},
error(e) {
console.log(e);
}
});
decoder.configure({
codec: 'hev1.1.6.L120.90',
codedWidth: 852,
codedHeight: 480,
visibleRect: {x: 0, y: 0, width: 852, height: 480},
displayWidth: 852,
displayHeight: 480,
format: 'hevc',
description: new Uint8Array(buffer, hvcCOffset[0], hvcCOffset[1])
});

chunks = frames.map((frame, i) => new EncodedVideoChunk({type: i == 0 ? 'key' : 'delta', timestamp: frame[0], duration: 1, data: new Uint8Array(buffer, frame[1], frame[2])}));

chunks.forEach(chunk => decoder.decode(chunk));
await decoder.flush();

assert_array_equals(frameTimestamps, frames.map(frame => frame[0]).sort((a,b) => a - b), "timestamps are ordered");
}, "Test HEVC reordering");
</script>
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ PASS Test that decodingInfo returns a valid MediaCapabilitiesInfo objects
PASS Test that decodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc video content type.
PASS Test that decodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc audio content type.
PASS Test that decodingInfo returns supported true for the codec audio/opus returned by RTCRtpReceiver.getCapabilities()
PASS Test that decodingInfo returns supported true for the codec audio/ISAC returned by RTCRtpReceiver.getCapabilities()
PASS Test that decodingInfo returns supported true for the codec audio/G722 returned by RTCRtpReceiver.getCapabilities()
PASS Test that decodingInfo returns supported true for the codec audio/PCMU returned by RTCRtpReceiver.getCapabilities()
PASS Test that decodingInfo returns supported true for the codec audio/PCMA returned by RTCRtpReceiver.getCapabilities()
Expand All @@ -23,4 +22,5 @@ PASS Test that decodingInfo returns supported true for the codec video/H265 retu
PASS Test that decodingInfo returns supported true for the codec video/VP8 returned by RTCRtpReceiver.getCapabilities()
PASS Test that decodingInfo returns supported true for the codec video/VP9; profile-id=0 returned by RTCRtpReceiver.getCapabilities()
PASS Test that decodingInfo returns supported true for the codec video/VP9; profile-id=2 returned by RTCRtpReceiver.getCapabilities()
PASS Test that decodingInfo returns supported true for the codec video/AV1 returned by RTCRtpReceiver.getCapabilities()

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ PASS Test that encodingInfo returns a valid MediaCapabilitiesInfo objects
PASS Test that encodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc video content type.
PASS Test that encodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc audio content type.
PASS Test that encodingInfo returns supported true for the codec audio/opus returned by RTCRtpSender.getCapabilities()
PASS Test that encodingInfo returns supported true for the codec audio/ISAC returned by RTCRtpSender.getCapabilities()
PASS Test that encodingInfo returns supported true for the codec audio/G722 returned by RTCRtpSender.getCapabilities()
PASS Test that encodingInfo returns supported true for the codec audio/PCMU returned by RTCRtpSender.getCapabilities()
PASS Test that encodingInfo returns supported true for the codec audio/PCMA returned by RTCRtpSender.getCapabilities()
Expand All @@ -23,4 +22,5 @@ PASS Test that encodingInfo returns supported true for the codec video/H265 retu
PASS Test that encodingInfo returns supported true for the codec video/VP8 returned by RTCRtpSender.getCapabilities()
PASS Test that encodingInfo returns supported true for the codec video/VP9; profile-id=0 returned by RTCRtpSender.getCapabilities()
PASS Test that encodingInfo returns supported true for the codec video/VP9; profile-id=2 returned by RTCRtpSender.getCapabilities()
PASS Test that encodingInfo returns supported true for the codec video/AV1 returned by RTCRtpSender.getCapabilities()

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

FAIL Add ICE candidate before setting remote description should reject with InvalidStateError promise_rejects_dom: function "function () { throw e }" threw object "OperationError: Error processing ICE candidate" that is not a DOMException InvalidStateError: property "code" is equal to 0, expected 11
PASS Add ICE candidate before setting remote description should reject with InvalidStateError
PASS addIceCandidate({"candidate":"","sdpMid":null,"sdpMLineIndex":null}) works
FAIL addIceCandidate({"candidate":"","sdpMid":null,"sdpMLineIndex":null}) adds a=end-of-candidates to both m-sections assert_true: Expect candidate line to be found between media lines m=audio and m=video expected true got false
PASS addIceCandidate(undefined) works
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

Harness Error (TIMEOUT), message = null

TIMEOUT Capturing a video element and sending it via PeerConnection Test timed out

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

PASS getStats succeeds
FAIL Validating stats assert_equals: Test error. String. expected "string" but got "undefined"
PASS Validating stats
PASS RTCRtpStreamStats's ssrc
PASS RTCRtpStreamStats's kind
PASS RTCRtpStreamStats's transportId
Expand All @@ -11,26 +11,26 @@ PASS RTCReceivedRtpStreamStats's jitter
PASS RTCReceivedRtpStreamStats's packetsDiscarded
PASS RTCReceivedRtpStreamStats's framesDropped
FAIL RTCInboundRtpStreamStats's receiverId assert_true: Is receiverId present expected true got false
FAIL RTCInboundRtpStreamStats's remoteId assert_true: Is remoteId present expected true got false
PASS RTCInboundRtpStreamStats's remoteId
PASS RTCInboundRtpStreamStats's framesDecoded
PASS RTCInboundRtpStreamStats's nackCount
PASS RTCInboundRtpStreamStats's framesReceived
PASS RTCInboundRtpStreamStats's bytesReceived
PASS RTCInboundRtpStreamStats's totalAudioEnergy
PASS RTCInboundRtpStreamStats's totalSamplesDuration
FAIL RTCRemoteInboundRtpStreamStats's localId assert_true: Is localId present expected true got false
FAIL RTCRemoteInboundRtpStreamStats's roundTripTime assert_true: Is roundTripTime present expected true got false
FAIL RTCSentRtpStreamStats's packetsSent assert_true: Is packetsSent present expected true got false
FAIL RTCSentRtpStreamStats's bytesSent assert_true: Is bytesSent present expected true got false
PASS RTCRemoteInboundRtpStreamStats's localId
PASS RTCRemoteInboundRtpStreamStats's roundTripTime
PASS RTCSentRtpStreamStats's packetsSent
PASS RTCSentRtpStreamStats's bytesSent
FAIL RTCOutboundRtpStreamStats's senderId assert_true: Is senderId present expected true got false
FAIL RTCOutboundRtpStreamStats's remoteId assert_true: Is remoteId present expected true got false
FAIL RTCOutboundRtpStreamStats's framesEncoded assert_true: Is framesEncoded present expected true got false
FAIL RTCOutboundRtpStreamStats's nackCount assert_true: Is nackCount present expected true got false
FAIL RTCOutboundRtpStreamStats's framesSent assert_true: Is framesSent present expected true got false
PASS RTCOutboundRtpStreamStats's remoteId
PASS RTCOutboundRtpStreamStats's framesEncoded
PASS RTCOutboundRtpStreamStats's nackCount
PASS RTCOutboundRtpStreamStats's framesSent
FAIL RTCRemoteOutboundRtpStreamStats's localId assert_true: Is localId present expected true got false
FAIL RTCRemoteOutboundRtpStreamStats's remoteTimestamp assert_true: Is remoteTimestamp present expected true got false
FAIL RTCPeerConnectionStats's dataChannelsOpened assert_true: Is dataChannelsOpened present expected true got false
FAIL RTCPeerConnectionStats's dataChannelsClosed assert_true: Is dataChannelsClosed present expected true got false
PASS RTCPeerConnectionStats's dataChannelsOpened
PASS RTCPeerConnectionStats's dataChannelsClosed
PASS RTCDataChannelStats's label
PASS RTCDataChannelStats's protocol
FAIL RTCDataChannelStats's dataChannelIdentifier assert_true: Is dataChannelIdentifier present expected true got false
Expand All @@ -52,11 +52,11 @@ PASS RTCCodecStats's mimeType
PASS RTCCodecStats's clockRate
PASS RTCCodecStats's channels
PASS RTCCodecStats's sdpFmtpLine
FAIL RTCTransportStats's bytesSent assert_true: Is bytesSent present expected true got false
FAIL RTCTransportStats's bytesReceived assert_true: Is bytesReceived present expected true got false
FAIL RTCTransportStats's selectedCandidatePairId assert_true: Is selectedCandidatePairId present expected true got false
FAIL RTCTransportStats's localCertificateId assert_true: Is localCertificateId present expected true got false
FAIL RTCTransportStats's remoteCertificateId assert_true: Is remoteCertificateId present expected true got false
PASS RTCTransportStats's bytesSent
PASS RTCTransportStats's bytesReceived
PASS RTCTransportStats's selectedCandidatePairId
PASS RTCTransportStats's localCertificateId
PASS RTCTransportStats's remoteCertificateId
PASS RTCIceCandidatePairStats's transportId
PASS RTCIceCandidatePairStats's localCandidateId
PASS RTCIceCandidatePairStats's remoteCandidateId
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ FAIL setParameters does NOT use the operations chain assert_equals: Method is as
PASS pc.getStats does NOT use the operations chain
PASS sender.getStats does NOT use the operations chain
PASS receiver.getStats does NOT use the operations chain
FAIL addIceCandidate chains onto SRD, fails before assert_equals: expected "InvalidStateError" but got "OperationError"
PASS addIceCandidate chains onto SRD, fails before
PASS Operations queue not vulnerable to recursion by chained negotiationneeded
PASS Pack operations queue with implicit offer and answer
PASS Negotiate solely by operations queue and signaling state
Expand Down

This file was deleted.

Loading

0 comments on commit cb064e9

Please sign in to comment.