CBaseAllocator.ReleaseBuffer-Methode
Die ReleaseBuffer -Methode gibt ein Medienbeispiel an die Liste der kostenlosen Medienbeispiele zurück. Diese Methode implementiert die IMemAllocator::ReleaseBuffer-Methode.
Syntax
HRESULT ReleaseBuffer(
IMediaSample *pSample
);
Parameter
-
pSample
-
Zeiger auf die IMediaSample-Schnittstelle des Medienbeispielobjekts.
Rückgabewert
Gibt S _ OK zurück.
Bemerkungen
Wenn die Verweisanzahl eines Medienbeispiels null erreicht, ruft das Beispiel ReleaseBuffer mit sich selbst als Parameter auf. Diese Methode führt die folgenden Aktionen aus.
- Gibt das Medienbeispiel an die Freiliste zurück (CBaseAllocator::m _ lFree).
- Ruft die CBaseAllocator::NotifySample-Methode auf, die alle Threads freilässt, die bei Aufrufen der CBaseAllocator::GetBuffer-Methode blockiert werden.
- Wenn die CBaseAllocator::SetNotify-Methode zuvor aufgerufen wurde, ruft die IMemAllocatorNotifyCallbackTemp::NotifyRelease-Methode auf.
- Wenn das letzte Beispiel freigegeben wird und ein ausstehender CBaseAllocator::D ecommit-Aufruf vorsteht, ruft die CBaseAllocator::Free-Methode auf, um den Pufferspeicher frei zu geben. (In der Basisklasse ist Free eine rein virtuelle Methode.)
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|