.:
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Jul 2018 08:24:35 +0000 (08:24 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Jul 2018 08:24:35 +0000 (08:24 +0000)
commitc8e78e1578f94f1cb199585a733b7e3e05fa30ad
tree680c4fd1fa823d8cea81eb015942ec2a13aaff87
parentcc359b0bb4ce268f46ec25d3a43378ada63b726c
.:
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

* Source/cmake/FindGStreamer.cmake: Look for gstreamer-codecparser as it needed for GStreamerVideoDecoder

Source/ThirdParty/libwebrtc:
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

* CMakeLists.txt: Properly set our build as `WEBRTC_WEBKIT_BUILD`

Source/WebCore:
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

Enabled many webrtc tests.

* platform/GStreamer.cmake: Build new files
* platform/graphics/gstreamer/GStreamerCommon.cpp: Fix minor style issues
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add a way to give precise name to pipelines
and give useful names to pipelines with sources comming from a PeerConnection
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
* platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.cpp: Added. Implement a subclass of webrtc::VideoFrame
to represent a kNative GStreamer video frame.
* platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.h: Added. Ditto.
* platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp: Handle incoming audio samples from libwebrtc.
* platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.h: Ditto.
* platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp: Handle incoming video frames from libwebrtc.
* platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.h: Ditto.
* platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp: Handle passing locally captured audio sample to libwebrtc.
* platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h: Ditto.
* platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp: Handle passing locally captured vidoe frames to libwebrtc.
* platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp: Added. Implement a video decoder factory and LibWebRTC Video decoders based on GStreamer.
* platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.h: Added. Ditto.
* platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: Added. Implement a video encoder factory and LibWebRTC H264/VP8 Video encoders based on GStreamer.
* platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h: Added. Ditto.
* platform/mediastream/libwebrtc/LibWebRTCAudioFormat.h: Add information about signness of the LibWebRTC audio format.
* platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp: Add support for newly added Encoder/Decoder factories.
* platform/mediastream/libwebrtc/LibWebRTCProviderGlib.h: Ditto.

Source/WebKit:
[WPE][GTK] Implement WebRTC based on libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

* WebProcess/Network/webrtc/LibWebRTCProvider.h: Use LibWebRTCProviderGlib when building WPE or GTK ports.

LayoutTests:
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

* platform/gtk/TestExpectations: Enable webrtc tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234138 268f45cc-cd09-0410-ab3c-d52691b4dbfc
32 files changed:
ChangeLog
LayoutTests/ChangeLog
LayoutTests/platform/gtk/TestExpectations
LayoutTests/platform/wpe/TestExpectations
Source/ThirdParty/libwebrtc/CMakeLists.txt
Source/ThirdParty/libwebrtc/ChangeLog
Source/WebCore/ChangeLog
Source/WebCore/platform/GStreamer.cmake
Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioStreamDescription.h
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.cpp [new file with mode: 0644]
Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.h [new file with mode: 0644]
Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp
Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.h
Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp
Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.h
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp
Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp [new file with mode: 0644]
Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.h [new file with mode: 0644]
Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp [new file with mode: 0644]
Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h [new file with mode: 0644]
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioFormat.h
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderGlib.h
Source/WebKit/ChangeLog
Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h
Source/cmake/FindGStreamer.cmake