1. 18 Nov, 2008 1 commit
  2. 13 Nov, 2008 3 commits
  3. 02 Nov, 2008 13 commits
  4. 23 Oct, 2008 1 commit
    • 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
  5. 11 Oct, 2008 1 commit
  6. 08 Oct, 2008 3 commits
  7. 29 Sep, 2008 1 commit
  8. 26 Aug, 2008 8 commits
    • Max Kellermann's avatar
      moved global variable "ob" to outputBuffer.h · a94845ee
      Max Kellermann authored
      This releases several include file dependencies.  As a side effect,
      "CHUNK_SIZE" isn't defined by decoder_api.h anymore, so we have to
      define it directly in the plugins which need it.  It just isn't worth
      it to add it to the decoder plugin API.
      a94845ee
    • Max Kellermann's avatar
      moved convState to struct decoder · 2e9169de
      Max Kellermann authored
      Since we moved all PCM conversions to decoder_data(), the attribute
      convState isn't being used anymore by the OutputBuffer code.  Move it
      to struct decoder.
      2e9169de
    • Max Kellermann's avatar
      tail_chunk() returns ob_chunk pointer · ea51f732
      Max Kellermann authored
      Code simplification: since we are not using in-band signalling with
      the chunk index anymore, we can just return a pointer to the tail
      chunk instead of the index.
      ea51f732
    • Max Kellermann's avatar
      added OutputBuffer.notify · 5df6ff8d
      Max Kellermann authored
      OutputBuffer should be a more generic low-level library, without
      dependencies to the other headers.  This patch adds the field
      "notify", which is used to signal the player thread.  It is passed in
      the constructor, and removes the need to compile with the decode.h
      header.
      5df6ff8d
    • Max Kellermann's avatar
      added decoder_data() · 2a83ccdb
      Max Kellermann authored
      Moved all of the player-waiting code to decoder_data(), to make
      OutputBuffer more generic.
      2a83ccdb
    • Max Kellermann's avatar
      invoke the notify API directly · 241cd043
      Max Kellermann authored
      Don't use wrappers like player_wakeup_decoder_nb().  These have been
      wrappers calling notify.c functions, for compatibility with the
      existing code when we migrated to notify.c.
      241cd043
    • Max Kellermann's avatar
      added dc_command_finished() · 9e0f7dcd
      Max Kellermann authored
      dc_command_finished() is invoked by the decoder thread when it has
      finished a command (sent by the player thread).  It resets dc.command
      and wakes up the player thread.  This combination was used at a lot of
      places, and by introducing this function, the code will be more
      readable.
      9e0f7dcd
    • Max Kellermann's avatar
      merged start, stop, seek into DecoderControl.command · 8d3942e0
      Max Kellermann authored
      Much of the existing code queries all three variables sequentially.
      Since only one of them can be set at a time, this can be optimized and
      unified by merging all of them into one enum variable.  Later, the
      "command" checks can be expressed in a "switch" statement.
      8d3942e0
  9. 15 Apr, 2008 1 commit
    • Max Kellermann's avatar
      added ob_set_lazy() · 7c952c4f
      Max Kellermann authored
      In lazy mode (previously the default), outputBuffer.c only wakes up
      the player when it was previously empty.  That caused a deadlock when
      the player was waiting for buffered_before_play, since the decoder
      wouldn't wake up the player when buffered_before_play was reached.  In
      non-lazy mode, always wake up the player when a new chunk was decoded.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7364 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      7c952c4f
  10. 13 Apr, 2008 3 commits
  11. 12 Apr, 2008 5 commits