Commit 0f6ed883 authored by Sai Pavan Boddu's avatar Sai Pavan Boddu Committed by Gerd Hoffmann
Browse files

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: default avatarSai Pavan Boddu <sai.pavan.boddu@xilinx.com>
Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
Message-id: 1573833408-2388-1-git-send-email-sai.pavan.boddu@xilinx.com
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 7ffc90f3
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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,