Skip to content
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

Backport upstream WebRTC patches to the wpe-2.22 #568

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
923a92a
[WebRTC] Make pulseaudio optionnal
thiblahute Jan 18, 2019
dfc5339
[GSteamer][WebRTC] Fix building libwebrtc on ARM
thiblahute Jan 23, 2019
f61ff16
[GStreamer][WebRTC] Build opus decoder support in libwebrtc
Dec 1, 2018
fcc039c
[GTK][WPE] Make sure MediaDeviceEnabled and PeerConnectionEnabled are…
Sep 20, 2018
d1c4823
[GTK][WPE] Make sure MediaDeviceEnabled and PeerConnectionEnabled are…
Sep 20, 2018
bd2ca02
[libwebrtc] Allow IP mismatch for local connections on localhost
Sep 21, 2018
5149a64
[WPE] Be very permissive in the MiniBrowser.
Sep 22, 2018
dace86e
[WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder
Sep 24, 2018
8922987
[WPE][GTK][WebRTC] Fixup VP8 encoding support
Sep 25, 2018
c8f2d46
[GTK][WPE] Blacklist more tests that are requiring webrtc <-> webaudi…
Oct 2, 2018
7adeda7
[GTK][WPE] Add mediaDevices.enumerateDevices support
Oct 11, 2018
2b2bb83
[GStreamer] Fix race condition in GStreamerVideoDecoder
Oct 11, 2018
7636e0f
[GTK][WPE] Make libwebrtc compile using the system opus library
Oct 16, 2018
0000315
[GStreamer] Do not sync libwerbtc stream on the clock
Nov 5, 2018
00465b9
[GStreamer][WebRTC] properly mark H.264 stream type in the "decoder"
Nov 5, 2018
8b251c9
[GStreamer][WebRTC] Add webrtcencoder bin to cleanup and refactor the…
Nov 5, 2018
2aa937b
[GStreamer] Fix EncodedImage timestamps to match what libWebRTC expects
Nov 5, 2018
13341a3
[GStreamer][WebRTC] Do not try to handle framerate modulation in the …
Nov 6, 2018
1735344
[GStreamer][WebRTC] Add support for omxh264enc encoder
thiblahute Jan 23, 2019
9276fbe
[GStreamer][WebRTC] Handle setting max number of frame between keyframes
Nov 6, 2018
ffd9891
[GStreamer][WebRTC] Add support for sending silence or silencing an i…
Nov 15, 2018
ba120db
[GStreamer][MediaStream] Handle track addition and removal
Nov 16, 2018
d4ce17e
[GTK][WPE] Add "WebKitDeviceInfoPermissionRequest.h" into webkit2.h
Nov 16, 2018
5e19bfe
[GStreamer][WebRTC] Add API to enable/disable device mocks
Nov 16, 2018
368f096
[GStreamer][WebRTC] Use LibWebRTC provided vp8 decoders and encoders
Nov 27, 2018
0d7808f
[GStreamer] Enhance debugging by making sure to print the pipeline in…
Nov 20, 2018
959b956
[GStreamer][WebRTC] Do not run device monitor for device type we do n…
Nov 28, 2018
afa1f46
[WebRTC][GStreamer] Use a GUniquePtr to hold the GstAudioConverter in…
Nov 28, 2018
76fbe97
[WebRTC][GStreamer] Tag all cameras with as 'Unknown' facing mode
Nov 28, 2018
7238cae
[WebRTC][GStreamer] Make sure to have the default microphone on the t…
Nov 28, 2018
6fac365
[GStreamer][WebRTC] Use libwebrtc vp8 decoder instead of omxvp8dec fo…
thiblahute Jan 25, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions LayoutTests/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,42 @@
2018-11-16 Thibault Saunier <[email protected]>

[GStreamer][MediaStream] Handle track addition and removal
https://bugs.webkit.org/show_bug.cgi?id=191599

Reviewed by Xabier Rodriguez-Calvar.

* fast/mediastream/MediaStream-video-element-remove-track-expected.txt: Added.
* fast/mediastream/MediaStream-video-element-remove-track.html: Added.

2018-10-11 Alejandro G. Castro <[email protected]>

[GTK][WPE] Add mediaDevices.enumerateDevices support
https://bugs.webkit.org/show_bug.cgi?id=185761

Reviewed by Youenn Fablet.

Remove the failure expectation for the test
media-devices-enumerate-devices.html. Just for the record we have
also checked the following tests.

fast/mediastream/media-devices-enumerate-devices.html
fast/mediastream/resources/enumerate-devices-frame.html
http/tests/media/media-stream/enumerate-devices-source-id.html
http/tests/media/media-stream/enumerate-devices-source-id-persistent.html
http/tests/media/media-stream/resources/enumerate-devices-source-id-frame.html

* platform/gtk/TestExpectations:

2018-10-02 Thibault Saunier <[email protected]>

[GTK][WPE] Blacklist more tests that are requiring webrtc <-> webaudio bridging
https://bugs.webkit.org/show_bug.cgi?id=189829

Reviewed by Alejandro G. Castro.

* platform/gtk/TestExpectations:
* platform/wpe/TestExpectations:

2018-10-01 Alicia Boya García <[email protected]>

[MSE][GStreamer] Reset running time in PlaybackPipeline::flush()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
Tests checking removing MediaStream track applies to the video element.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".




**** calling mediaDevices.getUserMedia() ****
PASS mediaDevices.getUserMedia succeeded.

**** setup video element ****
video.srcObject = mediaStream
Event 'canplay'

*** start playback ****
video.play()
video.pause()

**** check video element ****

**** check video tracks ****
PASS video.videoTracks.length is 1
PASS video.videoTracks[0].id is mediaStream.getVideoTracks()[0].id

**** check audio tracks ****
PASS video.audioTracks.length is 1
PASS video.audioTracks[0].id is mediaStream.getAudioTracks()[0].id

**** removing audio track ****

**** check video element ****
PASS video.videoWidth is mediaStream.getVideoTracks()[0].getSettings().width
PASS video.videoHeight is mediaStream.getVideoTracks()[0].getSettings().height

**** check video tracks ****
PASS video.videoTracks.length is 1
PASS video.videoTracks[0].id is mediaStream.getVideoTracks()[0].id
PASS video.videoTracks[0].language is ""
PASS video.videoTracks[0].kind is "main"

**** check no audio track ****
PASS video.audioTracks.length is 0
PASS mediaStream.getAudioTracks().length is 0
PASS successfullyParsed is true

TEST COMPLETE

Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script>
var video;
var mediaStream;

function logEvent(element, eventName, func)
{
function _eventCallback(evt)
{
if (window.wasFinishJSTestCalled)
return;

debug(`Event <em>'${evt.type}'</em>`);
if (func)
func(evt);
}
element.addEventListener(eventName, _eventCallback, true);
}

function checkVideoElement()
{
evalAndLog("video.pause()");

debug("<br>**** check video element ****");
debug("<br>**** check video tracks ****");
shouldBe('video.videoTracks.length', '1');
shouldBe('video.videoTracks[0].id', 'mediaStream.getVideoTracks()[0].id');

debug("<br>**** check audio tracks ****");
shouldBe('video.audioTracks.length', '1');
shouldBe('video.audioTracks[0].id', 'mediaStream.getAudioTracks()[0].id');

setTimeout(removeAudioTrack, 100);
}

function checkVideoElement2()
{
debug("<br>**** check video element ****");
shouldBe('video.videoWidth', 'mediaStream.getVideoTracks()[0].getSettings().width');
shouldBe('video.videoHeight', 'mediaStream.getVideoTracks()[0].getSettings().height');

debug("<br>**** check video tracks ****");
shouldBe('video.videoTracks.length', '1');
shouldBe('video.videoTracks[0].id', 'mediaStream.getVideoTracks()[0].id');
shouldBeEqualToString('video.videoTracks[0].language', '');
shouldBeEqualToString('video.videoTracks[0].kind', 'main');

debug("<br>**** check no audio track ****");
shouldBe('video.audioTracks.length', '0');
shouldBe('mediaStream.getAudioTracks().length', '0');

finishJSTest();
}

function canplay()
{
debug("<br>*** start playback ****");
evalAndLog("video.play()");
setTimeout(checkVideoElement, 100);
}

function removeAudioTrack() {
track = mediaStream.getAudioTracks()[0];
debug("<br>**** removing audio track ****");
try {
mediaStream.removeTrack(track);
} catch (exception) {
testFailed("removeTrack threw an exception.");
finishJSTest();
}
setTimeout(checkVideoElement2, 100);
}

function setupStream(stream)
{
mediaStream = stream;
testPassed('mediaDevices.getUserMedia succeeded.');

debug("<br>**** setup video element ****");
evalAndLog("video.srcObject = mediaStream");
}

function start()
{
description("Tests checking removing MediaStream track applies to the video element.");
video = document.querySelector('video');
logEvent(video, 'canplay', canplay)

debug("<br>**** calling mediaDevices.getUserMedia() ****");
if (window.testRunner)
testRunner.setUserMediaPermission(true);
navigator.mediaDevices.getUserMedia( {video: true, audio: true} )
.then(setupStream)
.catch(function(reason) {
debug(`Stream generation failed with error: ${reason}`);
});
}

window.jsTestIsAsync = true;
window.successfullyParsed = true;
</script>
</head>
<body onload="start()">
<p id="description"></p>
<video controls width="680" height="360"></video>
<div id="console"></div>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
2 changes: 1 addition & 1 deletion LayoutTests/platform/gtk/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -603,6 +603,7 @@ webkit.org/b/186933 webrtc/clone-audio-track.html
webkit.org/b/186933 webrtc/audio-replace-track.html
webkit.org/b/186933 webrtc/audio-peer-connection-webaudio.html
webkit.org/b/186933 webrtc/audio-muted-stats.html
webkit.org/b/186933 webrtc/getUserMedia-webaudio-autoplay.html

imported/w3c/web-platform-tests/webrtc/ [ Skip ]
http/tests/webrtc [ Skip ]
Expand Down Expand Up @@ -635,7 +636,6 @@ webkit.org/b/79203 imported/w3c/web-platform-tests/mediacapture-streams/MediaStr
webkit.org/b/151344 fast/mediastream/MediaStream-add-ended-tracks.html [ Timeout ]
# Crash is bug #176801
webkit.org/b/160996 fast/mediastream/MediaStream-video-element-video-tracks-disabled.html [ ImageOnlyFailure Crash ]
webkit.org/b/172269 fast/mediastream/media-devices-enumerate-devices.html [ Failure ]
webkit.org/b/173257 fast/mediastream/getUserMedia-grant-persistency3.html [ Pass Failure ]
webkit.org/b/176801 fast/mediastream/argument-types.html [ Crash Pass ]

Expand Down
3 changes: 2 additions & 1 deletion LayoutTests/platform/wpe/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,11 @@ webkit.org/b/186933 webrtc/clone-audio-track.html
webkit.org/b/186933 webrtc/audio-replace-track.html
webkit.org/b/186933 webrtc/audio-peer-connection-webaudio.html
webkit.org/b/186933 webrtc/audio-muted-stats.html
webkit.org/b/186933 webrtc/getUserMedia-webaudio-autoplay.html

# The MediaStream implementation is still not completed
webkit.org/b/79203 fast/mediastream/mock-media-source-webaudio.html [ Timeout ]
webkit.org/b/79203 fast/mediastream/getUserMedia-webaudio.html [ Failure ]
webkit.org/b/79203 fast/mediastream/getUserMedia-webaudio.html [ Failure Crash ]
webkit.org/b/79203 fast/mediastream/MediaStream-video-element-track-stop.html [ Timeout ]
webkit.org/b/79203 fast/mediastream/RTCPeerConnection-dtmf.html [ Timeout ]
webkit.org/b/79203 fast/mediastream/RTCPeerConnection-icecandidate-event.html [ Pass Failure Crash ]
Expand Down
Loading