mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
display: xlnx_dp: Provide sufficient bytes for silent audio channel
Fill the audio channel with required number of bytes to cover the elapsed time. This prevents rate control reset, and avoids debug prints like below log: Resetting rate control (65692 samples) ... Resetting rate control (65721 samples) ... Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 1573833408-2388-1-git-send-email-sai.pavan.boddu@xilinx.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
7ffc90f3ae
commit
0f6ed883e7
1 changed files with 7 additions and 2 deletions
|
@ -394,13 +394,18 @@ static void xlnx_dp_audio_callback(void *opaque, int avail)
|
|||
written = AUD_write(s->amixer_output_stream,
|
||||
&s->out_buffer[s->data_ptr], s->byte_left);
|
||||
} else {
|
||||
int len_to_copy;
|
||||
/*
|
||||
* There is nothing to play.. We don't have any data! Fill the
|
||||
* buffer with zero's and send it.
|
||||
*/
|
||||
written = 0;
|
||||
memset(s->out_buffer, 0, 1024);
|
||||
AUD_write(s->amixer_output_stream, s->out_buffer, 1024);
|
||||
while (avail) {
|
||||
len_to_copy = MIN(AUD_CHBUF_MAX_DEPTH, avail);
|
||||
memset(s->out_buffer, 0, len_to_copy);
|
||||
avail -= AUD_write(s->amixer_output_stream, s->out_buffer,
|
||||
len_to_copy);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
written = AUD_write(s->amixer_output_stream,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue