| Differences between
and this patch
- a/Source/WebCore/ChangeLog +22 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2017-07-20  Charlie Turner  <cturner@igalia.com>
2
3
        [GTK] Layout Test http/tests/media/hls/hls-progress.html is failing
4
        https://bugs.webkit.org/show_bug.cgi?id=141469
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        A work-around for getting progress information in a timely manner from
9
        live pipelines. We cannot rely on getting BUFFERING messages within
10
        the stalled time window (3s), so we have to poll for progress
11
        information somehow.
12
13
        Makes the following pass reliably
14
         http/tests/media/hls/hls-audio-tracks-has-audio.html passed unexpectedly
15
         http/tests/media/hls/hls-audio-tracks.html passed unexpectedly
16
         http/tests/media/hls/hls-progress.html passed unexpectedly
17
18
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
19
        (WebCore::findHLSQueue):
20
        (WebCore::isHLSProgressing):
21
        (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
22
1
2017-07-17  Zan Dobersek  <zdobersek@igalia.com>
23
2017-07-17  Zan Dobersek  <zdobersek@igalia.com>
2
24
3
        [CMake] Clean up Web Crypto build targets
25
        [CMake] Clean up Web Crypto build targets
- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp -3 / +41 lines
Lines 1192-1204 void MediaPlayerPrivateGStreamer::processTableOfContentsEntry(GstTocEntry* entry a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp_sec1
1192
}
1192
}
1193
#endif
1193
#endif
1194
1194
1195
static int findHLSQueue(const GValue* item)
1196
{
1197
    GstElement* element = GST_ELEMENT(g_value_get_object(item));
1198
    if (g_str_has_prefix(GST_ELEMENT_NAME(element), "queue")) {
1199
        GstElement* parent = GST_ELEMENT(GST_ELEMENT_PARENT(element));
1200
        if (!GST_IS_OBJECT(parent))
1201
            return 1;
1202
1203
        if (g_str_has_prefix(GST_ELEMENT_NAME(GST_ELEMENT_PARENT(parent)), "hlsdemux"))
1204
            return 0;
1205
    }
1206
1207
    return 1;
1208
}
1209
1210
static bool isHLSProgressing(GstElement* playbin, GstQuery* query)
1211
{
1212
    GValue item = { };
1213
    GstIterator* binIterator = gst_bin_iterate_recurse(GST_BIN(playbin));
1214
    bool foundHLSQueue = gst_iterator_find_custom(binIterator, reinterpret_cast<GCompareFunc>(findHLSQueue), &item, nullptr);
1215
    gst_iterator_free(binIterator);
1216
1217
    if (!foundHLSQueue)
1218
        return false;
1219
1220
    GstElement* queueElement = GST_ELEMENT(g_value_get_object(&item));
1221
    bool queryResult = gst_element_query(queueElement, query);
1222
    g_value_unset(&item);
1223
1224
    return queryResult;
1225
}
1226
1195
void MediaPlayerPrivateGStreamer::fillTimerFired()
1227
void MediaPlayerPrivateGStreamer::fillTimerFired()
1196
{
1228
{
1197
    GstQuery* query = gst_query_new_buffering(GST_FORMAT_PERCENT);
1229
    GstQuery* query = gst_query_new_buffering(GST_FORMAT_PERCENT);
1198
1230
1199
    if (!gst_element_query(m_pipeline.get(), query)) {
1231
    if (G_UNLIKELY(!gst_element_query(m_pipeline.get(), query))) {
1200
        gst_query_unref(query);
1232
        // This query always fails for live pipelines. In the case of HLS, try and find
1201
        return;
1233
        // the queue inside the HLS element to get a proxy measure of progress. Note
1234
        // that the percentage value is rather meaningless as used below.
1235
        // This is a hack, see https://bugs.webkit.org/show_bug.cgi?id=141469.
1236
        if (!isHLSProgressing(m_pipeline.get(), query)) {
1237
            gst_query_unref(query);
1238
            return;
1239
        }
1202
    }
1240
    }
1203
1241
1204
    gint64 start, stop;
1242
    gint64 start, stop;
- a/LayoutTests/ChangeLog +11 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2017-07-20  Charlie Turner  <cturner@igalia.com>
2
3
        [GTK] Layout Test http/tests/media/hls/hls-progress.html is failing
4
        https://bugs.webkit.org/show_bug.cgi?id=141469
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Fixes the removed tests.
9
10
        * platform/gtk/TestExpectations:
11
1
2017-07-16  Antoine Quint  <graouts@apple.com>
12
2017-07-16  Antoine Quint  <graouts@apple.com>
2
13
3
        Dismissing the captions panel using the mouse is too eager to remove the captions panel and media controls
14
        Dismissing the captions panel using the mouse is too eager to remove the captions panel and media controls
- a/LayoutTests/platform/gtk/TestExpectations -3 lines
Lines 945-951 webkit.org/b/141466 fast/media/mq-pointer-styling.html [ Failure ] a/LayoutTests/platform/gtk/TestExpectations_sec1
945
webkit.org/b/141466 fast/media/mq-pointer.html [ Failure ]
945
webkit.org/b/141466 fast/media/mq-pointer.html [ Failure ]
946
946
947
webkit.org/b/116259 http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html [ Failure ]
947
webkit.org/b/116259 http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html [ Failure ]
948
webkit.org/b/141469 [ Release ] http/tests/media/hls/hls-progress.html [ Failure ]
949
webkit.org/b/141423 svg/css/getComputedStyle-basic.xhtml [ Failure ]
948
webkit.org/b/141423 svg/css/getComputedStyle-basic.xhtml [ Failure ]
950
949
951
webkit.org/b/141467 fast/multicol/pagination/LeftToRight-tb-hittest.html [ Failure ]
950
webkit.org/b/141467 fast/multicol/pagination/LeftToRight-tb-hittest.html [ Failure ]
Lines 1107-1114 webkit.org/b/154390 http/tests/media/video-redirect.html [ Timeout Pass ] a/LayoutTests/platform/gtk/TestExpectations_sec2
1107
webkit.org/b/154390 [ Release ] http/tests/media/hls/video-controller-getStartDate.html [ Timeout Failure ]
1106
webkit.org/b/154390 [ Release ] http/tests/media/hls/video-controller-getStartDate.html [ Timeout Failure ]
1108
webkit.org/b/154390 [ Release ] http/tests/media/hls/hls-audio-tracks-locale-selection.html [ Timeout Failure ]
1107
webkit.org/b/154390 [ Release ] http/tests/media/hls/hls-audio-tracks-locale-selection.html [ Timeout Failure ]
1109
webkit.org/b/154390 [ Release ] http/tests/media/hls/hls-video-resize.html [ Timeout Failure ]
1108
webkit.org/b/154390 [ Release ] http/tests/media/hls/hls-video-resize.html [ Timeout Failure ]
1110
webkit.org/b/154390 [ Release ] http/tests/media/hls/hls-audio-tracks.html [ Timeout Failure ]
1111
webkit.org/b/154390 [ Release ] http/tests/media/hls/hls-audio-tracks-has-audio.html [ Timeout Failure ]
1112
webkit.org/b/154390 http/tests/security/local-video-source-from-remote.html [ Timeout Pass ]
1109
webkit.org/b/154390 http/tests/security/local-video-source-from-remote.html [ Timeout Pass ]
1113
1110
1114
webkit.org/b/155505 http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-audio.html [ Skip ]
1111
webkit.org/b/155505 http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-audio.html [ Skip ]

Return to Bug 141469