1. 17 Apr, 2012 4 commits
  2. 25 Feb, 2012 1 commit
  3. 14 Dec, 2011 1 commit
  4. 18 Nov, 2011 1 commit
  5. 20 Sep, 2011 2 commits
  6. 15 Sep, 2011 1 commit
    • Luiz Capitulino's avatar
      Replace the VMSTOP macros with a proper state type · 1dfb4dd9
      Luiz Capitulino authored
      Today, when notifying a VM state change with vm_state_notify(),
      we pass a VMSTOP macro as the 'reason' argument. This is not ideal
      because the VMSTOP macros tell why qemu stopped and not exactly
      what the current VM state is.
      
      One example to demonstrate this problem is that vm_start() calls
      vm_state_notify() with reason=0, which turns out to be VMSTOP_USER.
      
      This commit fixes that by replacing the VMSTOP macros with a proper
      state type called RunState.
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
      1dfb4dd9
  7. 20 Aug, 2011 1 commit
  8. 23 Jun, 2011 2 commits
  9. 13 Jun, 2011 1 commit
  10. 08 Jun, 2011 1 commit
  11. 31 May, 2011 1 commit
  12. 03 Apr, 2011 1 commit
  13. 21 Mar, 2011 1 commit
    • Paolo Bonzini's avatar
      change all other clock references to use nanosecond resolution accessors · 74475455
      Paolo Bonzini authored
      This was done with:
      
          sed -i 's/qemu_get_clock\>/qemu_get_clock_ns/' \
              $(git grep -l 'qemu_get_clock\>' )
          sed -i 's/qemu_new_timer\>/qemu_new_timer_ns/' \
              $(git grep -l 'qemu_new_timer\>' )
      
      after checking that get_clock and new_timer never occur twice
      on the same line.  There were no missed occurrences; however, even
      if there had been, they would have been caught by the compiler.
      
      There was exactly one false positive in qemu_run_timers:
      
           -    current_time = qemu_get_clock (clock);
           +    current_time = qemu_get_clock_ns (clock);
      
      which is of course not in this patch.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      74475455
  14. 25 Jan, 2011 3 commits
    • Gerd Hoffmann's avatar
      pulseaudio: tweak config · bf1064b5
      Gerd Hoffmann authored
      Zap unused divisor field.
      Raise the buffer size default.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: default avatarmalc <av1474@comtv.ru>
      bf1064b5
    • Gerd Hoffmann's avatar
      pulseaudio: setup buffer attrs · e6d16fa4
      Gerd Hoffmann authored
      Request reasonable buffer sizes from pulseaudio.  Without this
      pa_simple_write() can block quite long and lead to dropouts,
      especially with guests which use small audio ring buffers.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: default avatarmalc <av1474@comtv.ru>
      e6d16fa4
    • Gerd Hoffmann's avatar
      pulseaudio: process 1/4 buffer max at once · 6315633b
      Gerd Hoffmann authored
      Limit the size of data pieces processed by the pulseaudio worker
      threads.  Never ever process more than 1/4 of the buffer at once.
      
      Background: The buffer area currently processed by the pulseaudio thread
      is blocked, i.e. the main thread (or iothread) can't fill in more data
      there.  The buffer processing time is roughly real-time due to the
      pa_simple_write() call blocking when the output queue to the pulse
      server is full.  Thus processing big chunks at once means blocking
      a large part of the buffer for a long time.  This brings high latency
      and can lead to dropouts.
      
      When processing the buffer in smaller chunks the rpos handling becomes a
      problem though.  The thread reads hw->rpos without knowing whenever
      qpa_run_out has already seen the last (small) chunk processed and
      updated rpos accordingly.  There is no point in reading hw->rpos though,
      pa->rpos can be used instead.  We just need to take care to initialize
      pa->rpos before kicking the thread.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: default avatarmalc <av1474@comtv.ru>
      6315633b
  15. 12 Jan, 2011 1 commit
  16. 08 Jan, 2011 2 commits
  17. 03 Jan, 2011 1 commit
  18. 09 Dec, 2010 1 commit
  19. 04 Dec, 2010 1 commit
  20. 18 Nov, 2010 1 commit
  21. 11 Nov, 2010 1 commit
  22. 09 Nov, 2010 1 commit
    • Gerd Hoffmann's avatar
      spice: add audio · 3e313753
      Gerd Hoffmann authored
      Add support for the spice audio interface.  With this patch applied
      audio can be forwarded over the network from/to the spice client.  Both
      recording and playback is supported.
      
      The driver is first in the driver list, but the can_be_default flag is
      set only in case spice is active.  So if you have the spice protocol
      enabled the spice audio driver is the default one, otherwise whatever
      comes first after spice in the list.  Overriding the default using
      QEMU_AUDIO_DRV works in any case.
      
      [ v2: audio codestyle: add spaces before open parenthesis ]
      [ v2: add const to silence array ]
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Cc: malc <av1474@comtv.ru>
      Signed-off-by: default avatarmalc <av1474@comtv.ru>
      3e313753
  23. 17 Oct, 2010 2 commits
  24. 03 Oct, 2010 2 commits
  25. 28 Sep, 2010 1 commit
    • Wu Fengguang's avatar
      pulse-audio: fix bug on updating rpos · fd5723b3
      Wu Fengguang authored
      Fix a rpos coordination bug between qpa_run_out() and qpa_thread_out(),
      which shows up as playback noises.
      
      	qpa_run_out()
      			qpa_thread_out loop N critical section 1
      	qpa_run_out()   qpa_thread_out loop N doing pa_simple_write()
      	qpa_run_out()	qpa_thread_out loop N doing pa_simple_write()
      			qpa_thread_out loop N critical section 2
      			qpa_thread_out loop N+1 critical section 1
      	qpa_run_out()	qpa_thread_out loop N+1 doing pa_simple_write()
      
      In the above scheme, "qpa_thread_out loop N+1 critical section 1" will
      get the same rpos as the one used by "qpa_thread_out loop N critical
      section 1". So it will be reading dead samples from the old rpos.
      
      The rpos can only be updated back to qpa_thread_out when there is a
      qpa_run_out() run between two qpa_thread_out loops.
      
      normal sequence:
      	qpa_thread_out:
      			hw->rpos (X0) => local rpos => pa->rpos (X1)
      	qpa_run_out:
      			pa->rpos (X1) => hw->rpos (X1)
      	qpa_thread_out:
      			hw->rpos (X1) => local rpos => pa->rpos (X2)
      
      buggy sequence:
      	qpa_thread_out:
      			hw->rpos (X0) => local rpos => pa->rpos (X1)
      	qpa_thread_out:
      			hw->rpos (X0) => local rpos => pa->rpos (X1')
      
      Obviously qpa_run_out() shall be called at least once between any two
      qpa_thread_out loops (after pa->rpos is set), in order for the new
      qpa_thread_out loop to see the updated rpos.
      
      Setting pa->live to 0 does the trick. The next loop will have to wait
      for one qpa_run_out() invocation in order to get a non-zero pa->live
      and proceed.
      Signed-off-by: default avatarmalc <av1474@comtv.ru>
      Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
      fd5723b3
  26. 27 Sep, 2010 1 commit
  27. 22 Sep, 2010 1 commit
  28. 07 Aug, 2010 1 commit
  29. 06 Aug, 2010 2 commits