Compartir a través de


Método IMFASFMultiplexer::P rocessSample (wmcontainer.h)

Entrega muestras de entrada al multiplexador.

Sintaxis

HRESULT ProcessSample(
  [in] WORD      wStreamNumber,
  [in] IMFSample *pISample,
  [in] LONGLONG  hnsTimestampAdjust
);

Parámetros

[in] wStreamNumber

Número de secuencia de la secuencia a la que pertenece la muestra.

[in] pISample

Puntero a la interfaz IMFSample del ejemplo de entrada. El ejemplo de entrada contiene los datos multimedia que se van a convertir en paquetes de datos asf. Cuando sea posible, la marca de tiempo de este ejemplo debe ser precisa.

[in] hnsTimestampAdjust

Ajuste que se va a aplicar a la marca de tiempo de la muestra. Este parámetro se usa si el autor de la llamada quiere cambiar la hora de ejemplo en pISample. Este valor debe ser positivo si la marca de tiempo debe insertarse delante y ser negativa si se debe devolver la marca de tiempo. Esta marca de tiempo se agrega a la hora de ejemplo en pISample y el multiplexador usa la hora resultante en lugar de la hora de muestra original. Si no se necesita ningún ajuste, establezca este valor en 0.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
MF_E_NOTACCEPTING
Hay demasiados paquetes a la espera de recuperarse del multiplexador. Llame a IMFASFMultiplexer::GetNextPacket para obtener los paquetes.
MF_E_BANDWIDTH_OVERRUN
El ejemplo que se procesó infringe las limitaciones de ancho de banda especificadas para la secuencia en el objeto ContentInfo de ASF. Cuando se genera este error, se quita el ejemplo.
MF_E_INVALIDSTREAMNUMBER
El valor pasado en wStreamNumber no es válido.
MF_E_LATE_SAMPLE
El tiempo de presentación del ejemplo de medios de entrada es anterior al tiempo de envío.

Comentarios

La aplicación pasa ejemplos a ProcessSample y el multiplexador ASF los pone en cola internamente hasta que estén listos para colocarse en paquetes ASF. Llame a IMFASFMultiplexer::GetNextPacket para obtener el paquete de datos asf.

Después de cada llamada a ProcessSample, llame a GetNextPacket en un bucle para obtener todos los paquetes de datos disponibles. Para obtener un ejemplo de código, vea Generar nuevos paquetes de datos ASF.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wmcontainer.h
Library Mfuuid.lib

Consulte también

Generación de nuevos paquetes de datos asf

IMFASFMultiplexer

IMFSample