1. 01 Aug, 2011 2 commits
  2. 26 Jul, 2011 2 commits
  3. 25 Jul, 2011 3 commits
  4. 20 Jul, 2011 1 commit
    • Rémi Denis-Courmont's avatar
      Change audio output tolerance times · ef4280c5
      Rémi Denis-Courmont authored
      Maximum buffering time (AOUT_MAX_PREPARE_TIME) is increased to 2
      seconds, consistent with increases in audio hardware buffer sizes.
      In practice however, this is bound to the input PTS delay.
      Maximum advance time is updated accordingly (+ 1 second).
      Lip desynchronization tolerance is segregated, following EBU R37:
       - 40 ms (as before) maximum audio advance
       - 60 ms maximum audio delay.
  5. 08 Jul, 2011 3 commits
    • Rémi Denis-Courmont's avatar
      Mix 16-bits PCM instead of fixed-point if input is 16-bits or less · bfe9c3c7
      Rémi Denis-Courmont authored
      Audio output should be more efficient on FPU-less devices.
      Firstly the mixer should be faster with 16-bits instead of 32.
      Secondly FPU-less systems usually output at 16-bits, so one sample
      format conversion between the mixer and the output is now avoided.
      Thirdly conversion from input format to the mixer format should
      similarly be completely avoided or at least accelerated.
    • 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.
    • 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.
  6. 09 Jun, 2011 1 commit
  7. 07 Jun, 2011 2 commits
  8. 31 May, 2011 3 commits
  9. 30 May, 2011 4 commits
  10. 09 Apr, 2011 1 commit
  11. 07 Apr, 2011 1 commit
  12. 31 Mar, 2011 1 commit
  13. 23 Oct, 2010 1 commit
  14. 27 Jul, 2010 1 commit
  15. 18 Jan, 2010 1 commit
  16. 29 Nov, 2009 2 commits
  17. 26 Nov, 2009 1 commit
  18. 19 Oct, 2009 1 commit
    • Rémi Denis-Courmont's avatar
      HAVE_FPU: make constant · 145903d0
      Rémi Denis-Courmont authored
      Currently, we do not have any architecture where this would not be
      a build-time constant. Constancy helps fixing a few issues in the audio
  19. 30 Sep, 2009 1 commit
  20. 27 Sep, 2009 1 commit
    • Rémi Denis-Courmont's avatar
      Convert audio output core to audio filter2 · 9d9577f0
      Rémi Denis-Courmont authored
      audio filter plugins are now useless.
      This breaks visual (needs to be ported to filter_t) and will likely
      expose bugs in under-used audio filter2 infrastructure.
      TODO: use filter chain instead of custom filter handling in core.
  21. 23 Sep, 2009 2 commits
  22. 22 Sep, 2009 2 commits
  23. 03 Sep, 2009 1 commit
    • 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)
  24. 25 Aug, 2009 1 commit
  25. 13 May, 2009 1 commit