Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d42fe538c8b6f8f01d268722793c4420a4573abf
      
https://github.com/WebKit/WebKit/commit/d42fe538c8b6f8f01d268722793c4420a4573abf
  Author: Philippe Normand <ph...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to