CBaseOutputPin (clase)

Jerarquía de clases cbaseoutputpin

La CBaseOutputPin clase es una clase base abstracta que implementa un pin de salida.

Esta clase se deriva de CBasePin. Difiere de CBasePin en los aspectos siguientes:

  • Solo se conecta a los pines 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 flujo, vaciado y nuevo segmento. (No se deben enviar a un pin de salida).
  • Proporciona métodos para entregar ejemplos de nivel inferior.

Cuando se conecta el pin, solicita un asignador de memoria del pin de entrada. Si no lo hace, crea un nuevo objeto de asignador. El pin de salida es responsable de establecer las propiedades del asignador. Esto se hace mediante el 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 ejemplos de nivel inferior.

La clase derivada debe invalidar el método CBasePin::CheckMediaType virtual puro para validar el tipo de medio durante las conexiones de pin.

Variables miembro protegidas Descripción
m _ pAllocator Puntero al asignador de memoria.
m _ pInputPin Puntero al pin de entrada conectado a este pin.
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 pin es adecuada.
BreakConnect Libera el pin de una conexión.
Activo Notifica al pin que el filtro ahora está activo.
Inactivo Notifica al pin que el filtro ya no está activo.
DeliverEndOfStream Entrega una notificación de fin de flujo al pin de entrada conectado. Virtual.
DeliverBeginFlush Solicita el pin de entrada conectado para comenzar 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 de 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
Amfilter.h (incluir Secuencias.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)