Bug 287881
| Summary: | [GStreamer] Account for internal pauses because of buffering | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Enrique Ocaña <eocanha> |
| Component: | New Bugs | Assignee: | Enrique Ocaña <eocanha> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Enrique Ocaña
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Enrique Ocaña
Pull request: https://github.com/WebKit/WebKit/pull/40775
EWS
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
<rdar://problem/145136232>
Enrique Ocaña
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
Pull request: https://github.com/WebKit/WebKit/pull/40979
EWS
Committed 290782@main (fc5c5462bec0): <https://commits.webkit.org/290782@main>
Reviewed commits have been landed. Closing PR #40979 and removing active labels.