[Webkit-unassigned] [Bug 169202] New: [GStreamer][MSE] Actually implement flush() on playback pipeline
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Mar 6 06:27:53 PST 2017
https://bugs.webkit.org/show_bug.cgi?id=169202
Bug ID: 169202
Summary: [GStreamer][MSE] Actually implement flush() on
playback pipeline
Classification: Unclassified
Product: WebKit
Version: WebKit Local Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Media Elements
Assignee: webkit-unassigned at lists.webkit.org
Reporter: eocanha at igalia.com
The GStreamer MSE implementation didn't implement flush() because GStreamer didn't offer a natural way to flush just one (audio/video) stream instead of flushing the whole pipeline. As this use case was only relevant during seeks, we just did nothing and waited the seek to happen and perform the flush by itself (a seek implies a flush in GStreamer).
However, we have recently detected that flush() also happens in YouTube TV when a quality change happens, so the web page reenqueues higher quality samples and overwrites some buffered ranges having lower quality and having already been enqueued for playback. In that case, flush() should clean the already enqueued data only on that stream and a new reenqueue would provide more accurate (higher resolution) data. As flush() does nothing in our case, the outcome was that the user could see some parts of the video "played twice", together with some audio/video desynchronization.
The right fix would be to properly implement per-stream flushing.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170306/e62cd294/attachment-0001.html>
More information about the webkit-unassigned
mailing list