Title: [220643] releases/WebKitGTK/webkit-2.18/Source/WebCore
Revision
220643
Author
carlo...@webkit.org
Date
2017-08-13 23:52:30 -0700 (Sun, 13 Aug 2017)

Log Message

Merge r220461 - [GStreamer][MSE] Add missing lock around getStreamByTrackId
https://bugs.webkit.org/show_bug.cgi?id=175323

Patch by Charlie Turner <ctur...@igalia.com> on 2017-08-09
Reviewed by Xabier Rodriguez-Calvar.

Covered by existing tests.

* platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
(WebCore::PlaybackPipeline::enqueueSample): Ensure the media source
lock is taken before modifiying the track queues indirectly via the
iterator use in getTrackId.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog (220642 => 220643)


--- releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog	2017-08-14 06:49:47 UTC (rev 220642)
+++ releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog	2017-08-14 06:52:30 UTC (rev 220643)
@@ -1,3 +1,17 @@
+2017-08-09  Charlie Turner  <ctur...@igalia.com>
+
+        [GStreamer][MSE] Add missing lock around getStreamByTrackId
+        https://bugs.webkit.org/show_bug.cgi?id=175323
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Covered by existing tests.
+
+        * platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
+        (WebCore::PlaybackPipeline::enqueueSample): Ensure the media source
+        lock is taken before modifiying the track queues indirectly via the
+        iterator use in getTrackId.
+
 2017-08-09  Ms2ger  <ms2...@igalia.com>
 
         Remove unnecessary copies of PlatformMediaSessionManager::m_sessions

Modified: releases/WebKitGTK/webkit-2.18/Source/WebCore/platform/graphics/gstreamer/mse/PlaybackPipeline.cpp (220642 => 220643)


--- releases/WebKitGTK/webkit-2.18/Source/WebCore/platform/graphics/gstreamer/mse/PlaybackPipeline.cpp	2017-08-14 06:49:47 UTC (rev 220642)
+++ releases/WebKitGTK/webkit-2.18/Source/WebCore/platform/graphics/gstreamer/mse/PlaybackPipeline.cpp	2017-08-14 06:52:30 UTC (rev 220643)
@@ -488,6 +488,7 @@
         GST_TIME_ARGS(WebCore::toGstClockTime(mediaSample->presentationTime().toDouble())),
         GST_TIME_ARGS(WebCore::toGstClockTime(mediaSample->duration().toDouble())));
 
+    WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(m_webKitMediaSrc.get()));
     Stream* stream = getStreamByTrackId(m_webKitMediaSrc.get(), trackId);
 
     if (!stream) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to