CBaseOutputPin (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 CBaseOutputPin
clase es una clase base abstracta que implementa un pin de salida.
Esta clase deriva de CBasePin. Difiere de CBasePin en los siguientes aspectos:
- Solo se conecta a patillas de entrada que admiten la interfaz IMemInputPin .
- Admite el transporte de memoria local a través de la interfaz IMemAllocator .
- Rechaza las notificaciones de fin de secuencia, vaciado y nuevo segmento. (No se deben enviar a un pin de salida).
- Proporciona métodos para entregar muestras de nivel inferior.
Cuando se conecta el pin, solicita un asignador de memoria desde el pin de entrada. Si se produce un error, se crea un nuevo objeto de asignador. El pin de salida es responsable de establecer las propiedades del asignador. Esto se realiza a través del método virtual puro CBaseOutputPin::D ecideBufferSize. Invalide este método en la clase derivada. Si el pin de entrada tiene algún requisito de búfer, se pasan al método DecideBufferSize .
Llame al método CBaseOutputPin::GetDeliveryBuffer para obtener un ejemplo multimedia vacío. Llame al método CBaseOutputPin::D eliver para entregar muestras de bajada.
La clase derivada debe invalidar el método CBasePin::CheckMediaType virtual puro para validar el tipo de medio durante las conexiones de patillas.
Variables miembro protegidas | Descripción |
---|---|
m_pAllocator | Puntero al asignador de memoria. |
m_pInputPin | Puntero al pin de entrada conectado a esta patilla. |
Métodos públicos | Descripción |
CBaseOutputPin | Método constructor. |
CompleteConnect | Completa una conexión a un pin de entrada. Virtual. |
DecideAllocator | Selecciona un asignador de memoria. Virtual. |
GetDeliveryBuffer | Recupera un ejemplo multimedia que contiene un búfer vacío. Virtual. |
Entrega | Entrega un ejemplo multimedia al pin de entrada conectado. Virtual. |
InitAllocator | Crea un asignador de memoria. Virtual. |
CheckConnect | Determina si una conexión de patilla es adecuada. |
BreakConnect | Libera el pin de una conexión. |
Activo | Notifica al pin que el filtro está ahora activo. |
Inactivo | Notifica al pin que el filtro ya no está activo. |
DeliverEndOfStream | Entrega una notificación de fin de secuencia al pin de entrada conectado. Virtual. |
DeliverBeginFlush | Solicita el pin de entrada conectado para iniciar una operación de vaciado. Virtual. |
DeliverEndFlush | Solicita el pin de entrada conectado para finalizar una operación de vaciado. Virtual. |
DeliverNewSegment | Entrega una notificación de nuevo segmento al pin de entrada conectado. Virtual. |
Métodos virtuales puros | Descripción |
DecideBufferSize | Establece los requisitos del búfer. |
Métodos IPin | Descripción |
BeginFlush | Comienza una operación de vaciado. |
EndFlush | Finaliza una operación de vaciado. |
EndOfStream | Notifica al pin que no se espera ningún dato adicional. |
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|