Método IKsInterfaceHandler::KsProcessMediaSamples (ksproxy.h)

El método KsProcessMediaSamples procesa ejemplos multimedia.

Sintaxis

HRESULT KsProcessMediaSamples(
  [in]      IKsDataTypeHandler *KsDataTypeHandler,
  [in]      IMediaSample       **SampleList,
  [in, out] PLONG              SampleCount,
  [in]      KSIOOPERATION      IoOperation,
  [out]     PKSSTREAM_SEGMENT  *StreamSegment
);

Parámetros

[in] KsDataTypeHandler

Puntero a la interfaz IKsDataTypeHandler para el controlador de tipos de datos que controla el tipo de medio enumerado en SampleList. Este controlador de tipos de datos tiene información específica sobre el tipo de medio que se transmite.

[in] SampleList

Puntero a un búfer que contiene una matriz de punteros a las interfaces IMediaSample para la lista de ejemplos multimedia que se van a procesar.

[in, out] SampleCount

Puntero a una variable que contiene inicialmente el número de muestras de la lista en SampleList y, a cambio, recibe el número real de muestras procesadas.

[in] IoOperation

Valor que especifica el tipo de operación de E/S. Este valor puede ser uno de los siguientes valores del tipo enumerado KSIOOPERATION:

Valor Descripción
KsIoOperation_Write Escribir datos en secuencia.
KsIoOperation_Read Lee datos de la secuencia.

[out] StreamSegment

Puntero a un búfer que recibe un puntero a una estructura de KSSTREAM_SEGMENT que contiene información de encabezado para un segmento de secuencia que se envía al pin en modo kernel.

Valor devuelto

Devuelve NOERROR si se ejecuta correctamente; de lo contrario, devuelve un código de error.

Comentarios

El método KsProcessMediaSamples mueve muestras de o a un pin de filtro asignado previamente. Se inicializa un encabezado de secuencia para representar cada muestra multimedia en el segmento de secuencia. A continuación, se realizan la entrada y la salida (E/S), se incrementa el recuento de elementos de espera y el subproceso de E/S de proxy espera la finalización.

El método KsProcessMediaSamples llama al método KsQueryExtendedSize de la interfaz IKsDataTypeHandler recibida para recuperar el tamaño del encabezado extendido. Si no se especifica un tamaño de encabezado extendido, KsProcessMediaSamples descarta el puntero a la interfaz IKsDataTypeHandler . Si se especifica un tamaño de encabezado extendido, KsProcessMediaSamples contiene el puntero a la interfaz IKsDataTypeHandler hasta que se complete el procesamiento de las muestras multimedia. A continuación, el método KsProcessMediaSamples asigna los encabezados de secuencia con los tamaños de encabezado adecuados. Para cada ejemplo multimedia, KsProcessMediaSamples inicializa el encabezado, copia punteros de datos, establece marcas de tiempo, etc. A continuación, se agrega cada ejemplo a la lista de muestras. Si es una operación de escritura, el ejemplo se mantiene incrementando el recuento de referencias.

Para obtener más información sobre IMediaSample, consulte la documentación de Microsoft Windows SDK.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado ksproxy.h (incluya Ksproxy.h)

Consulte también

IKsDataTypeHandler

IKsDataTypeHandler::KsQueryExtendedSize

KSSTREAM_SEGMENT