[webkit-changes] [WebKit/WebKit] 2fc328: [MSE] Round SourceBuffer removal range

Enrique Ocaña González noreply at github.com
Wed Sep 14 05:25:06 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2fc32818fdd29c1ec7d7570727a5d68d057c446f
      https://github.com/WebKit/WebKit/commit/2fc32818fdd29c1ec7d7570727a5d68d057c446f
  Author: Enrique Ocaña González <eocanha at igalia.com>
  Date:   2022-09-14 (Wed, 14 Sep 2022)

  Changed paths:
    M Source/WebCore/Modules/mediasource/SourceBuffer.cpp

  Log Message:
  -----------
  [MSE] Round SourceBuffer removal range
https://bugs.webkit.org/show_bug.cgi?id=245081

Reviewed by Xabier Rodriguez-Calvar.

Representation of removal times as double in SourceBuffer::remove() can cause
problems in HBOMax due to precision/rounding problems.

In some problematic cases an unintended frame would be marked for removal because
of the very small overlap that could come from precision lost. For instance,
HBOMax uses the PTS of the next sample as removal 'end' and unexpectedly removes
the next segment (as it's a sync frame) sometimes.

Rounding the double removal range delimiters to nanoseconds would help to avoid
those problematic cases.

Original author: Andrzej Surdej <Andrzej_Surdej at comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/921

* Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::remove): Round the removal range start/end values to millisecond precision.

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




More information about the webkit-changes mailing list