Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 554e6641135858b62758e095cf7157533d9052ae
      
https://github.com/WebKit/WebKit/commit/554e6641135858b62758e095cf7157533d9052ae
  Author: Enrique Ocaña González <[email protected]>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    A 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt
    M Source/WebCore/platform/graphics/PlatformTimeRanges.cpp
    M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
    M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
    M Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h
    M Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp

  Log Message:
  -----------
  [MSE][GStreamer] Honor MP4 edit lists
https://bugs.webkit.org/show_bug.cgi?id=231019

Reviewed by Alicia Boya Garcia and Xabier Rodriguez-Calvar.

This patch reintroduces https://commits.webkit.org/251332@main with
even more corrections (basically, keeping the original time fudge factor),
which motivated the last patch revert in bug 231019.

Original author: Alicia Boya Garcia <[email protected]>

Source/WebCore:

This patch takes into consideration the GstSegment attached to a sample to 
offset the PTS and DTS.
This ensures accurate timestamps are obtained for MP4 files containing edit 
lists (commonly
necessary for files containing video with B frames to have PTS starting at 
zero).

Before this was implemented, a workaround was in place based on a heuristic 
(DTS = 0 && PTS > 0 &&
PTS < 0.1). The workaround has been removed and replaced by a GStreamer log 
warning, because we no
longer believe it to be needed, but we would like to notice about any video 
having required it in
theory and failing because of this removal. The heuristic now uses the old 
fudge factor (2002/24000
= ~0.083).

The time fudge factor has been centralized to PlatformTimeRanges, so now it's 
easier to change in
case of need, but it remains untouched because the old 0.083 value was good 
enough to pass the empty
edit in test.mp4 used by Web Platform Tests.

This test fixes improves expectation results and fixes two subtests in
imported/w3c/web-platform-tests/media-source/mediasource-remove.html.

This is a reworked version that fixes an issue where frames that would get a 
negative DTS were not
being enqueued properly.

LayoutTests:

Update expectations for mediasource-remove.html in the GStreamer ports, as a 3 
subtests get
fixed.

Canonical link: https://commits.webkit.org/317765@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to