1. 01 Aug, 2011 4 commits
  2. 26 Jul, 2011 2 commits
  3. 25 Jul, 2011 1 commit
  4. 08 Jul, 2011 2 commits
    • Rémi Denis-Courmont's avatar
      Merge all audio output locks except volume control · 41d30c6a
      Rémi Denis-Courmont authored
      With only one input per output, the lock is only useful:
       - to restart the audio instance (needed 3 out of 4 locks anyway),
       - to propagate volume change to the mixer or output plugin,
       - to access the FIFO from the output plugin thread (if applicable).
      
      So 4 fine-grained was over-engineering. Most importantly, the locking
      scheme was overly complicated and generally misunderstood/misused. Also
      to avoid lock inversion, some unlocking/relocking sequences were
      introduced; they broke atomicity.
      
      We could certainly reduce the scope of the remaining lock. Since we
      have one only input per output, most of the code is only ever run from
      the decoder thread. Thus reentrancy is not anymore needed in some
      places. But first aout_Restart() needs to be fixed and simplified.
      41d30c6a
    • Rémi Denis-Courmont's avatar
      Add pause callback for audio output (aout_output_t.pf_pause) · 1d7fcd8c
      Rémi Denis-Courmont authored
      This is required for PulseAudio synchronization and to pause/resume
      with low-latency. This should also be useful for other buffered
       audio outputs such as ALSA or CoreAudio.
      1d7fcd8c
  5. 09 Jun, 2011 1 commit
  6. 07 Jun, 2011 2 commits
  7. 31 May, 2011 2 commits
  8. 09 Apr, 2011 2 commits
  9. 07 Apr, 2011 2 commits
  10. 20 Dec, 2009 1 commit
  11. 27 Sep, 2009 1 commit
  12. 23 Sep, 2009 2 commits
  13. 22 Sep, 2009 1 commit
  14. 03 Sep, 2009 3 commits
    • Rafaël Carré's avatar
      c22195b4
    • Rafaël Carré's avatar
      aout_BufferAlloc() : remove stack allocation · f7650038
      Rafaël Carré authored
      alloca() was not used anyway on OSX and BSD, due to smaller stack sizes,
      and we can't assume a default stack size anyway
      
      I expect the performance loss to be minimal, but worth the code
      simplification anyway (i didn't benchmark)
      
      aout_BufferAlloc() is moved into its own function in a .c file instead
      of being a macro
      
      Since there is now 2 types of allocations (HEAP and NONE), make
      i_alloc_type a boolean (true = HEAP alloc, false = NO alloc)
      
      make aout_BufferFree() a static inline function in the same process.
      Prototype doesn't change since the provided buffer doesn't need to be
      set to NULL (I checked all the callers)
      f7650038
    • Rafaël Carré's avatar
      src/ : missing assert.h include · 6efc8da0
      Rafaël Carré authored
      6efc8da0
  15. 25 Aug, 2009 1 commit
  16. 24 Jul, 2009 1 commit
  17. 05 May, 2009 1 commit
  18. 31 Mar, 2009 1 commit
  19. 12 Dec, 2008 1 commit
  20. 23 Nov, 2008 1 commit
  21. 22 Nov, 2008 1 commit
  22. 08 Oct, 2008 1 commit
  23. 30 Sep, 2008 3 commits
  24. 15 Aug, 2008 3 commits