Title: [279034] trunk
Revision
279034
Author
[email protected]
Date
2021-06-18 03:35:40 -0700 (Fri, 18 Jun 2021)

Log Message

[GStreamer] imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html is failing since r273645
https://bugs.webkit.org/show_bug.cgi?id=223508

Patch by Philippe Normand <[email protected]> on 2021-06-18
Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Per spec, prevent seeks, playback rate changes and preload state updates on media elements backed by
the GStreamer MediaStream source element.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::setPreload):
(WebCore::MediaPlayerPrivateGStreamer::maxMediaTimeSeekable const):

LayoutTests:

Unflag and add glib baseline for test now passing.

* platform/glib/TestExpectations:
* platform/glib/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (279033 => 279034)


--- trunk/LayoutTests/ChangeLog	2021-06-18 08:29:09 UTC (rev 279033)
+++ trunk/LayoutTests/ChangeLog	2021-06-18 10:35:40 UTC (rev 279034)
@@ -1,5 +1,17 @@
 2021-06-18  Philippe Normand  <[email protected]>
 
+        [GStreamer] imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html is failing since r273645
+        https://bugs.webkit.org/show_bug.cgi?id=223508
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Unflag and add glib baseline for test now passing.
+
+        * platform/glib/TestExpectations:
+        * platform/glib/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt: Added.
+
+2021-06-18  Philippe Normand  <[email protected]>
+
         [WebRTC][GStreamer] fast/mediastream/MediaStream-video-element-remove-track.html is failing
         https://bugs.webkit.org/show_bug.cgi?id=191886
 

Modified: trunk/LayoutTests/platform/glib/TestExpectations (279033 => 279034)


--- trunk/LayoutTests/platform/glib/TestExpectations	2021-06-18 08:29:09 UTC (rev 279033)
+++ trunk/LayoutTests/platform/glib/TestExpectations	2021-06-18 10:35:40 UTC (rev 279034)
@@ -1132,7 +1132,6 @@
 webkit.org/b/206656 imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-removetrack.https.html [ Crash Failure Timeout ]
 webkit.org/b/206656 imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-preload-none-manual.https.html [ Crash Failure Pass ]
 webkit.org/b/210385 imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https.html [ Failure Crash Pass ]
-webkit.org/b/223508 imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html [ Failure ]
 
 #////////////////////////////////////////////////////////////////////////////////////////
 # End of WebRTC-related bugs

Added: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt (0 => 279034)


--- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt	2021-06-18 10:35:40 UTC (rev 279034)
@@ -0,0 +1,28 @@
+When prompted, accept to share your video stream.
+
+Description
+
+This test checks that the MediaStream object returned by the success callback in getUserMedia can be properly assigned to a video element via the srcObject attribute.
+
+
+
+Harness Error (TIMEOUT), message = null
+
+PASS Tests that a MediaStream can be assigned to a video element with srcObject
+PASS Tests that a MediaStream assigned to a video element is not seekable
+PASS Tests that a MediaStream assigned to a video element is in readyState HAVE_NOTHING initially
+TIMEOUT Tests that a MediaStream assigned to a video element has expected duration Test timed out
+NOTRUN Tests that a video element with a MediaStream assigned is not preloaded
+NOTRUN Tests that a video element with a MediaStream assigned ignores playbackRate attributes (defaultPlaybackRate is identical)
+NOTRUN Tests that a video element with a MediaStream assigned ignores playbackRate attributes (defaultPlaybackRate is different)
+NOTRUN Tests that a media element with an assigned MediaStream reports the played attribute as expected
+NOTRUN Tests that a media element with an assigned MediaStream reports the currentTime attribute as expected
+NOTRUN Tests that a media element with an assigned MediaStream starts its timeline at 0 regardless of when the MediaStream was created
+NOTRUN Tests that a media element with an assigned MediaStream does not advance currentTime while paused
+NOTRUN Tests that a media element with an assigned MediaStream does not start advancing currentTime until potentially playing
+NOTRUN Tests that the loop attribute has no effect on a media element with an assigned MediaStream
+NOTRUN Tests that a media element with an assigned MediaStream ends when the MediaStream becomes inactive through tracks ending
+NOTRUN Tests that an audio element with an assigned MediaStream ends when the MediaStream becomes inaudible through audio tracks ending
+NOTRUN Tests that a media element with an assigned MediaStream ends when the MediaStream becomes inactive through track removal
+NOTRUN Tests that an audio element with an assigned MediaStream ends when the MediaStream becomes inaudible through track removal
+

Modified: trunk/Source/WebCore/ChangeLog (279033 => 279034)


--- trunk/Source/WebCore/ChangeLog	2021-06-18 08:29:09 UTC (rev 279033)
+++ trunk/Source/WebCore/ChangeLog	2021-06-18 10:35:40 UTC (rev 279034)
@@ -1,5 +1,21 @@
 2021-06-18  Philippe Normand  <[email protected]>
 
+        [GStreamer] imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html is failing since r273645
+        https://bugs.webkit.org/show_bug.cgi?id=223508
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Per spec, prevent seeks, playback rate changes and preload state updates on media elements backed by
+        the GStreamer MediaStream source element.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::seek):
+        (WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
+        (WebCore::MediaPlayerPrivateGStreamer::setPreload):
+        (WebCore::MediaPlayerPrivateGStreamer::maxMediaTimeSeekable const):
+
+2021-06-18  Philippe Normand  <[email protected]>
+
         [WebRTC][GStreamer] fast/mediastream/MediaStream-video-element-remove-track.html is failing
         https://bugs.webkit.org/show_bug.cgi?id=191886
 

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (279033 => 279034)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2021-06-18 08:29:09 UTC (rev 279033)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2021-06-18 10:35:40 UTC (rev 279034)
@@ -467,6 +467,11 @@
     if (!m_pipeline || m_didErrorOccur)
         return;
 
+#if ENABLE(MEDIA_STREAM)
+    if (WEBKIT_IS_MEDIA_STREAM_SRC(m_source.get()))
+        return;
+#endif
+
     GST_INFO_OBJECT(pipeline(), "[Seek] seek attempt to %s", toString(mediaTime).utf8().data());
 
     // Avoid useless seeking.
@@ -520,6 +525,11 @@
 
 void MediaPlayerPrivateGStreamer::updatePlaybackRate()
 {
+#if ENABLE(MEDIA_STREAM)
+    if (WEBKIT_IS_MEDIA_STREAM_SRC(m_source.get()))
+        return;
+#endif
+
     if (!m_isChangingRate)
         return;
 
@@ -638,6 +648,11 @@
 
 void MediaPlayerPrivateGStreamer::setPreload(MediaPlayer::Preload preload)
 {
+#if ENABLE(MEDIA_STREAM)
+    if (WEBKIT_IS_MEDIA_STREAM_SRC(m_source.get()))
+        return;
+#endif
+
     GST_DEBUG_OBJECT(pipeline(), "Setting preload to %s", convertEnumerationToString(preload).utf8().data());
     if (preload == MediaPlayer::Preload::Auto && m_isLiveStream)
         return;
@@ -695,6 +710,11 @@
     if (m_isLiveStream)
         return MediaTime::zeroTime();
 
+#if ENABLE(MEDIA_STREAM)
+    if (WEBKIT_IS_MEDIA_STREAM_SRC(m_source.get()))
+        return MediaTime::zeroTime();
+#endif
+
     MediaTime duration = durationMediaTime();
     GST_DEBUG_OBJECT(pipeline(), "maxMediaTimeSeekable, duration: %s", toString(duration).utf8().data());
     // Infinite duration means live stream.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to