[Webkit-unassigned] [Bug 194592] New: [MSE][GStreamer] Seek after reaching end of stream does not work

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 13 07:34:41 PST 2019


https://bugs.webkit.org/show_bug.cgi?id=194592

            Bug ID: 194592
           Summary: [MSE][GStreamer] Seek after reaching end of stream
                    does not work
           Product: WebKit
           Version: WebKit Local Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKitGTK
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: s.krutikov at activevideo.com
                CC: bugs-noreply at webkitgtk.org

Created attachment 361917

  --> https://bugs.webkit.org/attachment.cgi?id=361917&action=review

Test HTML5 application

Performing a seek after reaching end of stream (EOS) has no effect. The test scenario works properly in Chrome and Firefox, but fails in MiniBrowser and in our proprietary component which is also based on WebKitGTK.

Our investigation has shown that the issue is caused by switching of readyState of a media source to "closed" whereas it should be "ended". This happens because "MediaPlayerPrivateGStreamer::didEnd" function pauses private player and moves GStreamer pipeline to "ready" state (https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp#L2194). When a seek after EOS is triggered, the "source-setup" signal is generated and its handler in "MediaPlayerPrivateGStreamerMSE" class causes issuing of "error" event for media element (https://github.com/WebKit/webkit/blob/master/Source/WebCore/html/HTMLMediaElement.cpp#L2217) and switching from "ended" to "closed" state in media source (https://github.com/WebKit/webkit/blob/master/Source/WebCore/Modules/mediasource/MediaSource.cpp#L925). We fixed the bug by not switching the pipeline to "ready" state, but we are not sure this is the proper fix.

Steps to reproduce the bug:
* Unzip the attached archive.
* Host and load mse.html - MSE video should start playing from a position near the end.
* Wait for approximately 7 seconds - EOS will be reached and a seek will be triggered.

Expected result: video playback position has changed, frame at the destination position is displayed, video playback is paused.
Actual result: nothing happens.

WebKitGTK version: 2.23.3

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190213/96b96d0e/attachment.html>


More information about the webkit-unassigned mailing list