CBaseFilter (clase)
[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.
La CBaseFilter
clase es una clase abstracta para implementar filtros. Para implementar un filtro mediante esta clase, debe realizar al menos los pasos siguientes:
- Derive una nueva clase de
CBaseFilter
. - Incluya variables de miembro que definan las patillas en el filtro. Los pins deben heredar de la clase CBasePin .
- Invalide el método virtual puro CBaseFilter::GetPin, que recupera patillas en el filtro.
- Invalide el método virtual puro CBaseFilter::GetPinCount, que recupera el número de patillas.
- Proporcione métodos para generar, procesar o representar ejemplos de medios.
Varias clases base derivan de CBaseFilter
, incluidos CSource, CBaseRenderer y CTransformFilter. Normalmente es más fácil implementar un filtro con una de estas clases especializadas, en lugar de usar CBaseFilter
directamente.
Variables miembro protegidas | Descripción |
---|---|
m_State | Estado actual del filtro. |
m_pClock | Puntero al reloj de referencia del filtro. |
m_tStart | Hora de referencia que corresponde al tiempo de secuencia 0. |
m_clsid | Identificador de clase (CLSID) del filtro. |
m_pLock | Puntero a una sección crítica que se usa para serializar los cambios de estado. |
m_pName | Nombre del filtro. |
m_pGraph | Puntero al administrador de gráficos de filtros. |
m_pSink | Puntero a la interfaz IMediaEventSink en el administrador de gráficos de filtros. |
m_PinVersion | Versión actual del conjunto de patillas en este filtro. |
Métodos públicos | Descripción |
CBaseFilter | Método constructor. |
~ CBaseFilter | Método de destructor. |
StreamTime | Recupera la hora actual de la secuencia. Virtual. |
IsActive | Determina si el filtro está activo actualmente (en ejecución o en pausa). |
IsStopped | Determina si el filtro está detenido actualmente. |
NotifyEvent | Envía una notificación de eventos al administrador de gráficos de filtros. |
GetFilterGraph | Recupera un puntero al administrador de gráficos de filtros. |
ReconectarPin | Interrumpe una conexión de patillas existente y la vuelve a conectar al mismo pin, utilizando un tipo de medio especificado. |
GetPinVersion | Recupera un número de versión para el conjunto de patillas en este filtro. Virtual. |
IncrementPinVersion | Incrementa el número de versión en el conjunto de patillas. |
GetSetupData | Recupera los datos de registro del filtro. Virtual. |
Métodos virtuales puros | Descripción |
GetPinCount | Recupera el número de patillas. |
GetPin | Recupera un pin. |
Métodos IPersist | Descripción |
GetClassID | Recupera el identificador de clase. |
Métodos IMediaFilter | Descripción |
GetState | Recupera el estado del filtro (en ejecución, detenido o en pausa). |
SetSyncSource | Establece un reloj de referencia para el filtro. |
GetSyncSource | Recupera el reloj de referencia que usa el filtro. |
Stop | Detiene el filtro. |
Pausa | Pausa el filtro. |
Ejecutar | Ejecuta el filtro. |
Métodos IBaseFilter | Descripción |
EnumPins | Enumera los pines de este filtro. |
FindPin | Recupera el pin con el identificador especificado. |
QueryFilterInfo | Recupera información sobre el filtro. |
JoinFilterGraph | Notifica al filtro que ha unido o dejado un gráfico de filtros. |
QueryVendorInfo | Recupera una cadena que contiene información del proveedor. |
Métodos IAMovieSetup | Descripción |
Registro | Agrega el filtro al registro. |
Unregister | Quita el filtro del Registro. |
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|