Zebediah Figura : strmbase: Don't hold the filter lock while calling IPin::NewSegment().

Alexandre Julliard julliard at winehq.org
Mon Dec 2 17:10:14 CST 2019


Module: wine
Branch: master
Commit: 3b7ce569082e345445d12621ba351bfac8865b28
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=3b7ce569082e345445d12621ba351bfac8865b28

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Sat Nov 30 19:48:31 2019 -0600

strmbase: Don't hold the filter lock while calling IPin::NewSegment().

It's not safe to hold the filter lock from a streaming thread, and
anyway we aren't protecting anything that needs locking.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/strmbase/transform.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/dlls/strmbase/transform.c b/dlls/strmbase/transform.c
index d39dbbd3ab..7650232c44 100644
--- a/dlls/strmbase/transform.c
+++ b/dlls/strmbase/transform.c
@@ -495,12 +495,10 @@ static HRESULT WINAPI TransformFilter_InputPin_NewSegment(IPin * iface, REFERENC
     TRACE("iface %p, start %s, stop %s, rate %.16e.\n",
             iface, debugstr_time(tStart), debugstr_time(tStop), dRate);
 
-    EnterCriticalSection(&pTransform->filter.csFilter);
     if (pTransform->pFuncsTable->pfnNewSegment)
         hr = pTransform->pFuncsTable->pfnNewSegment(pTransform, tStart, tStop, dRate);
     if (SUCCEEDED(hr))
         hr = BaseInputPinImpl_NewSegment(iface, tStart, tStop, dRate);
-    LeaveCriticalSection(&pTransform->filter.csFilter);
     return hr;
 }
 




More information about the wine-cvs mailing list