Changeset 250901 in webkit


Ignore:
Timestamp:
Oct 9, 2019 1:17:40 AM (5 years ago)
Author:
Philippe Normand
Message:

REGRESSION(r246399): [GStreamer] Problems playing AAC streams
https://bugs.webkit.org/show_bug.cgi?id=202204

Reviewed by Xabier Rodriguez-Calvar.

Push the EOS event in the WebKitWebSrc element when the internal
queue is empty only for non-live resources. In the live case the
queue might drain temporarily but that's OK because data would
still be queued in downstream elements.

No new tests, the EOS event was pushed too early because of this
regression but there's no way to differentiate it from an expected
event in a layout test.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcCreate):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r250900 r250901  
     12019-10-09  Philippe Normand  <pnormand@igalia.com>
     2
     3        REGRESSION(r246399): [GStreamer] Problems playing AAC streams
     4        https://bugs.webkit.org/show_bug.cgi?id=202204
     5
     6        Reviewed by Xabier Rodriguez-Calvar.
     7
     8        Push the EOS event in the WebKitWebSrc element when the internal
     9        queue is empty only for non-live resources. In the live case the
     10        queue might drain temporarily but that's OK because data would
     11        still be queued in downstream elements.
     12
     13        No new tests, the EOS event was pushed too early because of this
     14        regression but there's no way to differentiate it from an expected
     15        event in a layout test.
     16
     17        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
     18        (webKitWebSrcCreate):
     19
    1202019-10-09  youenn fablet  <youenn@apple.com>
    221
  • trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp

    r248846 r250901  
    452452            GST_BUFFER_OFFSET_END(*buffer) = GST_BUFFER_OFFSET(*buffer) + size;
    453453            GST_TRACE_OBJECT(src, "Buffer bounds set to %" G_GUINT64_FORMAT "-%" G_GUINT64_FORMAT, GST_BUFFER_OFFSET(*buffer), GST_BUFFER_OFFSET_END(*buffer));
    454             GST_TRACE_OBJECT(src, "doesHaveEOS: %s, wasSeeking: %s, seeking: %s, size: %u", boolForPrinting(priv->doesHaveEOS), boolForPrinting(priv->wasSeeking), boolForPrinting(priv->isSeeking), size);
     454            GST_TRACE_OBJECT(src, "doesHaveEOS: %s, wasSeeking: %s, seeking: %s, buffer size: %u, size: %" G_GUINT64_FORMAT, boolForPrinting(priv->doesHaveEOS), boolForPrinting(priv->wasSeeking), boolForPrinting(priv->isSeeking), size, priv->size);
    455455            if (priv->haveSize && GST_BUFFER_OFFSET_END(*buffer) >= priv->size) {
    456456                if (priv->wasSeeking)
    457457                    priv->wasSeeking = false;
    458                 else
     458                else if (priv->isSeekable)
    459459                    priv->doesHaveEOS = true;
    460460            } else if (priv->wasSeeking)
Note: See TracChangeset for help on using the changeset viewer.