[Webkit-unassigned] [Bug 245739] New: [GStreamer] Fix player stucking in buffering (paused) state for progressive streaming

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 27 09:18:20 PDT 2022


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

            Bug ID: 245739
           Summary: [GStreamer] Fix player stucking in buffering (paused)
                    state for progressive streaming
           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

When play state is changed from PAUSED to PLAYING and buffering is detected in the same updateStates() run, the pipeline state is changed back to PAUSED just before triggering playbackStateChanged() notification. As a result, at the time of running playbackStateChanged() player is already marked as paused, triggering pauseInternal() from HTMLMediaElement.

Once the buffering is completed and the player tries to change pipeline state from PAUSED back to PLAYING (setting ReadyState and NetworkState accordingly), it is instantly blocked by HTMLMediaElement (from setReadyState()->updatePlayState()) as according to the HTMLMediaPlayer object the player should be paused (shouldBePlaying evaluates to false). In that case, m_player->pause() is called, bringing player back to PAUSED state. As a result, the player can't really exit buffering state by its own and requires external input (like HTMLMediaElement::play()).

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

-- 
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/20220927/5089e9c5/attachment-0001.htm>


More information about the webkit-unassigned mailing list