KSPROPERTY_RTAUDIO_GETREADPACKET
KSPROPERTY_RTAUDIO_GETREADPACKET retorna informações sobre pacotes de áudio capturados.
Tabela de Resumo de Uso
Obter | Definir | Destino | Tipo de descritor de propriedade | Tipo de valor da propriedade |
---|---|---|---|---|
Sim | Não | Pin | KSPROPERTY | KSRTAUDIO_GETREADPACKET_INFO |
O descritor de propriedade (dados da instância) é uma estrutura KSPROPERTY . Antes de enviar a solicitação, o cliente carrega a estrutura com valores que indicam o número do pacote, o comprimento do pacote e outras informações.
O valor da propriedade é uma variável do tipo KSRTAUDIO_GETREADPACKET_INFO.
Valor retornado
Uma solicitação de propriedade KSPROPERTY_RTAUDIO_GETREADPACKET retorna STATUS_SUCCESS para indicar que foi concluída com êxito. Caso contrário, a solicitação retornará uma falha apropriada status código.
STATUS_DEVICE_NOT_READY - O driver retornará esse erro se nenhum novo dado estiver disponível.
Comentários
Antes de ler os dados de áudio capturados do buffer WaveRT, o sistema operacional chama essa rotina para obter informações sobre os dados disponíveis.
O número do pacote identifica um pacote dentro do fluxo. Isso é redefinido para zero quando o fluxo está em KSSTATE_STOP. O número avança com cada buffer capturado. No número do pacote, o sistema operacional pode derivar o local do pacote dentro do buffer WaveRT e também pode derivar a posição do fluxo do pacote em relação ao início do fluxo.
O tamanho do pacote é o tamanho do buffer WaveRT dividido pelo NotificationCount passado para KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION. O sistema operacional pode chamar essa rotina a qualquer momento. Em operação normal, o sistema operacional chama essa rotina depois que o driver define o evento de notificação de buffer ou depois que uma chamada anterior retorna true para MoreData. Quando o sistema operacional chama essa rotina, o driver pode assumir que o sistema operacional terminou de ler todos os pacotes anteriores. Se o hardware tiver capturado dados suficientes, o driver poderá imediatamente estourar o próximo pacote completo para o buffer WaveRT e definir o evento de buffer novamente. No caso de estouro de captura (quando o sistema operacional não lê dados rapidamente o suficiente), o driver de áudio pode soltar ou substituir alguns dados de áudio. O driver de áudio descarta ou substitui os dados mais antigos primeiro, o driver de áudio pode continuar a avançar seu contador de pacotes interno, mesmo que o sistema operacional possa não ter lido os dados.
Requisitos
Versão |
Disponível em sistemas operacionais Windows Windows 10 e posteriores. |
Cabeçalho |
Ksmedia.h |