Resumen de subprocesos de filtro
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
Se llama a los métodos siguientes en el subproceso de streaming:
- IMemInputPin::Receive
- IMemInputPin::ReceiveMultiple
- IPin::EndOfStream
- IPin::NewSegment
- IMemAllocator::GetBuffer
Se llama a los métodos siguientes en el subproceso de aplicación:
- Cambios de estado: IBaseFilter::JoinFilterGraph, IMediaFilter::P ause, IMediaFilter::Run, IMediaFilter::Stop, IQualityControl::SetSink.
- Reloj de referencia: IMediaFilter::GetSyncSource, IMediaFilter::SetSyncSource.
- Operaciones de pin: IBaseFilter::FindPin, IPin::Connect, IPin::ConnectedTo, IPin::ConnectionMediaType, IPin::D isconnect, IPin::ReceiveConnection.
- Funciones de asignador: IMemInputPin::GetAllocator, IMemInputPin::NotifyAllocator.
- Vaciado: IPin::BeginFlush, IPin::EndFlush.
Esta lista no es exhaustiva. Al implementar un filtro, debe tener en cuenta qué métodos cambian el estado del filtro y qué métodos realizan operaciones de streaming.