Compartir a través de


Método CDynamicOutputPin.ChangeOutputFormat

[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.

El ChangeOutputFormat método cambia dinámicamente el tipo de medio de la conexión y proporciona información de segmento nueva. El cambio puede producirse mientras se ejecuta el gráfico de filtro. Una vez que se llama a este método, no se pueden entregar ejemplos con el tipo de medio antiguo. El autor de la llamada debe asegurarse de que no hay muestras antiguas pendientes.

Sintaxis

HRESULT ChangeOutputFormat(
   const AM_MEDIA_TYPE  *pmt,
         REFERENCE_TIME tSegmentStart,
         REFERENCE_TIME tSegmentStop,
         double         dSegmentRate
);

Parámetros

Pmt

Puntero a una estructura AM_MEDIA_TYPE que especifica el tipo de medio.

tSegmentStart

Hora de inicio del segmento.

tSegmentStop

Tiempo de detención del segmento.

dSegmentRate

Tasa de segmentos.

Valor devuelto

Devuelve un valor HRESULT . Entre los valores posibles se incluyen los que se muestran en la tabla siguiente.

Código devuelto Descripción
S_OK
Correcto.
E_FAIL
Error. Posiblemente el filtro propietario no llamó a CDynamicOutputPin::SetConfigInfo.
VFW_E_NOT_CONNECTED
El pin no está conectado.

Observaciones

Este método cambia el tipo de formato mientras se ejecuta el filtro. Si el pin de bajada acepta el nuevo formato, no es necesario volver a conectar. De lo contrario, el método intenta volver a conectar la patilla. Si el método cambia correctamente el formato, entrega la nueva información de segmento. Este método llama al método CDynamicOutputPin::ChangeMediaType para realizar el cambio de formato.

Debe llamar al método CDynamicOutputPin::StartUsingOutputPin antes de llamar a este método.

Requisitos

Requisito Value
Encabezado
Amfilter.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

CDynamicOutputPin (clase)