Bug 227687 - [GStreamer] Looped video is not seamless (flicker inbetween loops)
Summary: [GStreamer] Looped video is not seamless (flicker inbetween loops)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WPE WebKit (show other bugs)
Version: WebKit Local Build
Hardware: PC Linux
: P2 Normal
Assignee: Philippe Normand
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-05 11:12 PDT by Daniel Kolesa
Modified: 2023-05-09 04:25 PDT (History)
18 users (show)

See Also:


Attachments
Patch (15.76 KB, patch)
2021-07-19 08:09 PDT, Philippe Normand
calvaris: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.