[Webkit-unassigned] [Bug 242395] New: [Media] Destroy media player on fatal playback error

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jul 6 09:37:13 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=242395

            Bug ID: 242395
           Summary: [Media] Destroy media player on fatal playback error
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Media
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: eocanha at igalia.com

Under some circumstances, the SourceBuffer.append() can generate an EOS internally in glib ports, which reaches HTMLMediaElement as DecodeError. This triggers detachMediaSource() while the player is still playing fine (it's not aware of any issue). Eventually, the player reaches EOS when running out of samples and the playback is ended. The JavaScript app may try to resume video with video.play(), triggering seek(0), which triggers other internal operations. One of those operations was a MediaPlayerPrivateGStreamerMSE::sourceSetup() call that was trying to setPrivateAndOpen() on the MediaSource that was already detached and this was crashing. The crash itself was fixed in https://bugs.webkit.org/show_bug.cgi?id=220091 by reopening MediaSource on load() only, but the player private still keeps this detached MediaSource that may cause different issues.

The proper way to avoid this invalid state where a reference to MediaSource is kept by the player private is to ensure that the player is destroyed on error. It will be recreated again if needed if a fresh src is set in the future.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220706/ccb4f407/attachment.htm>


More information about the webkit-unassigned mailing list