RESOLVED FIXED287881
[GStreamer] Account for internal pauses because of buffering
https://bugs.webkit.org/show_bug.cgi?id=287881
Summary [GStreamer] Account for internal pauses because of buffering
Enrique Ocaña
Reported 2025-02-18 12:24:31 PST
The PlaybackRatePausedState in MediaPlayerPrivateGStreamer only accounts for different pause reasons because of manual pause and playbackRate == 0, but pauses because of low buffering level should also be accounted. Currently they aren't (but the player can get paused because of it) and that's confusing the code that deals with pauses/unpauses because of playbackRate. See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1455 This downstream PR proposes to "abuse" PlaybackRatePausedState::RatePaused to keep tack of pauses because of buffering, but that's conceptually wrong. A new BufferingPaused state should be created to keep track of this pause reason and be able to recover from it (unpause) later.
Attachments
Enrique Ocaña
Comment 1 2025-02-18 12:31:56 PST
EWS
Comment 2 2025-02-19 06:52:02 PST
Committed 290606@main (81369aab5cd7): <https://commits.webkit.org/290606@main> Reviewed commits have been landed. Closing PR #40775 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2025-02-19 06:53:15 PST
Enrique Ocaña
Comment 4 2025-02-20 09:34:41 PST
The original patch needs a follow-up to ensure that the simulated paused state because of buffering isn't reported to the upper layers as a formal pause (requested by the user).
Enrique Ocaña
Comment 5 2025-02-20 10:33:04 PST
EWS
Comment 6 2025-02-21 03:03:45 PST
Committed 290782@main (fc5c5462bec0): <https://commits.webkit.org/290782@main> Reviewed commits have been landed. Closing PR #40979 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.