[webkit-changes] [WebKit/WebKit] d42fe5: [GStreamer][MediaStream] fast/mediastream/MediaStr...
Philippe Normand
noreply at github.com
Mon Apr 24 05:10:06 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d42fe538c8b6f8f01d268722793c4420a4573abf
https://github.com/WebKit/WebKit/commit/d42fe538c8b6f8f01d268722793c4420a4573abf
Author: Philippe Normand <philn at igalia.com>
Date: 2023-04-24 (Mon, 24 Apr 2023)
Changed paths:
M LayoutTests/platform/glib/TestExpectations
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
Log Message:
-----------
[GStreamer][MediaStream] fast/mediastream/MediaStream-video-element-track-stop.html fails
https://bugs.webkit.org/show_bug.cgi?id=254529
Reviewed by Xabier Rodriguez-Calvar.
The EOS and position tracking for MediaStreams is improved, we now report monotonically increasing
timestamps for the position, similarily to the Mac port. The duration is no longer cached, it's
useless in this case, we can always return positiveInfinite() and thus simplify the `didEnd()` method.
Also the stream collection is now handled differently, when receiving a new collection we
first disable video/text tracks, remove old audio tracks and reactivate tracks corresponding to
existing GstStreams. When player no longer has enabled tracks we trigger the EOS mechanism.
The mediastreamsrc element will now post an empty stream collection when all its tracks have ended,
this allows the media player to deactivate ended video tracks and remove ended audio tracks.
* LayoutTests/platform/glib/TestExpectations:
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::pause):
(WebCore::MediaPlayerPrivateGStreamer::durationMediaTime const):
(WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
(WebCore::MediaPlayerPrivateGStreamer::updateTracks):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(webkitMediaStreamSrcPostStreamCollection):
Canonical link: https://commits.webkit.org/263307@main
More information about the webkit-changes
mailing list