Title: [274150] trunk
- Revision
- 274150
- Author
- [email protected]
- Date
- 2021-03-09 08:55:35 -0800 (Tue, 09 Mar 2021)
Log Message
[WebRTC][GStreamer] webrtc/multi-video.html crashes
https://bugs.webkit.org/show_bug.cgi?id=222792
Patch by Philippe Normand <[email protected]> on 2021-03-09
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Add safeguards preventing removal of a pad that was not yet added.
* platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(webkitMediaStreamSrcAddPad):
(webkitMediaStreamSrcRemovePad):
LayoutTests:
Update expectations for webrtc/multi-video.html which is currently expected to fail.
* platform/glib/TestExpectations:
* platform/gtk/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (274149 => 274150)
--- trunk/LayoutTests/ChangeLog 2021-03-09 16:53:16 UTC (rev 274149)
+++ trunk/LayoutTests/ChangeLog 2021-03-09 16:55:35 UTC (rev 274150)
@@ -1,3 +1,15 @@
+2021-03-09 Philippe Normand <[email protected]>
+
+ [WebRTC][GStreamer] webrtc/multi-video.html crashes
+ https://bugs.webkit.org/show_bug.cgi?id=222792
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ Update expectations for webrtc/multi-video.html which is currently expected to fail.
+
+ * platform/glib/TestExpectations:
+ * platform/gtk/TestExpectations:
+
2021-03-08 Antoine Quint <[email protected]>
Select CSS properties animating as float should not allow negative values
Modified: trunk/LayoutTests/platform/glib/TestExpectations (274149 => 274150)
--- trunk/LayoutTests/platform/glib/TestExpectations 2021-03-09 16:53:16 UTC (rev 274149)
+++ trunk/LayoutTests/platform/glib/TestExpectations 2021-03-09 16:55:35 UTC (rev 274150)
@@ -1051,10 +1051,11 @@
webkit.org/b/219825 [ Release ] webrtc/sframe-keys.html [ Skip ]
webkit.org/b/219825 [ Debug ] webrtc/sframe-keys.html [ Failure ]
-
webkit.org/b/221504 webrtc/peer-connection-remote-audio-mute2.html [ Failure ]
webkit.org/b/221504 webrtc/peer-connection-remote-audio-mute.html [ Failure Timeout ]
+webkit.org/b/222794 webrtc/multi-video.html [ Failure ]
+
#////////////////////////////////////////////////////////////////////////////////////////
# End of WebRTC-related bugs
#////////////////////////////////////////////////////////////////////////////////////////
@@ -1851,7 +1852,6 @@
webkit.org/b/187064 webrtc/captureCanvas-webrtc.html
webkit.org/b/187064 webrtc/datachannel/mdns-ice-candidates.html
webkit.org/b/187064 webrtc/libwebrtc/descriptionGetters.html
-webkit.org/b/187064 webrtc/multi-video.html
webkit.org/b/187064 webrtc/peer-connection-track-end.html
webkit.org/b/187064 webrtc/video-addTrack.html
webkit.org/b/187064 webrtc/video-addTransceiver.html
Modified: trunk/LayoutTests/platform/gtk/TestExpectations (274149 => 274150)
--- trunk/LayoutTests/platform/gtk/TestExpectations 2021-03-09 16:53:16 UTC (rev 274149)
+++ trunk/LayoutTests/platform/gtk/TestExpectations 2021-03-09 16:55:35 UTC (rev 274150)
@@ -627,7 +627,6 @@
webkit.org/b/187064 webrtc/video-addTransceiver.html
webkit.org/b/187064 webrtc/peer-connection-track-end.html
webkit.org/b/187064 webrtc/video.html
-webkit.org/b/187064 webrtc/multi-video.html
webkit.org/b/187064 webrtc/video-addTrack.html
webkit.org/b/187064 webrtc/video-rotation.html
webkit.org/b/187064 webrtc/video-mute.html
Modified: trunk/Source/WebCore/ChangeLog (274149 => 274150)
--- trunk/Source/WebCore/ChangeLog 2021-03-09 16:53:16 UTC (rev 274149)
+++ trunk/Source/WebCore/ChangeLog 2021-03-09 16:55:35 UTC (rev 274150)
@@ -1,5 +1,18 @@
2021-03-09 Philippe Normand <[email protected]>
+ [WebRTC][GStreamer] webrtc/multi-video.html crashes
+ https://bugs.webkit.org/show_bug.cgi?id=222792
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ Add safeguards preventing removal of a pad that was not yet added.
+
+ * platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
+ (webkitMediaStreamSrcAddPad):
+ (webkitMediaStreamSrcRemovePad):
+
+2021-03-09 Philippe Normand <[email protected]>
+
[GStreamer][WebRTC] VideoEncoder still doesn't comply with WebKit style
https://bugs.webkit.org/show_bug.cgi?id=222901
Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp (274149 => 274150)
--- trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp 2021-03-09 16:53:16 UTC (rev 274149)
+++ trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp 2021-03-09 16:55:35 UTC (rev 274150)
@@ -454,7 +454,7 @@
gst_pad_set_active(ghostPad, TRUE);
gst_element_add_pad(GST_ELEMENT_CAST(self), ghostPad);
- auto proxyPad = adoptGRef(GST_PAD(gst_proxy_pad_get_internal(GST_PROXY_PAD(ghostPad))));
+ auto proxyPad = adoptGRef(GST_PAD_CAST(gst_proxy_pad_get_internal(GST_PROXY_PAD(ghostPad))));
gst_flow_combiner_add_pad(self->priv->flowCombiner.get(), proxyPad.get());
gst_pad_set_chain_function(proxyPad.get(), static_cast<GstPadChainFunction>(webkitMediaStreamSrcChain));
@@ -464,8 +464,13 @@
static void webkitMediaStreamSrcRemovePad(WebKitMediaStreamSrc* self, const char* padName)
{
auto pad = adoptGRef(gst_element_get_static_pad(GST_ELEMENT_CAST(self), padName));
- auto proxyPad = adoptGRef(GST_PAD(gst_proxy_pad_get_internal(GST_PROXY_PAD(pad.get()))));
- gst_flow_combiner_remove_pad(self->priv->flowCombiner.get(), proxyPad.get());
+ if (!pad)
+ return;
+
+ auto proxyPad = adoptGRef(GST_PAD_CAST(gst_proxy_pad_get_internal(GST_PROXY_PAD(pad.get()))));
+ if (proxyPad)
+ gst_flow_combiner_remove_pad(self->priv->flowCombiner.get(), proxyPad.get());
+
gst_pad_set_active(pad.get(), FALSE);
gst_element_remove_pad(GST_ELEMENT_CAST(self), pad.get());
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes