Compartir a través de


Método IVMRFilterConfig::SetNumberOfStreams (strmif.h)

[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 SetNumberOfStreams método establece el número de secuencias que se van a mezclar e indica al VMR que entre en modo mezclador.

Sintaxis

HRESULT SetNumberOfStreams(
  [in] DWORD dwMaxStreams
);

Parámetros

[in] dwMaxStreams

Palabra doble que contiene el número máximo de flujos de entrada que se necesitará para mezclar vmR. No debe ser mayor que MAX_MIXER_STREAMS (16).

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, devuelve un código de error.

Código devuelto Descripción
E_FAIL
El mezclador ya está configurado.
E_INVALIDARG
Se intentó configurar el mezclador para más de 16 flujos de entrada.
E_OUTOFMEMORY
No se pudo asignar memoria para administrar los flujos.

Comentarios

dwMaxStreams debe ser igual al número de patillas de entrada necesarias. No se pueden agregar ni quitar patillas después de que se haya conectado el VMR. Si no sabe con antelación cuántas secuencias de entrada se necesitarán, establezca dxMaxStreams en el número máximo que podría ser necesario. Un valor de 1 es válido para dwMaxStreams. Este valor no hace que se creen patillas adicionales, pero obliga a vmR a entrar en "modo mezclador". Por lo tanto, una vez que se haya llamado a este método, no puede llamar a SetRenderingMode para establecer el modo en VMRMode_Renderless

VMR crea tantas patillas de entrada como se especifican sin intentar determinar si hay suficiente memoria de vídeo para admitirlas todas. Esto se debe a que no tiene ninguna manera de conocer el tipo de medio o las dimensiones de rectángulo en este momento. Más adelante, cuando un filtro ascendente intenta conectarse a un pin, en ese momento se conoce el tipo de medio y VMR examinará la memoria de vídeo y producirá un error en la conexión si no hay suficiente para procesar la secuencia.

Nota Aunque VMR admite varias secuencias, todas comparten un solo reloj y, por tanto, no se puede buscar una secuencia independientemente de las demás. Si necesita buscar los flujos de entrada de forma independiente, debe usar otra técnica. Consulte el ejemplo VMRMulti para obtener más información.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP1 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado strmif.h (incluya Dshow.h)
Library Strmiids.lib

Consulte también

Códigos de error y éxito

IVMRFilterConfig (interfaz)

IVMRFilterConfig::GetNumberOfStreams

Uso del representador de mezcla de vídeos