Método CDynamicOutputPin.ChangeMediaType
[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 ChangeMediaType
método cambia dinámicamente el tipo de medio de la conexión. 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 ChangeMediaType(
const CMediaType *pmt
);
Parámetros
-
Pmt
-
Puntero a una estructura AM_MEDIA_TYPE que especifica el tipo de medio.
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 |
---|---|
|
Correcto. |
|
Error. Posiblemente el filtro propietario no llamó a CDynamicOutputPin::SetConfigInfo. |
|
El pin no está conectado. |
Observaciones
Llame al método CDynamicOutputPin::StartUsingOutputPin antes de llamar a este método.
Este método comprueba primero si el pin de entrada de bajada puede aceptar el nuevo formato sin volver a conectarse. Consulta el pin de entrada para la interfaz IPinConnection . Si el pin de entrada admite IPinConnection, el método llama al método IPinConnection::D ynamicQueryAccept con el tipo de medio propuesto. Si el pin de entrada acepta el nuevo tipo de medio, el método llama al método IPin::ReceiveConnection y renegocia los requisitos del asignador.
Por otro lado, si el pin de bajada no admite IPinConnection o si rechaza el nuevo tipo de medio, el método llama al método CDynamicOutputPin::D ynamicReconnect para realizar una reconexión dinámica.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|