Skip to content
Snippets Groups Projects
  1. Jan 15, 2021
  2. Dec 15, 2020
  3. Sep 23, 2020
  4. Sep 17, 2020
  5. May 26, 2020
  6. May 25, 2020
  7. Apr 06, 2020
  8. Feb 06, 2020
  9. Jan 31, 2020
    • Volker Rümelin's avatar
      audio: audio_generic_get_buffer_in should honor *size · 599eac4e
      Volker Rümelin authored
      The function generic_get_buffer_in currently ignores the *size
      parameter and may return a buffer larger than *size.
      
      As a result the variable samples in function
      audio_pcm_hw_run_in may underflow. The while loop then most
      likely will never termiate.
      
      Buglink: http://bugs.debian.org/948658
      
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20200123074943.6699-9-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      599eac4e
    • Volker Rümelin's avatar
      audio: fix bug 1858488 · fdc8c5f4
      Volker Rümelin authored
      The combined generic buffer management code and buffer run out
      code in function audio_generic_put_buffer_out has a problematic
      behaviour. A few hundred milliseconds after playback starts the
      mixing buffer and the generic buffer are nearly full and the
      following pattern can be seen.
      
      On first call of audio_pcm_hw_run_out the buffer run code in
      audio_generic_put_buffer_out writes some data to the audio
      hardware but the generic buffer will fill faster and is full
      when audio_pcm_hw_run_out returns. This is because emulated
      audio devices can produce playback data at a higher rate than
      the audio backend hardware consumes this data.
      
      On next call of audio_pcm_hw_run_out the buffer run code in
      audio_generic_put_buffer_out writes some data to the audio
      hardware but no audio data is transferred to the generic buffer
      because the buffer is already full.
      
      Then the pattern repeats. For the emulated audio device this
      looks like the audio timer period has doubled.
      
      This patch splits the combined generic buffer management code
      and buffer run out code and calls the buffer run out code after
      buffer management code to break this pattern.
      
      The bug report is for the wav audio backend. But the problem is
      not limited to this backend. All audio backends which use the
      audio_generic_put_buffer_out function show this problem.
      
      Buglink: https://bugs.launchpad.net/qemu/+bug/1858488
      
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20200123074943.6699-5-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      fdc8c5f4
    • Volker Rümelin's avatar
      audio: prevent SIGSEGV in AUD_get_buffer_size_out · 69ac0786
      Volker Rümelin authored
      
      With audiodev parameter out.mixing-engine=off hw->mix_buf is
      NULL. This leads to a segmentation fault in
      AUD_get_buffer_size_out. This patch reverts a small part of
      dc88e38f "audio: unify input and output mixeng buffer
      management".
      
      To reproduce the problem start qemu with
      -soundhw adlib -audiodev pa,id=audio0,out.mixing-engine=off
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20200123074943.6699-4-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      69ac0786
    • Volker Rümelin's avatar
      audio: fix audio_generic_read · 4da58faa
      Volker Rümelin authored
      
      It seems the function audio_generic_read started as a copy of
      function audio_generic_write and some necessary changes were
      forgotten. Fix the mixed up source and destination pointers and
      rename misnamed variables.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20200123074943.6699-2-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      4da58faa
    • Volker Rümelin's avatar
      audio: fix audio_generic_write · d3ed0996
      Volker Rümelin authored
      
      The pcm_ops function put_buffer_out expects the returned pointer
      of function get_buffer_out as argument. Fix this.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20200123074943.6699-1-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      d3ed0996
  10. Jan 24, 2020
  11. Jan 06, 2020
  12. Nov 20, 2019
  13. Oct 18, 2019
  14. Sep 23, 2019
  15. Aug 28, 2019
  16. Aug 21, 2019
Loading