Rediger

Del via


CBaseAllocator.NotifySample method

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The NotifySample method releases any threads that are waiting for samples.

Syntax

void NotifySample();

Parameters

This method has no parameters.

Return value

This method does not return a value.

Remarks

When there are threads waiting for samples, the value of CBaseAllocator::m_lWaiting is greater than zero. If m_lWaiting is greater than zero, this method calls the ReleaseSemaphore function on the CBaseAllocator::m_hSem semaphore, activating any waiting threads. It also resets m_lWaiting to zero.

This method is called from within the CBaseAllocator::ReleaseBuffer method, when a sample is returned to the free list; and from the CBaseAllocator::Decommit method, when the allocator is decommitted.

Requirements

Requirement Value
Header
Amfilter.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CBaseAllocator Class