Zusammenfassung des Filterthreadings
Die folgenden Methoden werden für den Streamingthread aufgerufen:
- IMemInputPin::Receive
- IMemInputPin::ReceiveMultiple
- IPin::EndOfStream
- IPin::NewSegment
- IMemAllocator::GetBuffer
Die folgenden Methoden werden im Anwendungsthread aufgerufen:
- Zustandsänderungen: IBaseFilter::JoinFilterGraph, IMediaFilter::P ause, IMediaFilter::Run, IMediaFilter::Stop, IQualityControl::SetSink.
- Referenzuhr: IMediaFilter::GetSyncSource, IMediaFilter::SetSyncSource.
- Pin-Vorgänge: IBaseFilter::FindPin, IPin::Verbinden, IPin::ConnectedTo, IPin::ConnectionMediaType, IPin::D isconnect, IPin::ReceiveConnection.
- Zuweisungsfunktionen: IMemInputPin::GetAllocator, IMemInputPin::NotifyAllocator.
- Leeren: IPin::BeginFlush, IPin::EndFlush.
Diese Liste ist nicht vollständig. Wenn Sie einen Filter implementieren, müssen Sie berücksichtigen, welche Methoden den Filterzustand ändern und welche Methoden Streamingvorgänge ausführen.