Bug 227687

Summary: [GStreamer] Looped video is not seamless (flicker inbetween loops)
Product: WebKit Reporter: Daniel Kolesa <dkolesa>
Component: WPE WebKitAssignee: Philippe Normand <pnormand>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, calvaris, cdumez, cgarcia, changseok, eric.carlson, esprehn+autocc, ews-watchlist, glenn, gustavo, gyuyoung.kim, jer.noble, menard, nazar, philipj, pnormand, sergio, vjaquez
Priority: P2    
Version: WebKit Local Build   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch calvaris: review+

Description Daniel Kolesa 2021-07-05 11:12:54 PDT
It would seem that that in webkit builds using the gstreamer backend, looped videos are not seamless. File to reproduce: https://ftp.octaforge.org/q66/random/red.mp4

HTML source for test:

<video src="red.mp4" autoplay loop />

This "flicker" happens after the player stops and before it starts again. It should be reproducible with any video, but the above is guaranteed to reproduce the problem.
Comment 1 Philippe Normand 2021-07-19 08:09:25 PDT
Created attachment 433790 [details]
Patch
Comment 2 Xabier Rodríguez Calvar 2021-07-20 05:07:22 PDT
Comment on attachment 433790 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=433790&action=review

> Source/WebCore/ChangeLog:10
> +        non-flushing seeks to seek back to the beginning of the media. This ensure a seamless
> +        behavior has the pipeline state doesn't change and sinks don't flush. This can be done only

This ensure...don't flush does not "parse".

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:471
> +

Extra line
Comment 3 Philippe Normand 2021-07-20 05:46:42 PDT
Comment on attachment 433790 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=433790&action=review

>> Source/WebCore/ChangeLog:10
>> +        behavior has the pipeline state doesn't change and sinks don't flush. This can be done only
> 
> This ensure...don't flush does not "parse".

s/has/as :)
Thanks for the review.
Comment 4 Philippe Normand 2021-07-20 08:07:20 PDT
Hum this breaks pages with videos containing webm/alpha. Can't land as-is.
Comment 5 Philippe Normand 2022-10-04 10:36:11 PDT
Pull request: https://github.com/WebKit/WebKit/pull/4989
Comment 6 EWS 2023-05-09 04:25:03 PDT
Committed 263860@main (bc8bd3bac663): <https://commits.webkit.org/263860@main>

Reviewed commits have been landed. Closing PR #4989 and removing active labels.