Segmentos de sobre
[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.
Una curva de parámetro consta de uno o varios segmentos de sobre, definidos mediante la estructura MP_ENVELOPE_SEGMENT . Esta estructura contiene la siguiente información:
- Las horas de inicio y finalización.
- Valores iniciales y finales.
- Tipo de curva (lineal, cuadrado, etc.).
- Marcas opcionales, que se describen en breve.
El cliente agrega segmentos de sobre a un parámetro llamando al método IMediaParams::AddEnvelope y pasando una matriz de estructuras de MP_ENVELOPE_SEGMENT . El cliente debe ordenar los segmentos en orden de tiempo ascendente antes de llamar al método . A medida que el DMO procesa los datos, puede imaginar el parámetro que viaja sobre cada segmento de sobre, como un automóvil que conduce sobre una serie de colinas. El método IMediaParams::GetParam devuelve el valor más reciente.
Dos segmentos adyacentes pueden tener un espacio entre ellos. Durante las brechas, el parámetro conserva su valor anterior, como se indica a continuación:
- Antes del primer segmento, el valor es el valor neutro.
- Entre segmentos, el valor es el valor final del segmento anterior.
- Después del último segmento, el valor permanece en el valor final de ese segmento.
- Si el cliente vacía el DMO, el valor se revierte al valor neutro.
Puede modificar un segmento estableciendo cualquiera de las marcas siguientes:
- MPF_ENVLP_BEGIN_CURRENTVAL. DMO usa el valor más reciente del parámetro como valor inicial para el segmento. Puede ser el valor neutro o el valor final del segmento anterior. DMO omite el miembro valStart de la estructura MP_ENVELOPE_SEGMENT .
- MPF_ENVLP_BEGIN_NEUTRALVAL. DMO usa el valor neutro del parámetro como valor inicial para el segmento. Omite valStart.
Puede pensar en estas marcas como agarrar el punto inicial del segmento y moverlo hacia arriba o hacia abajo, mientras que el valor final permanece fijo. El segmento se "estirará" en consecuencia.
Temas relacionados