Obtention de mémoires tampons

Si votre filtre a un allocateur personnalisé qui utilise des ressources de filtre, la méthode IMemAllocator :: GetBuffer de l’allocateur doit conserver le verrou de diffusion en continu, comme avec les autres méthodes de streaming :

HRESULT CMyInputAllocator::GetBuffer(
    IMediaSample **ppBuffer,
    REFERENCE_TIME *pStartTime, 
    REFERENCE_TIME *pEndTime,
    DWORD dwFlags)
{
    CAutoLock cObjectLock(&m_csReceive);

    /* Use resources. */

    return CMemAllocator::GetBuffer(ppBuffer, pStartTime, pEndTime, dwFlags);    
}

Threads et sections critiques