Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 543066 | Differences between
and this patch

Collapse All | Expand All

(-)Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp.orig (-21 / +21 lines)
Lines 346-352 Link Here
346
346
347
    switch (propID) {
347
    switch (propID) {
348
    case PROP_IRADIO_MODE: {
348
    case PROP_IRADIO_MODE: {
349
        GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
349
        WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
350
        priv->iradioMode = g_value_get_boolean(value);
350
        priv->iradioMode = g_value_get_boolean(value);
351
        break;
351
        break;
352
    }
352
    }
Lines 364-370 Link Here
364
    WebKitWebSrc* src = WEBKIT_WEB_SRC(object);
364
    WebKitWebSrc* src = WEBKIT_WEB_SRC(object);
365
    WebKitWebSrcPrivate* priv = src->priv;
365
    WebKitWebSrcPrivate* priv = src->priv;
366
366
367
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
367
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
368
    switch (propID) {
368
    switch (propID) {
369
    case PROP_IRADIO_MODE:
369
    case PROP_IRADIO_MODE:
370
        g_value_set_boolean(value, priv->iradioMode);
370
        g_value_set_boolean(value, priv->iradioMode);
Lines 417-423 Link Here
417
417
418
    ASSERT(isMainThread());
418
    ASSERT(isMainThread());
419
419
420
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
420
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
421
421
422
    bool seeking = priv->seekID;
422
    bool seeking = priv->seekID;
423
423
Lines 476-482 Link Here
476
476
477
    ASSERT(isMainThread());
477
    ASSERT(isMainThread());
478
478
479
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
479
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
480
480
481
    priv->startID = 0;
481
    priv->startID = 0;
482
    priv->corsAccessCheck = CORSNoCheck;
482
    priv->corsAccessCheck = CORSNoCheck;
Lines 573-579 Link Here
573
        return ret;
573
        return ret;
574
    }
574
    }
575
575
576
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
576
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
577
    switch (transition) {
577
    switch (transition) {
578
    case GST_STATE_CHANGE_READY_TO_PAUSED:
578
    case GST_STATE_CHANGE_READY_TO_PAUSED:
579
        GST_DEBUG_OBJECT(src, "READY->PAUSED");
579
        GST_DEBUG_OBJECT(src, "READY->PAUSED");
Lines 604-610 Link Here
604
        gst_query_parse_duration(query, &format, NULL);
604
        gst_query_parse_duration(query, &format, NULL);
605
605
606
        GST_DEBUG_OBJECT(src, "duration query in format %s", gst_format_get_name(format));
606
        GST_DEBUG_OBJECT(src, "duration query in format %s", gst_format_get_name(format));
607
        GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
607
        WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
608
        if (format == GST_FORMAT_BYTES && src->priv->size > 0) {
608
        if (format == GST_FORMAT_BYTES && src->priv->size > 0) {
609
            gst_query_set_duration(query, format, src->priv->size);
609
            gst_query_set_duration(query, format, src->priv->size);
610
            result = TRUE;
610
            result = TRUE;
Lines 612-618 Link Here
612
        break;
612
        break;
613
    }
613
    }
614
    case GST_QUERY_URI: {
614
    case GST_QUERY_URI: {
615
        GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
615
        WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
616
        gst_query_set_uri(query, src->priv->uri);
616
        gst_query_set_uri(query, src->priv->uri);
617
        result = TRUE;
617
        result = TRUE;
618
        break;
618
        break;
Lines 653-659 Link Here
653
    WebKitWebSrc* src = WEBKIT_WEB_SRC(handler);
653
    WebKitWebSrc* src = WEBKIT_WEB_SRC(handler);
654
    gchar* ret;
654
    gchar* ret;
655
655
656
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
656
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
657
    ret = g_strdup(src->priv->uri);
657
    ret = g_strdup(src->priv->uri);
658
    return ret;
658
    return ret;
659
}
659
}
Lines 668-674 Link Here
668
        return FALSE;
668
        return FALSE;
669
    }
669
    }
670
670
671
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
671
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
672
672
673
    g_free(priv->uri);
673
    g_free(priv->uri);
674
    priv->uri = 0;
674
    priv->uri = 0;
Lines 704-710 Link Here
704
704
705
    ASSERT(isMainThread());
705
    ASSERT(isMainThread());
706
706
707
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
707
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
708
    // already stopped
708
    // already stopped
709
    if (!priv->needDataID)
709
    if (!priv->needDataID)
710
        return FALSE;
710
        return FALSE;
Lines 725-731 Link Here
725
725
726
    GST_DEBUG_OBJECT(src, "Need more data: %u", length);
726
    GST_DEBUG_OBJECT(src, "Need more data: %u", length);
727
727
728
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
728
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
729
    if (priv->needDataID || !priv->paused) {
729
    if (priv->needDataID || !priv->paused) {
730
        return;
730
        return;
731
    }
731
    }
Lines 739-745 Link Here
739
739
740
    ASSERT(isMainThread());
740
    ASSERT(isMainThread());
741
741
742
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
742
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
743
    // already stopped
743
    // already stopped
744
    if (!priv->enoughDataID)
744
    if (!priv->enoughDataID)
745
        return FALSE;
745
        return FALSE;
Lines 760-766 Link Here
760
760
761
    GST_DEBUG_OBJECT(src, "Have enough data");
761
    GST_DEBUG_OBJECT(src, "Have enough data");
762
762
763
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
763
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
764
    if (priv->enoughDataID || priv->paused) {
764
    if (priv->enoughDataID || priv->paused) {
765
        return;
765
        return;
766
    }
766
    }
Lines 774-780 Link Here
774
774
775
    ASSERT(isMainThread());
775
    ASSERT(isMainThread());
776
776
777
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
777
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
778
    // already stopped
778
    // already stopped
779
    if (!priv->seekID)
779
    if (!priv->seekID)
780
        return FALSE;
780
        return FALSE;
Lines 792-798 Link Here
792
    WebKitWebSrcPrivate* priv = src->priv;
792
    WebKitWebSrcPrivate* priv = src->priv;
793
793
794
    GST_DEBUG_OBJECT(src, "Seeking to offset: %" G_GUINT64_FORMAT, offset);
794
    GST_DEBUG_OBJECT(src, "Seeking to offset: %" G_GUINT64_FORMAT, offset);
795
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
795
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
796
    if (offset == priv->offset && priv->requestedOffset == priv->offset)
796
    if (offset == priv->offset && priv->requestedOffset == priv->offset)
797
        return TRUE;
797
        return TRUE;
798
798
Lines 811-817 Link Here
811
void webKitWebSrcSetMediaPlayer(WebKitWebSrc* src, WebCore::MediaPlayer* player)
811
void webKitWebSrcSetMediaPlayer(WebKitWebSrc* src, WebCore::MediaPlayer* player)
812
{
812
{
813
    ASSERT(player);
813
    ASSERT(player);
814
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
814
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
815
    src->priv->player = player;
815
    src->priv->player = player;
816
}
816
}
817
817
Lines 841-847 Link Here
841
841
842
    mapGstBuffer(buffer);
842
    mapGstBuffer(buffer);
843
843
844
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
844
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
845
    priv->buffer = adoptGRef(buffer);
845
    priv->buffer = adoptGRef(buffer);
846
    locker.unlock();
846
    locker.unlock();
847
847
Lines 867-873 Link Here
867
        return;
867
        return;
868
    }
868
    }
869
869
870
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
870
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
871
871
872
    priv->corsAccessCheck = corsAccessCheck;
872
    priv->corsAccessCheck = corsAccessCheck;
873
873
Lines 966-972 Link Here
966
    WebKitWebSrc* src = WEBKIT_WEB_SRC(m_src);
966
    WebKitWebSrc* src = WEBKIT_WEB_SRC(m_src);
967
    WebKitWebSrcPrivate* priv = src->priv;
967
    WebKitWebSrcPrivate* priv = src->priv;
968
968
969
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
969
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
970
970
971
    GST_LOG_OBJECT(src, "Have %lld bytes of data", priv->buffer ? static_cast<long long>(gst_buffer_get_size(priv->buffer.get())) : length);
971
    GST_LOG_OBJECT(src, "Have %lld bytes of data", priv->buffer ? static_cast<long long>(gst_buffer_get_size(priv->buffer.get())) : length);
972
972
Lines 1035-1041 Link Here
1035
1035
1036
    GST_DEBUG_OBJECT(src, "Have EOS");
1036
    GST_DEBUG_OBJECT(src, "Have EOS");
1037
1037
1038
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
1038
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
1039
    if (!priv->seekID) {
1039
    if (!priv->seekID) {
1040
        locker.unlock();
1040
        locker.unlock();
1041
        gst_app_src_end_of_stream(priv->appsrc);
1041
        gst_app_src_end_of_stream(priv->appsrc);
Lines 1208-1214 Link Here
1208
1208
1209
    GST_ERROR_OBJECT(src, "Cannot show URL");
1209
    GST_ERROR_OBJECT(src, "Cannot show URL");
1210
1210
1211
    GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
1211
    WTF::GMutexLocker locker(GST_OBJECT_GET_LOCK(src));
1212
    uri.reset(g_strdup(src->priv->uri));
1212
    uri.reset(g_strdup(src->priv->uri));
1213
    locker.unlock();
1213
    locker.unlock();
1214
1214
(-)Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp.orig (-5 / +5 lines)
Lines 118-124 Link Here
118
    WebKitVideoSink* sink = reinterpret_cast<WebKitVideoSink*>(data);
118
    WebKitVideoSink* sink = reinterpret_cast<WebKitVideoSink*>(data);
119
    WebKitVideoSinkPrivate* priv = sink->priv;
119
    WebKitVideoSinkPrivate* priv = sink->priv;
120
120
121
    GMutexLocker lock(priv->bufferMutex);
121
    WebCore::GMutexLocker lock(priv->bufferMutex);
122
    GstBuffer* buffer = priv->buffer;
122
    GstBuffer* buffer = priv->buffer;
123
    priv->buffer = 0;
123
    priv->buffer = 0;
124
    priv->timeoutId = 0;
124
    priv->timeoutId = 0;
Lines 140-146 Link Here
140
    WebKitVideoSink* sink = WEBKIT_VIDEO_SINK(baseSink);
140
    WebKitVideoSink* sink = WEBKIT_VIDEO_SINK(baseSink);
141
    WebKitVideoSinkPrivate* priv = sink->priv;
141
    WebKitVideoSinkPrivate* priv = sink->priv;
142
142
143
    GMutexLocker lock(priv->bufferMutex);
143
    WebCore::GMutexLocker lock(priv->bufferMutex);
144
144
145
    if (priv->unlocked)
145
    if (priv->unlocked)
146
        return GST_FLOW_OK;
146
        return GST_FLOW_OK;
Lines 279-285 Link Here
279
279
280
static void unlockBufferMutex(WebKitVideoSinkPrivate* priv)
280
static void unlockBufferMutex(WebKitVideoSinkPrivate* priv)
281
{
281
{
282
    GMutexLocker lock(priv->bufferMutex);
282
    WebCore::GMutexLocker lock(priv->bufferMutex);
283
283
284
    if (priv->buffer) {
284
    if (priv->buffer) {
285
        gst_buffer_unref(priv->buffer);
285
        gst_buffer_unref(priv->buffer);
Lines 305-311 Link Here
305
    WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv;
305
    WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv;
306
306
307
    {
307
    {
308
        GMutexLocker lock(priv->bufferMutex);
308
        WebCore::GMutexLocker lock(priv->bufferMutex);
309
        priv->unlocked = false;
309
        priv->unlocked = false;
310
    }
310
    }
311
311
Lines 330-336 Link Here
330
{
330
{
331
    WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv;
331
    WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv;
332
332
333
    GMutexLocker lock(priv->bufferMutex);
333
    WebCore::GMutexLocker lock(priv->bufferMutex);
334
    priv->unlocked = false;
334
    priv->unlocked = false;
335
    return TRUE;
335
    return TRUE;
336
}
336
}

Return to bug 543066