Método IKsInterfaceHandler::KsProcessMediaSamples (ksproxy.h)
O método KsProcessMediaSamples processa exemplos de mídia.
Sintaxe
HRESULT KsProcessMediaSamples(
[in] IKsDataTypeHandler *KsDataTypeHandler,
[in] IMediaSample **SampleList,
[in, out] PLONG SampleCount,
[in] KSIOOPERATION IoOperation,
[out] PKSSTREAM_SEGMENT *StreamSegment
);
Parâmetros
[in] KsDataTypeHandler
Ponteiro para a interface IKsDataTypeHandler para o manipulador de tipo de dados que manipula o tipo de mídia listado em SampleList. Esse manipulador de tipo de dados tem informações específicas sobre o tipo de mídia que está sendo transmitido.
[in] SampleList
Ponteiro para um buffer que contém uma matriz de ponteiros para as interfaces IMediaSample para a lista de exemplos de mídia a serem processados.
[in, out] SampleCount
Ponteiro para uma variável que inicialmente contém o número de exemplos na lista em SampleList e, no retorno, recebe o número real de amostras processadas.
[in] IoOperation
Valor que especifica o tipo de operação de E/S. Esse valor pode ser um dos seguintes valores do tipo enumerado KSIOOPERATION:
Valor | Descrição |
---|---|
KsIoOperation_Write | Gravar dados no fluxo. |
KsIoOperation_Read | Ler dados do fluxo. |
[out] StreamSegment
Ponteiro para um buffer que recebe um ponteiro para uma estrutura KSSTREAM_SEGMENT que contém informações de cabeçalho para um segmento de fluxo que é enviado para o pin do modo kernel.
Retornar valor
Retorna NOERROR se tiver êxito; caso contrário, retorna um código de erro.
Comentários
O método KsProcessMediaSamples move amostras de ou para um pin de filtro atribuído anteriormente. Um cabeçalho de fluxo é inicializado para representar cada exemplo de mídia no segmento de fluxo. A entrada e a saída (E/S) são executadas, a contagem de itens de espera é incrementada e o thread de E/S do proxy aguarda a conclusão.
O método KsProcessMediaSamples chama o método KsQueryExtendedSize da interface IKsDataTypeHandler recebida para recuperar o tamanho do cabeçalho estendido. Se um tamanho de cabeçalho estendido não for especificado, KsProcessMediaSamples descartará o ponteiro para a interface IKsDataTypeHandler . Se um tamanho de cabeçalho estendido for especificado, KsProcessMediaSamples manterá o ponteiro para a interface IKsDataTypeHandler até que o processamento dos exemplos de mídia seja concluído. O método KsProcessMediaSamples aloca os cabeçalhos de fluxo com os tamanhos de cabeçalho apropriados. Para cada exemplo de mídia, KsProcessMediaSamples inicializa o cabeçalho, copia ponteiros de dados, define carimbos de data/hora e assim por diante. Cada exemplo é adicionado à lista de exemplos. Se for uma operação de gravação, o exemplo será mantido incrementando a contagem de referência.
Para obter mais informações sobre iMediaSample, consulte a documentação do SDK do Microsoft Windows.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ksproxy.h (inclua Ksproxy.h) |