RESOLVED FIXED286750
[GStreamer] Handle pre-roll in setVisibleInViewport()
https://bugs.webkit.org/show_bug.cgi?id=286750
Summary [GStreamer] Handle pre-roll in setVisibleInViewport()
Alicia Boya García
Reported 2025-01-30 08:14:48 PST
Inside the player suspension code in setVisibleInViewport(), the pipeline state is saved so that the pipeline can be set back to it when later resuming. However, the existing code was using the current state instead of the target state. As a consequence, if the pipeline was still prerolling, the pipeline would be set to READY instead of PAUSED on resume. This patch fixes that issue by reading both the current and pending state, and using the pending state if not VOID_PENDING. Removing this unexpected transition to READY has reduced the amount of crashes in presence of muted video and scrolling; however, I wouldn't go so far as blaming the crashes on this bug, as changing the pipeline state should not crash the pipeline.
Attachments
Alicia Boya García
Comment 1 2025-01-30 08:16:26 PST
EWS
Comment 2 2025-01-31 09:24:08 PST
Committed 289607@main (aa09557dfddc): <https://commits.webkit.org/289607@main> Reviewed commits have been landed. Closing PR #39765 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.