Title: [277438] trunk/Source
Revision
277438
Author
[email protected]
Date
2021-05-13 10:03:39 -0700 (Thu, 13 May 2021)

Log Message

[WTF] Add holdLock() overload for WTF::DataMutex
https://bugs.webkit.org/show_bug.cgi?id=225652

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

All instantiations of DataMutex::LockedWrapper have been replaced by
holdLock(), for equivalent but more concise code.

This patch introduces no behavior changes.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcConstructed):
(webKitWebSrcGetProperty):
(webKitWebSrcSetContext):
(webKitWebSrcCreate):
(webKitWebSrcMakeRequest):
(webKitWebSrcStop):
(webKitWebSrcGetSize):
(webKitWebSrcIsSeekable):
(webKitWebSrcDoSeek):
(webKitWebSrcQuery):
(webKitWebSrcUnLock):
(webKitWebSrcUnLockStop):
(webKitWebSrcSetMediaPlayer):
(webKitSrcPassedCORSAccessCheck):
(CachedResourceStreamingClient::responseReceived):
(CachedResourceStreamingClient::dataReceived):
(CachedResourceStreamingClient::accessControlCheckFailed):
(CachedResourceStreamingClient::loadFailed):
(CachedResourceStreamingClient::loadFinished):
(webKitSrcWouldTaintOrigin):
* platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp:
(WebCore::MediaSourceTrackGStreamer::isReadyForMoreSamples):
(WebCore::MediaSourceTrackGStreamer::notifyWhenReadyForMoreSamples):
(WebCore::MediaSourceTrackGStreamer::enqueueObject):
(WebCore::MediaSourceTrackGStreamer::clearQueue):
* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcActivateMode):
(webKitMediaSrcPadLinked):
(webKitMediaSrcLoop):
(webKitMediaSrcStreamFlush):

Source/WTF:

This patch adds a holdLock() overload for WTF::DataMutex as syntactic
sugar to simplify usage in a similar way to what holdLock() already
does for WTF::Locker.

* wtf/DataMutex.h:
(WTF::holdLock):

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (277437 => 277438)


--- trunk/Source/WTF/ChangeLog	2021-05-13 16:18:32 UTC (rev 277437)
+++ trunk/Source/WTF/ChangeLog	2021-05-13 17:03:39 UTC (rev 277438)
@@ -1,3 +1,17 @@
+2021-05-13  Alicia Boya García  <[email protected]>
+
+        [WTF] Add holdLock() overload for WTF::DataMutex
+        https://bugs.webkit.org/show_bug.cgi?id=225652
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        This patch adds a holdLock() overload for WTF::DataMutex as syntactic
+        sugar to simplify usage in a similar way to what holdLock() already
+        does for WTF::Locker.
+
+        * wtf/DataMutex.h:
+        (WTF::holdLock):
+
 2021-05-13  Darin Adler  <[email protected]>
 
         Remove StringBuilder::appendNumber

Modified: trunk/Source/WTF/wtf/DataMutex.h (277437 => 277438)


--- trunk/Source/WTF/wtf/DataMutex.h	2021-05-13 16:18:32 UTC (rev 277437)
+++ trunk/Source/WTF/wtf/DataMutex.h	2021-05-13 17:03:39 UTC (rev 277438)
@@ -149,4 +149,10 @@
     T m_data;
 };
 
+template<typename T>
+typename DataMutex<T>::LockedWrapper holdLock(DataMutex<T>& dataMutex)
+{
+    return typename DataMutex<T>::LockedWrapper(dataMutex);
+}
+
 } // namespace WTF

Modified: trunk/Source/WebCore/ChangeLog (277437 => 277438)


--- trunk/Source/WebCore/ChangeLog	2021-05-13 16:18:32 UTC (rev 277437)
+++ trunk/Source/WebCore/ChangeLog	2021-05-13 17:03:39 UTC (rev 277438)
@@ -1,3 +1,47 @@
+2021-05-13  Alicia Boya García  <[email protected]>
+
+        [WTF] Add holdLock() overload for WTF::DataMutex
+        https://bugs.webkit.org/show_bug.cgi?id=225652
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        All instantiations of DataMutex::LockedWrapper have been replaced by
+        holdLock(), for equivalent but more concise code.
+
+        This patch introduces no behavior changes.
+
+        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+        (webKitWebSrcConstructed):
+        (webKitWebSrcGetProperty):
+        (webKitWebSrcSetContext):
+        (webKitWebSrcCreate):
+        (webKitWebSrcMakeRequest):
+        (webKitWebSrcStop):
+        (webKitWebSrcGetSize):
+        (webKitWebSrcIsSeekable):
+        (webKitWebSrcDoSeek):
+        (webKitWebSrcQuery):
+        (webKitWebSrcUnLock):
+        (webKitWebSrcUnLockStop):
+        (webKitWebSrcSetMediaPlayer):
+        (webKitSrcPassedCORSAccessCheck):
+        (CachedResourceStreamingClient::responseReceived):
+        (CachedResourceStreamingClient::dataReceived):
+        (CachedResourceStreamingClient::accessControlCheckFailed):
+        (CachedResourceStreamingClient::loadFailed):
+        (CachedResourceStreamingClient::loadFinished):
+        (webKitSrcWouldTaintOrigin):
+        * platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp:
+        (WebCore::MediaSourceTrackGStreamer::isReadyForMoreSamples):
+        (WebCore::MediaSourceTrackGStreamer::notifyWhenReadyForMoreSamples):
+        (WebCore::MediaSourceTrackGStreamer::enqueueObject):
+        (WebCore::MediaSourceTrackGStreamer::clearQueue):
+        * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
+        (webKitMediaSrcActivateMode):
+        (webKitMediaSrcPadLinked):
+        (webKitMediaSrcLoop):
+        (webKitMediaSrcStreamFlush):
+
 2021-05-13  Darin Adler  <[email protected]>
 
         Remove StringBuilder::appendNumber

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp (277437 => 277438)


--- trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp	2021-05-13 16:18:32 UTC (rev 277437)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp	2021-05-13 17:03:39 UTC (rev 277438)
@@ -301,7 +301,7 @@
 
     priv->minimumBlocksize = gst_base_src_get_blocksize(GST_BASE_SRC_CAST(src));
 
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(priv->dataMutex);
+    auto members = holdLock(priv->dataMutex);
     members->adapter = adoptGRef(gst_adapter_new());
     webkitWebSrcReset(src, members, ResetType::Hard);
 
@@ -346,7 +346,7 @@
         g_value_set_string(value, priv->originalURI.data());
         break;
     case PROP_RESOLVED_LOCATION: {
-        DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(priv->dataMutex);
+        auto members = holdLock(priv->dataMutex);
         g_value_set_string(value, members->redirectedURI.isNull() ? priv->originalURI.data() : members->redirectedURI.data());
         break;
     }
@@ -376,7 +376,7 @@
     GST_DEBUG_OBJECT(src, "context type: %s", gst_context_get_context_type(context));
     if (gst_context_has_context_type(context, WEBKIT_WEB_SRC_PLAYER_CONTEXT_TYPE_NAME)) {
         const GValue* value = gst_structure_get_value(gst_context_get_structure(context), "player");
-        DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(priv->dataMutex);
+        auto members = holdLock(priv->dataMutex);
         members->player = reinterpret_cast<MediaPlayer*>(g_value_get_pointer(value));
     }
     GST_ELEMENT_CLASS(parent_class)->set_context(element, context);
@@ -459,7 +459,7 @@
     GstBaseSrc* baseSrc = GST_BASE_SRC_CAST(pushSrc);
     WebKitWebSrc* src = ""
     WebKitWebSrcPrivate* priv = src->priv;
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(priv->dataMutex);
+    auto members = holdLock(priv->dataMutex);
 
     // We need members->player to make requests. There are two mechanisms for this.
     //
@@ -689,7 +689,7 @@
     ASSERT(!isMainThread());
     RunLoop::main().dispatch([protector = WTF::ensureGRef(src), request = WTFMove(request), requestNumber = members->requestNumber] {
         WebKitWebSrcPrivate* priv = protector->priv;
-        DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(priv->dataMutex);
+        auto members = holdLock(priv->dataMutex);
         // Ignore this task (not making any HTTP request) if by now WebKitWebSrc streaming thread is already waiting
         // for a different request. There is no point anymore in sending this one.
         if (members->requestNumber != requestNumber) {
@@ -716,7 +716,7 @@
 {
     WebKitWebSrc* src = ""
     // basesrc will always call unLock() and unLockStop() before calling this. See gst_base_src_stop().
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
     webkitWebSrcReset(src, members, ResetType::Hard);
     GST_DEBUG_OBJECT(src, "Stopped WebKitWebSrc");
     return TRUE;
@@ -725,7 +725,7 @@
 static gboolean webKitWebSrcGetSize(GstBaseSrc* baseSrc, guint64* size)
 {
     WebKitWebSrc* src = ""
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
 
     GST_DEBUG_OBJECT(src, "haveSize: %s, size: %" G_GUINT64_FORMAT, boolForPrinting(members->haveSize), members->size);
     if (members->haveSize) {
@@ -739,7 +739,7 @@
 static gboolean webKitWebSrcIsSeekable(GstBaseSrc* baseSrc)
 {
     WebKitWebSrc* src = ""
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
     GST_DEBUG_OBJECT(src, "isSeekable: %s", boolForPrinting(members->isSeekable));
     return members->isSeekable;
 }
@@ -756,7 +756,7 @@
     ASSERT(GST_ELEMENT(baseSrc)->current_state < GST_STATE_PAUSED || webKitWebSrcIsSeekable(baseSrc));
 
     WebKitWebSrc* src = ""
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
 
     GST_DEBUG_OBJECT(src, "Seek segment: (%" G_GUINT64_FORMAT "-%" G_GUINT64_FORMAT ") Position previous to seek: %" G_GUINT64_FORMAT, segment->start, segment->stop, members->readPosition);
 
@@ -786,7 +786,7 @@
 
     if (GST_QUERY_TYPE(query) == GST_QUERY_URI) {
         gst_query_set_uri(query, priv->originalURI.data());
-        DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+        auto members = holdLock(src->priv->dataMutex);
         if (!members->redirectedURI.isNull())
             gst_query_set_uri_redirection(query, members->redirectedURI.data());
         result = TRUE;
@@ -809,7 +809,7 @@
 static gboolean webKitWebSrcUnLock(GstBaseSrc* baseSrc)
 {
     WebKitWebSrc* src = ""
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
 
     GST_DEBUG_OBJECT(src, "Unlock");
     members->isFlushing = true;
@@ -840,7 +840,7 @@
 static gboolean webKitWebSrcUnLockStop(GstBaseSrc* baseSrc)
 {
     WebKitWebSrc* src = ""
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
     GST_DEBUG_OBJECT(src, "Unlock stop");
     members->isFlushing = false;
     webkitWebSrcReset(src, members, ResetType::Soft);
@@ -926,7 +926,7 @@
 void webKitWebSrcSetMediaPlayer(WebKitWebSrc* src, WebCore::MediaPlayer* player, const String& referrer)
 {
     ASSERT(player);
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
     members->player = player;
     members->referrer = referrer;
 }
@@ -933,7 +933,7 @@
 
 bool webKitSrcPassedCORSAccessCheck(WebKitWebSrc* src)
 {
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
     return members->didPassAccessControlCheck;
 }
 
@@ -988,7 +988,7 @@
     ASSERT(isMainThread());
     WebKitWebSrc* src = ""
     WebKitWebSrcPrivate* priv = src->priv;
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(priv->dataMutex);
+    auto members = holdLock(priv->dataMutex);
     if (members->requestNumber != m_requestNumber) {
         completionHandler(ShouldContinuePolicyCheck::No);
         return;
@@ -1094,7 +1094,7 @@
     WebKitWebSrc* src = ""
     WebKitWebSrcPrivate* priv = src->priv;
 
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(priv->dataMutex);
+    auto members = holdLock(priv->dataMutex);
     if (members->requestNumber != m_requestNumber)
         return;
 
@@ -1130,7 +1130,7 @@
 {
     ASSERT(isMainThread());
     WebKitWebSrc* src = ""
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
     if (members->requestNumber != m_requestNumber)
         return;
 
@@ -1143,7 +1143,7 @@
 {
     ASSERT(isMainThread());
     WebKitWebSrc* src = ""
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
     if (members->requestNumber != m_requestNumber)
         return;
 
@@ -1160,7 +1160,7 @@
 {
     ASSERT(isMainThread());
     WebKitWebSrc* src = ""
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
     if (members->requestNumber != m_requestNumber)
         return;
 
@@ -1170,7 +1170,7 @@
 
 bool webKitSrcWouldTaintOrigin(WebKitWebSrc* src, const SecurityOrigin& origin)
 {
-    DataMutex<WebKitWebSrcPrivate::StreamingMembers>::LockedWrapper members(src->priv->dataMutex);
+    auto members = holdLock(src->priv->dataMutex);
 
     auto* cachedResourceStreamingClient = reinterpret_cast<CachedResourceStreamingClient*>(members->resource->client());
     for (auto& responseOrigin : cachedResourceStreamingClient->securityOrigins()) {

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp (277437 => 277438)


--- trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp	2021-05-13 16:18:32 UTC (rev 277437)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp	2021-05-13 17:03:39 UTC (rev 277438)
@@ -61,7 +61,7 @@
 bool MediaSourceTrackGStreamer::isReadyForMoreSamples()
 {
     ASSERT(isMainThread());
-    WTF::DataMutex<TrackQueue>::LockedWrapper queue(m_queueDataMutex);
+    auto queue = holdLock(m_queueDataMutex);
     return !queue->isFull();
 }
 
@@ -68,7 +68,7 @@
 void MediaSourceTrackGStreamer::notifyWhenReadyForMoreSamples(TrackQueue::LowLevelHandler&& handler)
 {
     ASSERT(isMainThread());
-    WTF::DataMutex<TrackQueue>::LockedWrapper queue(m_queueDataMutex);
+    auto queue = holdLock(m_queueDataMutex);
     queue->notifyWhenLowLevel(WTFMove(handler));
 }
 
@@ -75,7 +75,7 @@
 void MediaSourceTrackGStreamer::enqueueObject(GRefPtr<GstMiniObject>&& object)
 {
     ASSERT(isMainThread());
-    WTF::DataMutex<TrackQueue>::LockedWrapper queue(m_queueDataMutex);
+    auto queue = holdLock(m_queueDataMutex);
     queue->enqueueObject(WTFMove(object));
 }
 
@@ -82,7 +82,7 @@
 void MediaSourceTrackGStreamer::clearQueue()
 {
     ASSERT(isMainThread());
-    WTF::DataMutex<TrackQueue>::LockedWrapper queue(m_queueDataMutex);
+    auto queue = holdLock(m_queueDataMutex);
     queue->clear();
 }
 

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp (277437 => 277438)


--- trunk/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp	2021-05-13 16:18:32 UTC (rev 277437)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp	2021-05-13 17:03:39 UTC (rev 277438)
@@ -344,7 +344,7 @@
         // Unblock the streaming thread.
         RefPtr<Stream>& stream = WEBKIT_MEDIA_SRC_PAD(pad)->priv->stream;
         {
-            DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+            auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
             streamingMembers->isFlushing = true;
             streamingMembers->padLinkedOrFlushedCondition.notifyOne();
             streamingMembers->queueChangedOrFlushedCondition.notifyOne();
@@ -354,7 +354,7 @@
         // Otherwise a deadlock would occur as the next function tries to join the thread.
         gst_pad_stop_task(pad);
         {
-            DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+            auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
             streamingMembers->isFlushing = false;
         }
     }
@@ -364,7 +364,7 @@
 static void webKitMediaSrcPadLinked(GstPad* pad, GstPad*, void*)
 {
     RefPtr<Stream>& stream = WEBKIT_MEDIA_SRC_PAD(pad)->priv->stream;
-    DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+    auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
     streamingMembers->padLinkedOrFlushedCondition.notifyOne();
 }
 
@@ -374,7 +374,7 @@
     GstPad* pad = GST_PAD(userData);
     RefPtr<Stream>& stream = WEBKIT_MEDIA_SRC_PAD(pad)->priv->stream;
 
-    DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+    auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
     if (streamingMembers->isFlushing) {
         gst_pad_pause_task(pad);
         return;
@@ -440,7 +440,7 @@
 
     GRefPtr<GstMiniObject> object;
     {
-        DataMutex<TrackQueue>::LockedWrapper queue(stream->track->queueDataMutex());
+        auto queue = holdLock(stream->track->queueDataMutex());
         if (!queue->isEmpty()) {
             object = queue->pop();
             streamingMembers->hasPoppedFirstObject = true;
@@ -448,7 +448,7 @@
         } else {
             queue->notifyWhenNotEmpty([&object, stream](GRefPtr<GstMiniObject>&& receivedObject) {
                 ASSERT(isMainThread());
-                DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+                auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
                 ASSERT(!streamingMembers->isFlushing);
 
                 object = WTFMove(receivedObject);
@@ -465,7 +465,7 @@
     });
     {
         // Ensure that notifyWhenNotEmpty()'s callback (if any) is cleared after this point.
-        DataMutex<TrackQueue>::LockedWrapper queue(stream->track->queueDataMutex());
+        auto queue = holdLock(stream->track->queueDataMutex());
         queue->resetNotEmptyHandler();
     }
     if (streamingMembers->isFlushing) {
@@ -540,11 +540,11 @@
     bool skipFlush = false;
 
     {
-        DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+        auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
 
         if (!streamingMembers->hasPoppedFirstObject) {
             GST_DEBUG_OBJECT(stream->source, "Flush request for stream '%s' occurred before hasPoppedFirstObject, just clearing the queue and readjusting the segment.", stream->track->trackId().string().utf8().data());
-            DataMutex<TrackQueue>::LockedWrapper queue(stream->track->queueDataMutex());
+            auto queue = holdLock(stream->track->queueDataMutex());
             // We use clear() instead of flush() because the WebKitMediaSrc streaming thread could be waiting
             // for the queue. flush() would cancel the notEmptyCallback therefore leaving the streaming thread
             // stuck waiting forever.
@@ -558,8 +558,8 @@
         // which will keeping the streaming thread idle.
         GST_DEBUG_OBJECT(stream->pad.get(), "Taking the StreamingMembers mutex and setting isFlushing = true.");
         {
-            DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
-            DataMutex<TrackQueue>::LockedWrapper queue(stream->track->queueDataMutex());
+            auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
+            auto queue = holdLock(stream->track->queueDataMutex());
 
             streamingMembers->isFlushing = true;
             queue->flush(); // Clear the queue and cancel any waiting callback.
@@ -581,7 +581,7 @@
         // In the case of seeking flush we are resetting the timeline (see the flush stop later).
         // The resulting segment is brand new, but with a different start time.
         WebKitMediaSrcPrivate* priv = stream->source->priv;
-        DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+        auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
         streamingMembers->segment.base = 0;
         streamingMembers->segment.rate = priv->rate;
         streamingMembers->segment.start = streamingMembers->segment.time = priv->startTime;
@@ -595,7 +595,7 @@
         // GST_CLOCK_TIME_NONE is returned when the pipeline is not yet pre-rolled (e.g. just after a seek). In this case
         // we don't need to adjust the segment though, as running time has not advanced.
         if (GST_CLOCK_TIME_IS_VALID(pipelineStreamTime)) {
-            DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+            auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
             // We need to increase the base by the running time accumulated during the previous segment.
 
             GstClockTime pipelineRunningTime = gst_segment_to_running_time(&streamingMembers->segment, GST_FORMAT_TIME, pipelineStreamTime);
@@ -614,7 +614,7 @@
         GST_PAD_STREAM_LOCK(stream->pad.get());
         {
             GST_DEBUG_OBJECT(stream->pad.get(), "Taking the StreamingMembers mutex again.");
-            DataMutex<Stream::StreamingMembers>::LockedWrapper streamingMembers(stream->streamingMembersDataMutex);
+            auto streamingMembers = holdLock(stream->streamingMembersDataMutex);
             GST_DEBUG_OBJECT(stream->pad.get(), "StreamingMembers mutex taken, using it to set isFlushing = false.");
             streamingMembers->isFlushing = false;
             streamingMembers->doesNeedSegmentEvent = true;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to