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) |