Changeset 261680 in webkit


Ignore:
Timestamp:
May 14, 2020 1:26:57 AM (4 years ago)
Author:
commit-queue@webkit.org
Message:

[GStreamer] Can't replay blob videos in web.whatsapp.com
https://bugs.webkit.org/show_bug.cgi?id=192540

Patch by Philippe Normand <pnormand@igalia.com> on 2020-05-14
Reviewed by Xabier Rodriguez-Calvar.

This is a variant of bug 211627 but I could reproduce it only for videos. Unfortunately I
wasn't able to write a reliable test for this.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::updateBufferingStatus): Prevent the fill timer from
running forever after buffering completed.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcMakeRequest): Don't buffer blobs, this doesn't seem useful as they're already
in memory anyway.

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r261679 r261680  
     12020-05-14  Philippe Normand  <pnormand@igalia.com>
     2
     3        [GStreamer] Can't replay blob videos in web.whatsapp.com
     4        https://bugs.webkit.org/show_bug.cgi?id=192540
     5
     6        Reviewed by Xabier Rodriguez-Calvar.
     7
     8        This is a variant of bug 211627 but I could reproduce it only for videos. Unfortunately I
     9        wasn't able to write a reliable test for this.
     10
     11        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
     12        (WebCore::MediaPlayerPrivateGStreamer::updateBufferingStatus): Prevent the fill timer from
     13        running forever after buffering completed.
     14        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
     15        (webKitWebSrcMakeRequest): Don't buffer blobs, this doesn't seem useful as they're already
     16        in memory anyway.
     17
    1182020-05-06  Sergio Villar Senin  <svillar@igalia.com>
    219
  • trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp

    r261550 r261680  
    21202120    if (!m_didDownloadFinish)
    21212121        m_isBuffering = true;
     2122    else
     2123        m_fillTimer.stop();
    21222124
    21232125    m_bufferingPercentage = percentage;
  • trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp

    r261597 r261680  
    698698
    699699        PlatformMediaResourceLoader::LoadOptions loadOptions = 0;
    700         if (request.url().protocolIsBlob())
    701             loadOptions |= PlatformMediaResourceLoader::LoadOption::BufferData;
    702700        members->resource = members->loader->requestResource(ResourceRequest(request), loadOptions);
    703701        if (members->resource) {
Note: See TracChangeset for help on using the changeset viewer.