mirror of https://gitee.com/openkylin/linux.git
ALSA: line6: Skip volume manipulation during silence copying
A minor optimization; while pausing, the driver just copies the zero that doesn't need any volume changes. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
c8491535d7
commit
62a109d9e2
|
@ -234,13 +234,14 @@ static int submit_audio_out_urb(struct snd_line6_pcm *line6pcm)
|
||||||
line6pcm->out.pos += urb_frames;
|
line6pcm->out.pos += urb_frames;
|
||||||
if (line6pcm->out.pos >= runtime->buffer_size)
|
if (line6pcm->out.pos >= runtime->buffer_size)
|
||||||
line6pcm->out.pos -= runtime->buffer_size;
|
line6pcm->out.pos -= runtime->buffer_size;
|
||||||
|
|
||||||
|
change_volume(urb_out, line6pcm->volume_playback,
|
||||||
|
bytes_per_frame);
|
||||||
} else {
|
} else {
|
||||||
memset(urb_out->transfer_buffer, 0,
|
memset(urb_out->transfer_buffer, 0,
|
||||||
urb_out->transfer_buffer_length);
|
urb_out->transfer_buffer_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
change_volume(urb_out, line6pcm->volume_playback, bytes_per_frame);
|
|
||||||
|
|
||||||
if (line6pcm->prev_fbuf != NULL) {
|
if (line6pcm->prev_fbuf != NULL) {
|
||||||
if (line6pcm->flags & LINE6_BITS_PCM_IMPULSE) {
|
if (line6pcm->flags & LINE6_BITS_PCM_IMPULSE) {
|
||||||
create_impulse_test_signal(line6pcm, urb_out,
|
create_impulse_test_signal(line6pcm, urb_out,
|
||||||
|
|
Loading…
Reference in New Issue