Quando o fim de um quadro é atingido, essa função atualiza o quadro e define o ponteiro como zero.Para calcular o tamanho de um buffer de DMA, use a seguinte fórmula:
Você pode evitar comandos de Direct Memory Access (DMA) bloqueados garantindo que seu buffer de áudio seja suficientemente grande e que os dados sejam transmitidos em intervalos regulares (relacionados ao tamanho do buffer). Por exemplo, se você estiver transmitindo quatro quadros de hardware por vez, garanta que algum múltiplo desses quadros (pelo menos em buffer duplo com oito quadros) esteja no buffer para que o hardware possa gravar à frente do ponteiro de leitura do título. Como alternativa, você poderia forçar o esvaziamento do buffer antes de enviar o próximo grafo de fluxo (consumir, atualizar o ponteiro de leitura de DMA e, em seguida, enviar o grafo de fluxo). Para obter mais detalhes, consulte Comandos bloqueados em Visão geral do SHAPE.Você pode enviar grafos de fluxo para serem processados como persistentes ou não persistentes. Os grafos de fluxo persistentes são processados e, em seguida, permanecem residentes para repetir o processamento no próximo quadro, depois que os ponteiros de leitura e gravação avançarem e depois que outras informações de contexto forem atualizadas.