WebKit Bugzilla
Attachment 342558 Details for
Bug 186547
: [WPE] Build getUserMedia support
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Fixed styling issues.
WPE-Build-getUserMedia-support.patch (text/plain), 22.26 KB, created by
Thibault Saunier
on 2018-06-12 10:33:34 PDT
(
hide
)
Description:
Fixed styling issues.
Filename:
MIME Type:
Creator:
Thibault Saunier
Created:
2018-06-12 10:33:34 PDT
Size:
22.26 KB
patch
obsolete
>From e79842ccd6b29c9108fd16722d441847c23f55ed Mon Sep 17 00:00:00 2001 >From: Thibault Saunier <tsaunier@igalia.com> >Date: Wed, 6 Jun 2018 18:28:27 -0400 >Subject: [PATCH xserver] [WPE] Build getUserMedia support > >https://bugs.webkit.org/show_bug.cgi?id=186547 >--- > ChangeLog | 9 +++++ > LayoutTests/ChangeLog | 11 ++++++ > LayoutTests/platform/gtk/TestExpectations | 7 ++-- > LayoutTests/platform/wpe/TestExpectations | 38 +++++++++++++++++- > Source/WebCore/ChangeLog | 28 +++++++++++++ > Source/WebCore/PlatformWPE.cmake | 1 + > Source/WebCore/SourcesGTK.txt | 8 ---- > Source/WebCore/SourcesWPE.txt | 2 - > Source/WebCore/platform/GStreamer.cmake | 7 ++++ > .../WebCore/platform/graphics/ImageBuffer.cpp | 2 +- > .../graphics/cairo/ImageBufferCairo.cpp | 39 +++++++++++++++++++ > .../platform/graphics/gtk/ImageBufferGtk.cpp | 10 ----- > .../gstreamer/GStreamerMediaStreamSource.cpp | 15 ++++--- > Source/WebKit/ChangeLog | 9 +++++ > Source/WebKit/SourcesWPE.txt | 5 +++ > Source/cmake/OptionsWPE.cmake | 11 ++++++ > 16 files changed, 171 insertions(+), 31 deletions(-) > >diff --git a/ChangeLog b/ChangeLog >index 4f5dd5ca2fa..f044227f089 100644 >--- a/ChangeLog >+++ b/ChangeLog >@@ -1,3 +1,12 @@ >+2018-06-11 Thibault Saunier <tsaunier@igalia.com> >+ >+ [WPE] Build getUserMedia support >+ https://bugs.webkit.org/show_bug.cgi?id=186547 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Source/cmake/OptionsWPE.cmake: Build MediaStream support >+ > 2018-06-11 Michael Saboff <msaboff@apple.com> > > JavaScriptCore: Disable 32-bit JIT on Windows >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index cac2459c712..ce7cf1d0318 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,14 @@ >+2018-06-11 Thibault Saunier <tsaunier@igalia.com> >+ >+ [WPE] Build getUserMedia support >+ https://bugs.webkit.org/show_bug.cgi?id=186547 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * platform/gtk/TestExpectations: Mark some tests as potentially passing (they fail only >+ when built in debug mode). >+ * platform/wpe/TestExpectations: Enable MediaStream tests. >+ > 2018-06-11 Chris Dumez <cdumez@apple.com> > > http/tests/security/cors-post-redirect-307.html fails with PSON enabled >diff --git a/LayoutTests/platform/gtk/TestExpectations b/LayoutTests/platform/gtk/TestExpectations >index 59752370dce..6ddba57cb52 100644 >--- a/LayoutTests/platform/gtk/TestExpectations >+++ b/LayoutTests/platform/gtk/TestExpectations >@@ -581,7 +581,7 @@ webkit.org/b/79203 fast/mediastream/getUserMedia-webaudio.html [ Failure ] > 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 [ Failure Crash ] >-webkit.org/b/79203 fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html [ Failure Crash ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html [ Pass Failure Crash ] > webkit.org/b/79203 fast/mediastream/RTCRtpSender-replaceTrack.html [ Failure ] > # Crash is webkit.org/b/184292 > webkit.org/b/79203 fast/mediastream/RTCPeerConnection-addIceCandidate.html [ Failure Pass Crash ] >@@ -591,7 +591,7 @@ webkit.org/b/79203 fast/mediastream/RTCPeerConnection-inspect-answer.html [ Fail > webkit.org/b/79203 fast/mediastream/RTCPeerConnection-inspect-offer-bundlePolicy-bundle-only.html [ Failure ] > webkit.org/b/79203 fast/mediastream/RTCPeerConnection-inspect-offer.html [ Failure ] > webkit.org/b/79203 fast/mediastream/RTCPeerConnection-legacy-stream-based-api.html [ Failure ] >-webkit.org/b/79203 fast/mediastream/RTCPeerConnection-media-setup-callbacks-single-dialog.html [ Crash Failure ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-media-setup-callbacks-single-dialog.html [ Pass Crash Failure ] > webkit.org/b/79203 webaudio/mediastreamaudiosourcenode.html [ Failure ] > webkit.org/b/79203 fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html [ Timeout Failure ] > webkit.org/b/79203 fast/mediastream/MediaStream-video-element-displays-buffer.html [ Failure ] >@@ -604,6 +604,7 @@ webkit.org/b/151344 fast/mediastream/MediaStream-add-ended-tracks.html [ Timeout > 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 ] > > # Canvas captureStream support is not implemented > webkit.org/b/169811 fast/mediacapturefromelement [ Skip ] >@@ -1241,8 +1242,6 @@ webkit.org/b/172955 media/video-preload.html [ Crash Pass ] > > webkit.org/b/175575 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html [ Crash Pass ] > >-webkit.org/b/176801 fast/mediastream/argument-types.html [ Crash Pass ] >- > webkit.org/b/176803 http/tests/local/blob/send-hybrid-blob-using-open-panel.html [ Crash ] > > # See also webkit.org/b/141699 >diff --git a/LayoutTests/platform/wpe/TestExpectations b/LayoutTests/platform/wpe/TestExpectations >index 3e946580da9..8b3f18c6ff0 100644 >--- a/LayoutTests/platform/wpe/TestExpectations >+++ b/LayoutTests/platform/wpe/TestExpectations >@@ -15,6 +15,43 @@ Bug(WPE) webarchive/ [ Skip ] > Bug(WPE) webaudio/ [ Skip ] > Bug(WPE) webrtc [ Skip ] > >+# 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/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 ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html [ Pass Failure Crash ] >+webkit.org/b/79203 fast/mediastream/RTCRtpSender-replaceTrack.html [ Failure ] >+# Crash is webkit.org/b/184292 >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-addIceCandidate.html [ Failure Pass Crash ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html [ Failure Timeout ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-ice.html [ Failure Timeout ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-inspect-answer.html [ Pass Failure ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-inspect-offer-bundlePolicy-bundle-only.html [ Failure ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-inspect-offer.html [ Pass Failure ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-legacy-stream-based-api.html [ Pass Failure ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-media-setup-callbacks-single-dialog.html [ Pass Crash Failure ] >+webkit.org/b/79203 webaudio/mediastreamaudiosourcenode.html [ Failure ] >+webkit.org/b/79203 fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html [ Timeout Failure ] >+webkit.org/b/79203 fast/mediastream/MediaStream-video-element-displays-buffer.html [ Failure ] >+webkit.org/b/79203 http/tests/media/media-stream/getusermedia-with-canvas.html [ Crash ] >+webkit.org/b/79203 fast/mediastream/RTCPeerConnection-stats.html [ Timeout ] >+webkit.org/b/79203 imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-preload-none.https.html [ Failure ] >+webkit.org/b/79203 imported/w3c/web-platform-tests/mediacapture-streams/MediaStreamTrack-end-manual.https.html [ Failure ] >+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 ] >+ >+# Canvas captureStream support is not implemented >+webkit.org/b/169811 fast/mediacapturefromelement [ Skip ] >+webkit.org/b/169811 fast/mediastream/captureStream/ [ Failure ] >+webkit.org/b/169811 fast/mediastream/captureStream/canvas2d.html [ Crash Timeout ] >+webkit.org/b/169811 fast/mediastream/captureStream/canvas3d.html [ Crash Timeout ] >+ >+ > # Doesn't apply to platforms that don't enforce the CFNetwork-style 3rd party cookie policy. > http/tests/cookies/third-party-cookie-relaxing.html [ WontFix Failure ] > >@@ -422,7 +459,6 @@ Bug(WPE) fast/loader [ Skip ] > Bug(WPE) fast/masking [ Skip ] > Bug(WPE) fast/media [ Skip ] > Bug(WPE) fast/mediacapturefromelement [ Skip ] >-Bug(WPE) fast/mediastream [ Skip ] > Bug(WPE) fast/multicol [ Skip ] > Bug(WPE) fast/overflow [ Skip ] > Bug(WPE) fast/picture [ Skip ] >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index d8ff6a3d010..76dbb3e0909 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,31 @@ >+2018-06-11 Thibault Saunier <tsaunier@igalia.com> >+ >+ [WPE] Build getUserMedia support >+ https://bugs.webkit.org/show_bug.cgi?id=186547 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Enable mediastream tests. >+ >+ * PlatformWPE.cmake: Build MediaStream support. >+ * SourcesGTK.txt: Moved GStreamer related files to GStreamer.cmake. >+ * SourcesWPE.txt: Removed `platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp` >+ which is now in GStreamer.cmake. >+ * platform/GStreamer.cmake: Build more MediaStream/webrtc related files. >+ * platform/graphics/ImageBuffer.cpp: Handle the fact that toBGRAData is >+ now built directly into the Cairo backend and not GTK anymore. >+ * platform/graphics/cairo/ImageBufferCairo.cpp: Implement `toBGRAData` >+ * platform/graphics/gtk/ImageBufferGtk.cpp: Removed `toBGRAData` as it is >+ now implemented in the Cairo backend itself. >+ * platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp: Switch an >+ ASSERT to RELEASE_ASSERT when adding the GhostPad to itself. This was making >+ test fail when built in RELEASE mode. >+ (WebCore::webkitMediaStreamSrcChain): Minor variable name change to make it >+ more accurate. >+ (WebCore::webkitMediaStreamSrcAddPad): Now add the ghost pad to the element >+ before setting its chain function, making things clearer. >+ (WebCore::webkitMediaStreamSrcSetupSrc): Remove extra new line. >+ > 2018-06-11 Chris Dumez <cdumez@apple.com> > > http/tests/security/cors-post-redirect-307.html fails with PSON enabled >diff --git a/Source/WebCore/PlatformWPE.cmake b/Source/WebCore/PlatformWPE.cmake >index b18b7944916..eaa89124fed 100644 >--- a/Source/WebCore/PlatformWPE.cmake >+++ b/Source/WebCore/PlatformWPE.cmake >@@ -27,6 +27,7 @@ list(APPEND WebCore_INCLUDE_DIRECTORIES > "${WEBCORE_DIR}/platform/graphics/wpe" > "${WEBCORE_DIR}/platform/graphics/wayland" > "${WEBCORE_DIR}/platform/mock/mediasource" >+ "${WEBCORE_DIR}/platform/mediastream/gstreamer" > "${WEBCORE_DIR}/platform/network/soup" > "${WEBCORE_DIR}/platform/text/icu" > ) >diff --git a/Source/WebCore/SourcesGTK.txt b/Source/WebCore/SourcesGTK.txt >index 92acd0bcafd..4626b6fcbe5 100644 >--- a/Source/WebCore/SourcesGTK.txt >+++ b/Source/WebCore/SourcesGTK.txt >@@ -92,14 +92,6 @@ platform/gtk/PasteboardGtk.cpp > platform/gtk/ScrollAnimatorGtk.cpp > platform/gtk/SelectionData.cpp > >-platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp >-platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp >-platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp >-platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp >- >-platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp >-platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp >- > platform/text/Hyphenation.cpp > platform/text/LocaleICU.cpp > >diff --git a/Source/WebCore/SourcesWPE.txt b/Source/WebCore/SourcesWPE.txt >index fc0019b53ba..5e8502f86ed 100644 >--- a/Source/WebCore/SourcesWPE.txt >+++ b/Source/WebCore/SourcesWPE.txt >@@ -64,8 +64,6 @@ platform/graphics/wpe/IconWPE.cpp > platform/graphics/wpe/ImageWPE.cpp > platform/graphics/wpe/PlatformDisplayWPE.cpp > >-platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp >- > platform/text/Hyphenation.cpp > platform/text/LocaleICU.cpp > >diff --git a/Source/WebCore/platform/GStreamer.cmake b/Source/WebCore/platform/GStreamer.cmake >index 50b2d207c6c..f911d3b71d4 100644 >--- a/Source/WebCore/platform/GStreamer.cmake >+++ b/Source/WebCore/platform/GStreamer.cmake >@@ -34,6 +34,9 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO) > platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp > platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp > >+ platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp >+ platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp >+ > platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp > platform/mediastream/gstreamer/GStreamerAudioCapturer.cpp > platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp >@@ -43,7 +46,11 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO) > platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp > platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp > platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp >+ platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp >+ platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp > platform/mediastream/gstreamer/RealtimeMediaSourceCenterLibWebRTC.cpp >+ platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp >+ platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp > ) > > list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES >diff --git a/Source/WebCore/platform/graphics/ImageBuffer.cpp b/Source/WebCore/platform/graphics/ImageBuffer.cpp >index ef4c1bd18bd..97ba1ea1b94 100644 >--- a/Source/WebCore/platform/graphics/ImageBuffer.cpp >+++ b/Source/WebCore/platform/graphics/ImageBuffer.cpp >@@ -102,7 +102,7 @@ FloatRect ImageBuffer::clampedRect(const FloatRect& rect) > return FloatRect(rect.location(), clampedSize(rect.size())); > } > >-#if !USE(CG) && !PLATFORM(GTK) >+#if !USE(CG) && !USE(CAIRO) > Vector<uint8_t> ImageBuffer::toBGRAData() const > { > // FIXME: Implement this for other backends. >diff --git a/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp b/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp >index 856707f0bfa..d89d283e5b6 100644 >--- a/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp >+++ b/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp >@@ -204,6 +204,45 @@ void ImageBufferData::createCairoGLSurface() > } > #endif > >+static RefPtr<cairo_surface_t> >+cairoSurfaceCoerceToImage(cairo_surface_t* surface) >+{ >+ RefPtr<cairo_surface_t> copy; >+ cairo_t* cr; >+ >+ if (cairo_surface_get_type(surface) == CAIRO_SURFACE_TYPE_IMAGE >+ && cairo_surface_get_content(surface) == CAIRO_CONTENT_COLOR_ALPHA) >+ return surface; >+ >+ copy = adoptRef(cairo_image_surface_create(CAIRO_FORMAT_ARGB32, >+ cairo_image_surface_get_width(surface), >+ cairo_image_surface_get_height(surface))); >+ >+ cr = cairo_create(copy.get()); >+ cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); >+ cairo_set_source_surface(cr, surface, 0, 0); >+ cairo_paint(cr); >+ cairo_destroy(cr); >+ >+ return copy; >+} >+ >+Vector<uint8_t> ImageBuffer::toBGRAData() const >+{ >+ auto surface = cairoSurfaceCoerceToImage(m_data.m_surface.get()); >+ cairo_surface_flush(surface.get()); >+ >+ Vector<uint8_t> imageData; >+ if (cairo_surface_status(surface.get())) >+ return imageData; >+ >+ auto pixels = cairo_image_surface_get_data(surface.get()); >+ imageData.append(pixels, cairo_image_surface_get_stride(surface.get()) * >+ cairo_image_surface_get_height(surface.get())); >+ >+ return imageData; >+} >+ > ImageBuffer::ImageBuffer(const FloatSize& size, float resolutionScale, ColorSpace, RenderingMode renderingMode, const HostWindow*, bool& success) > : m_data(IntSize(size), renderingMode) > , m_logicalSize(size) >diff --git a/Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp b/Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp >index ed3a11f913b..8e6095c9ac8 100644 >--- a/Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp >+++ b/Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp >@@ -87,16 +87,6 @@ String ImageBuffer::toDataURL(const String& mimeType, std::optional<double> qual > return "data:" + mimeType + ";base64," + base64Data; > } > >-Vector<uint8_t> ImageBuffer::toBGRAData() const >-{ >- auto pixbuf = adoptGRef(cairoSurfaceToGdkPixbuf(m_data.m_surface.get())); >- auto pixels = gdk_pixbuf_get_pixels(pixbuf.get()); >- >- Vector<uint8_t> imageData; >- imageData.append(pixels, gdk_pixbuf_get_byte_length(pixbuf.get())); >- return imageData; >-} >- > Vector<uint8_t> ImageBuffer::toData(const String& mimeType, std::optional<double> quality) const > { > ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType)); >diff --git a/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp b/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp >index dba1ae6320f..711d32fa2fa 100644 >--- a/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp >+++ b/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp >@@ -328,10 +328,10 @@ typedef struct { > GstStaticPadTemplate* pad_template; > } ProbeData; > >-static GstFlowReturn webkitMediaStreamSrcChain(GstPad* pad, GstObject* object, GstBuffer* buffer) >+static GstFlowReturn webkitMediaStreamSrcChain(GstPad* pad, GstObject* parent, GstBuffer* buffer) > { > GstFlowReturn result; >- GRefPtr<WebKitMediaStreamSrc> self = adoptGRef(WEBKIT_MEDIA_STREAM_SRC(gst_object_get_parent(object))); >+ GRefPtr<WebKitMediaStreamSrc> self = adoptGRef(WEBKIT_MEDIA_STREAM_SRC(gst_object_get_parent(parent))); > > result = gst_flow_combiner_update_pad_flow(self.get()->flowCombiner, pad, > gst_proxy_pad_chain_default(pad, GST_OBJECT(self.get()), buffer)); >@@ -350,10 +350,16 @@ static void webkitMediaStreamSrcAddPad(WebKitMediaStreamSrc* self, GstPad* targe > target); > > auto proxypad = adoptGRef(GST_PAD(gst_proxy_pad_get_internal(GST_PROXY_PAD(ghostpad)))); >+ gst_pad_set_active(ghostpad, TRUE); >+ if (!gst_element_add_pad(GST_ELEMENT(self), GST_PAD(ghostpad))) { >+ GST_ERROR_OBJECT(self, "Could not add pad %s:%s", GST_DEBUG_PAD_NAME(ghostpad)); >+ ASSERT_NOT_REACHED(); >+ >+ return; >+ } >+ > gst_pad_set_chain_function(proxypad.get(), > static_cast<GstPadChainFunction>(webkitMediaStreamSrcChain)); >- gst_pad_set_active(ghostpad, TRUE); >- ASSERT(gst_element_add_pad(GST_ELEMENT(self), GST_PAD(ghostpad))); > } > > static GstPadProbeReturn webkitMediaStreamSrcPadProbeCb(GstPad* pad, GstPadProbeInfo* info, ProbeData* data) >@@ -399,7 +405,6 @@ static gboolean webkitMediaStreamSrcSetupSrc(WebKitMediaStreamSrc* self, > > gst_bin_add(GST_BIN(self), element); > >- > ProbeData* data = new ProbeData; > data->self = WEBKIT_MEDIA_STREAM_SRC(self); > data->pad_template = pad_template; >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 93c6a067390..3743632f938 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,12 @@ >+2018-06-11 Thibault Saunier <tsaunier@igalia.com> >+ >+ [WPE] Build getUserMedia support >+ https://bugs.webkit.org/show_bug.cgi?id=186547 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * SourcesWPE.txt: Compile files necessary for MediaStream/webrtc. >+ > 2018-05-14 Thibault Saunier <tsaunier@igalia.com> > > [GTK][WPE]: Avoid using uninitialized launchOptions in getLaunchOptions >diff --git a/Source/WebKit/SourcesWPE.txt b/Source/WebKit/SourcesWPE.txt >index d3f886ffdd2..47a2dcde138 100644 >--- a/Source/WebKit/SourcesWPE.txt >+++ b/Source/WebKit/SourcesWPE.txt >@@ -37,6 +37,11 @@ NetworkProcess/soup/NetworkProcessSoup.cpp > NetworkProcess/soup/NetworkSessionSoup.cpp > NetworkProcess/soup/RemoteNetworkingContextSoup.cpp > >+NetworkProcess/webrtc/LibWebRTCSocketClient.cpp >+NetworkProcess/webrtc/NetworkRTCMonitor.cpp >+NetworkProcess/webrtc/NetworkRTCProvider.cpp >+NetworkProcess/webrtc/NetworkRTCSocket.cpp >+ > Platform/IPC/glib/GSocketMonitor.cpp > > Platform/IPC/unix/AttachmentUnix.cpp >diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake >index 10e156c967f..8c7ad9c5d18 100644 >--- a/Source/cmake/OptionsWPE.cmake >+++ b/Source/cmake/OptionsWPE.cmake >@@ -40,6 +40,8 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SERVICE_WORKER PRIVATE ${ENABLE_EXPERIME > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SMOOTH_SCROLLING PRIVATE OFF) > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PRIVATE ON) > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL2 PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) >+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) >+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) > > # Public options specific to the WPE port. Do not add any options here unless > # there is a strong reason we should support changing the value of the option, >@@ -48,6 +50,9 @@ WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." > > # Private options specific to the WPE port. > WEBKIT_OPTION_DEFINE(USE_OPENVR "Whether to use OpenVR as WebVR backend." PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) >+WEBKIT_OPTION_DEFINE(USE_LIBWEBRTC "Whether to use libwebrtc for WebRTC support" PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) >+ >+WEBKIT_OPTION_DEPEND(USE_LIBWEBRTC ENABLE_WEB_RTC) > > if (CMAKE_SYSTEM_NAME MATCHES "Linux") > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER PRIVATE ON) >@@ -110,6 +115,12 @@ if (ENABLE_XSLT) > find_package(LibXslt 1.1.7 REQUIRED) > endif () > >+if (ENABLE_MEDIA_STREAM OR ENABLE_WEB_RTC) >+ set(USE_LIBWEBRTC TRUE) >+ SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC TRUE) >+ SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD TRUE) >+endif () >+ > add_definitions(-DBUILDING_WPE__=1) > add_definitions(-DGETTEXT_PACKAGE="WPE") > add_definitions(-DJSC_GLIB_API_ENABLED) >-- >2.17.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186547
:
342474
|
342539
|
342554
|
342558
|
342575
|
342606
|
342652
|
342653
|
342673