[webkit-changes] [WebKit/WebKit] 3acded: iOS 17.1 beta 2: ManagedMediaSource video playback...

Jean-Yves Avenard noreply at github.com
Thu Oct 12 18:41:41 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3acdede1a2e206a002bf8436467c51296fe223e7
      https://github.com/WebKit/WebKit/commit/3acdede1a2e206a002bf8436467c51296fe223e7
  Author: Jean-Yves Avenard <jya at apple.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    A LayoutTests/media/media-source/media-managedmse-resume-after-stall-expected.txt
    A LayoutTests/media/media-source/media-managedmse-resume-after-stall.html
    M LayoutTests/platform/ios-16/TestExpectations
    M LayoutTests/platform/ipad/TestExpectations
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm

  Log Message:
  -----------
  iOS 17.1 beta 2: ManagedMediaSource video playback stops when changing timestampOffset
https://bugs.webkit.org/show_bug.cgi?id=262886
rdar://116707511

Reviewed by Eric Carlson.

We set MediaPlayerPrivateMediaSourceAVFObjC::m_playing to false if the video
playback stalled for whatever reason: a condition detected when the effective
playback rate became 0 and a notification was sent.
However, once we finished seeking or once a decoded data is available again
we would resume playback only if m_playback is true.
We need to resume playback if we used to play the video (that is play() was called
and the video wasn't explictly paused).

The change effectively revert changes made in 266665 at main and 266675 at main.

Adding test to catch future regressions.

* LayoutTests/media/media-source/media-managedmse-resume-after-stall-expected.txt: Added.
* LayoutTests/media/media-source/media-managedmse-resume-after-stall.html: Added.
* LayoutTests/platform/ios-16/TestExpectations:
* LayoutTests/platform/ipad/TestExpectations:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldBePlaying const):

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




More information about the webkit-changes mailing list