ReleaseBuffer method returns a media sample to the list of free media samples. This method implements the IMemAllocator::ReleaseBuffer method.
Pointer to the IMediaSample interface of the media sample object.
When a media sample's reference count reaches zero, the sample calls ReleaseBuffer with itself as the parameter. This method performs the following actions.
- Returns the media sample to the free list (CBaseAllocator::m_lFree).
- Calls the CBaseAllocator::NotifySample method, which releases any threads that are blocked on calls to the CBaseAllocator::GetBuffer method.
- If the CBaseAllocator::SetNotify method was called previously, calls the IMemAllocatorNotifyCallbackTemp::NotifyRelease method.
- When the last sample is released, if there is a pending CBaseAllocator::Decommit call, calls the CBaseAllocator::Free method to release the buffer memory. (In the base class, Free is a pure virtual method.)