1. 25 Jan, 2009 2 commits
  2. 17 Jan, 2009 1 commit
  3. 04 Jan, 2009 1 commit
  4. 03 Jan, 2009 1 commit
  5. 31 Dec, 2008 2 commits
  6. 29 Dec, 2008 1 commit
    • Max Kellermann's avatar
      removed os_compat.h · 95b3430f
      Max Kellermann authored
      Only include headers which are really needed.  os_compat.h aimed to
      make MPD easily portable, but was never actually made portable.
      95b3430f
  7. 28 Dec, 2008 1 commit
  8. 27 Dec, 2008 1 commit
  9. 25 Nov, 2008 1 commit
  10. 02 Nov, 2008 1 commit
  11. 29 Oct, 2008 8 commits
  12. 28 Oct, 2008 1 commit
  13. 23 Oct, 2008 2 commits
    • Max Kellermann's avatar
      audio: allow 24 and 8 bit output · 80603cf6
      Max Kellermann authored
      I added 24 bit support a while ago, but it wasn't possible to force 24
      bit output.  Add 24 and 8 bit to the list of allowed sample sizes.
      Although 8 bit audio isn't as widely used as 24 bit, there is no
      reason to exclude it.
      80603cf6
    • Max Kellermann's avatar
      output_buffer: don't split frames · 980f2ca5
      Max Kellermann authored
      Splitting a frame between two buffer chunks causes distortion in the
      output.  MPD used to assume that the chunk size 1020 would never cause
      splitted frames, but that isn't the case for 24 bit stereo (127.5
      frames), and even less for files with even more channels.
      980f2ca5
  14. 14 Oct, 2008 1 commit
    • Max Kellermann's avatar
      command: added command "idle" · a3e3d2c9
      Max Kellermann authored
      "idle" waits until something noteworthy happens on the server,
      e.g. song change, playlist modified, database updated.  This allows
      clients to keep up to date without polling.
      a3e3d2c9
  15. 13 Oct, 2008 1 commit
  16. 11 Oct, 2008 3 commits
    • Max Kellermann's avatar
      audio: renamed the audio_format variables · 80a2c937
      Max Kellermann authored
      Renamed audio_configFormat to configured_audio_format.  Renamed
      audio_buffer.format to input_audio_format.  Simplified its
      initialization in openAudioDevice().
      80a2c937
    • Max Kellermann's avatar
      audio: removed enum ad_state · 336b1930
      Max Kellermann authored
      All what's left from ad_state is a simple boolean flag (ENABLE /
      DISABLE).  Convert it to a C99 bool.
      336b1930
    • Max Kellermann's avatar
      audio: removed audio_buffer.buffer · c297c855
      Max Kellermann authored
      audio.c maintained one of MPD's many layers of audio buffers.  It was
      without any benefit, since playAudio() can simply send the source
      buffer directly to the audio output plugin.
      c297c855
  17. 10 Oct, 2008 3 commits
  18. 08 Oct, 2008 1 commit
  19. 29 Sep, 2008 2 commits
    • Max Kellermann's avatar
      audio_output: added method pause() · 6e21e24c
      Max Kellermann authored
      pause() puts the audio output into pause mode: if supported, it may
      perform a special action, which keeps the device open, but does not
      play anything.  Output plugins like "shout" might want to play silence
      during pause, so their clients won't be disconnected.  Plugins which
      do not support pausing will simply be closed, and have to be reopened
      when unpaused.
      
      This pach includes an implementation for the shout plugin, which
      sends silence chunks.
      6e21e24c
    • Eric Wong's avatar
      Switch to C99 types (retaining compat with old compilers) · 0352766d
      Eric Wong authored
      Seeing the "mpd_" prefix _everywhere_ is mind-numbing as the
      mind needs to retrain itself to skip over the first 4 tokens of
      a type to get to its meaning.  So avoid having extra characters
      on my terminal to make it easier to follow code at 2:30 am in
      the morning.
      
      Please report any new issues you may come across on Free
      toolchains.  I realize how difficult it can be to build/maintain
      cross-compiling toolchains and I have no intention of forcing
      people to upgrade their toolchains to build mpd.
      
      Tested with gcc 2.95.4 and and gcc 4.3.1 on x86-32.
      0352766d
  20. 28 Sep, 2008 1 commit
  21. 26 Sep, 2008 1 commit
    • Max Kellermann's avatar
      audio_output: workaround for deadlock · e2a12dee
      Max Kellermann authored
      During debugging, I found a deadlock between flushAudioBuffer() and
      the audio_output_task(): audio_output_task() didn't notice that there
      is a command, and flushAudioBuffer() waited forever in notify_wait().
      I am not sure yet what is the real cause; work around this for now by
      waking up non-finished audio outputs in every iteration.
      e2a12dee
  22. 24 Sep, 2008 4 commits
    • Max Kellermann's avatar
      output: removed DEVICE_ON, DEVICE_OFF · 9a5b5998
      Max Kellermann authored
      To check whether a device is really on or off, we should rather check
      audio_output.open, instead of managing another variable.  Wrap
      audio_output.open in the inline function audio_output_is_open() and
      use it instead of DEVICE_ON and DEVICE_OFF.
      9a5b5998
    • Max Kellermann's avatar
      output: semi-asynchronous playback · 2b782b82
      Max Kellermann authored
      Send an output buffer to all output plugins at the same time, instead
      of waiting for each of them separately.  Make several functions
      non-blocking, and introduce the new function audio_output_wait_all()
      to synchronize with all audio output threads.
      2b782b82
    • Max Kellermann's avatar
      output: call send_tag() only if device is on · 6bbea44e
      Max Kellermann authored
      Why send tags to a device which isn't enabled?
      6bbea44e
    • Max Kellermann's avatar
      output: make "struct audio_output" opaque for output plugins · acc4a0ba
      Max Kellermann authored
      We have eliminated direct accesses to the audio_output struct from
      the all output plugins.  Make it opaque for them, and move its real
      declaration to output_internal.h, similar to decoder_internal.h.
      
      Pass the opaque structure to plugin.init() only, which will return the
      plugin's data pointer on success, and NULL on failure.  This data
      pointer will be passed to all other methods instead of the
      audio_output struct.
      acc4a0ba