[webkit-changes] [WebKit/WebKit] 611380: [GStreamer][MSE] Reinstall matroskademuxForceSegme...

Enrique Ocaña González noreply at github.com
Fri Feb 24 04:41:18 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 61138013faef34e38bdfec03db5e23790bbeaced
      https://github.com/WebKit/WebKit/commit/61138013faef34e38bdfec03db5e23790bbeaced
  Author: Enrique Ocaña González <eocanha at igalia.com>
  Date:   2023-02-24 (Fri, 24 Feb 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp

  Log Message:
  -----------
  [GStreamer][MSE] Reinstall matroskademuxForceSegmentStartToEqualZero probe on relinking
https://bugs.webkit.org/show_bug.cgi?id=252480

When a matroskademux src pad is relinked (because the old one was removed), the
probe that corrects the segment start is lost with the disappearing pad and
never reinstalled on the replacing one. This can cause issues, for instance,
while doing trick playback in reverse on Broadcom devices, which don't need
parsers.

During trickplay, pads between demux and appsink elements are relinked.
GstBuffers related to trick playback are rejected/clipped by appsink (more
precisely, by its base class: GstBaseSink), because GstSegment start position
value don't match to those GstBuffers.

See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1033

Co-authored by: Jacek Skiba <jacek.skiba at consult.red>

Reviewed by Alicia Boya Garcia.

* Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::recycleTrackForPad): Reinstall the probe.

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




More information about the webkit-changes mailing list