diff --git a/libs/strmbase/filter.c b/libs/strmbase/filter.c index fa8738188a2..3229c7ba82a 100644 --- a/libs/strmbase/filter.c +++ b/libs/strmbase/filter.c @@ -524,10 +524,12 @@ void strmbase_filter_init(struct strmbase_filter *filter, IUnknown *outer, filter->outer_unk = outer ? outer : &filter->IUnknown_inner; filter->refcount = 1; - InitializeCriticalSectionEx(&filter->filter_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); + if (!InitializeCriticalSectionEx(&filter->filter_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO)) + InitializeCriticalSection(&filter->filter_cs); if (filter->filter_cs.DebugInfo != (RTL_CRITICAL_SECTION_DEBUG *)-1) filter->filter_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": strmbase_filter.filter_cs"); - InitializeCriticalSectionEx(&filter->stream_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); + if (!InitializeCriticalSectionEx(&filter->stream_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO)) + InitializeCriticalSection(&filter->stream_cs); if (filter->stream_cs.DebugInfo != (RTL_CRITICAL_SECTION_DEBUG *)-1) filter->stream_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": strmbase_filter.stream_cs"); filter->clsid = *clsid; diff --git a/libs/strmbase/pospass.c b/libs/strmbase/pospass.c index 79ebf44cf24..2b6321432bd 100644 --- a/libs/strmbase/pospass.c +++ b/libs/strmbase/pospass.c @@ -730,7 +730,8 @@ void strmbase_passthrough_init(struct strmbase_passthrough *passthrough, IUnknow passthrough->IMediaPosition_iface.lpVtbl = &IMediaPositionPassThru_Vtbl; passthrough->IMediaSeeking_iface.lpVtbl = &IMediaSeekingPassThru_Vtbl; passthrough->ISeekingPassThru_iface.lpVtbl = &ISeekingPassThru_Vtbl; - InitializeCriticalSectionEx(&passthrough->time_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); + if (!InitializeCriticalSectionEx(&passthrough->time_cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO)) + InitializeCriticalSection(&passthrough->time_cs); passthrough->time_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": strmbase_passthrough.time_cs" ); } diff --git a/libs/strmbase/seeking.c b/libs/strmbase/seeking.c index 574083b985f..62e6d454a57 100644 --- a/libs/strmbase/seeking.c +++ b/libs/strmbase/seeking.c @@ -49,7 +49,8 @@ HRESULT strmbase_seeking_init(SourceSeeking *pSeeking, const IMediaSeekingVtbl * pSeeking->llDuration = pSeeking->llStop; pSeeking->dRate = 1.0; pSeeking->timeformat = TIME_FORMAT_MEDIA_TIME; - InitializeCriticalSectionEx(&pSeeking->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); + if (!InitializeCriticalSectionEx(&pSeeking->cs, 0, RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO)) + InitializeCriticalSection(&pSeeking->cs); pSeeking->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": SourceSeeking.cs"); return S_OK; }