1. 07 Mar, 2009 12 commits
    • Max Kellermann's avatar
      chunk: added music_chunk_is_empty() · eb2e3a55
      Max Kellermann authored
      eb2e3a55
    • Max Kellermann's avatar
      music_pipe: poison music_chunk.next · f8aebc52
      Max Kellermann authored
      The value of music_chunk.next is undefined for a chunk returned by
      music_pipe_shift().  For more pedantic debugging, poison the reference
      before returning the chunk.
      f8aebc52
    • Max Kellermann's avatar
      music_pipe: added music_pipe_peek() · 39d35219
      Max Kellermann authored
      music_pipe_peek() is similar to music_pipe_shift(), but doesn't remove
      the chunk.  This allows it to be used with a "const" music_pipe.
      39d35219
    • Max Kellermann's avatar
      output_all: audio_output_all_update() returns bool · b13cd03f
      Max Kellermann authored
      audio_output_all_update() returns true when there is at least open
      output device which is open.
      b13cd03f
    • David Guibert's avatar
      pulse_mixer: allow mpd to reconnect to the pulse mixer · 498ec26f
      David Guibert authored
      This patch follows the commit 21bb10f4.
      
      >From Max Kellermann:
      > I removed the daemonization changes in main.c.  Please explain why you
      > changed that.  If you need it for some reason, make that a separate
      > patch with a good description of your rationale.
      
      > That's the biggest flaw of your code: it opens the mixer device in the
      > init() method, while the open() method is empty.  When the pulse
      > daemon is not available (either during MPD startup or when it dies
      > while MPD runs), the plugin will not even attempt to reconnect to
      > pulse.  Please move the code to the open() method, to make that work.
      
      I changed the daemonize call as the fork losts the connection to the
      pulse server. According to your remark, the init() method should be
      moved to the open() ones.
      
      With the modification, mpd is able to reconnect the pulse mixer after
      restarting the pulseaudio daemon.
      Signed-off-by: 's avatarDavid Guibert <david.guibert@gmail.com>
      Signed-off-by: 's avatarMax Kellermann <max@duempel.org>
      498ec26f
    • Max Kellermann's avatar
      AUTHORS: added Romain Bignon, Rasmus Steinke · a1534ba7
      Max Kellermann authored
      Added two new team members.  Updated the description of older
      contributors.  Moved José Anarch and Patrik Weiskircher to "former
      developers".
      a1534ba7
    • Max Kellermann's avatar
      5ffb2dd8
    • Max Kellermann's avatar
      pulse_mixer: added GLib log domain · b1137fe8
      Max Kellermann authored
      Shorten some log messages, let GLib add the "pulse_mixer" prefix.
      b1137fe8
    • Max Kellermann's avatar
      pulse: clean up includes · 6069cafd
      Max Kellermann authored
      Don't include output_api.h - this is not an output plugin.  Added
      missing explicit conf.h and string.h includes.
      6069cafd
    • David Guibert's avatar
      pulse mixer · 21bb10f4
      David Guibert authored
      This patch introduces the mixer for the pulse output.
      
      Technically speaking, the pulse index is needed to get or set
      the volume. You must define callback fonctions to get this index since
      the pulse output in mpd is done using the simpe api. The pulse simple api
      does not provide the index of the newly defined output.
      
      So callback fonctions are associated to the pulse context.
      The list of all the sink input is then retreived.
      Then we select the name of the mpd pulse output and control
      its volume by its associated index number.
      Signed-off-by: 's avatarPatrice Linel <patnathanael@gmail.com>
      Signed-off-by: 's avatarDavid Guibert <david.guibert@gmail.com>
      
      [mk: fixed whitespace errors and broke long lines; removed
      daemonization changes from main.c]
      21bb10f4
    • Max Kellermann's avatar
      mixer: check for init() failures · a547d24e
      Max Kellermann authored
      When the init() method of a mixer plugin fails, mixer_new()
      dereferences the NULL pointer.
      a547d24e
    • Max Kellermann's avatar
      configure.ac: fix --enable-X variable names · 9ed409cd
      Max Kellermann authored
      The patch "remove redundant explicit $enableval assignments" broke
      several options with non-standard variable names.
      9ed409cd
  2. 06 Mar, 2009 18 commits
  3. 05 Mar, 2009 6 commits
    • Max Kellermann's avatar
      pipe: added music_buffer, rewrite music_pipe · 01cf7fea
      Max Kellermann authored
      Turn the music_pipe into a simple music_chunk queue.  The music_chunk
      allocation code is moved to music_buffer, and is now managed with a
      linked list instead of a ring buffer.  Two separate music_pipe objects
      are used by the decoder for the "current" and the "next" song, which
      greatly simplifies the cross-fading code.
      01cf7fea
    • Max Kellermann's avatar
      music_pipe: added music_pipe_push() · 000b2d4f
      Max Kellermann authored
      Added music_pipe_allocate(), music_pipe_push() and
      music_pipe_cancel().  Those functions allow the caller (decoder thread
      in this case) to do its own chunk management.  The functions
      music_pipe_flush() and music_pipe_tag() can now be removed.
      000b2d4f
    • Max Kellermann's avatar
      playlist_control: fix requeue after seek · 10be8a87
      Max Kellermann authored
      The queue update after a seek was wrong: the queued song is cleared by
      a successful seek.  This caused queue/cross-fading problems after a
      seek.
      10be8a87
    • Max Kellermann's avatar
      flac: explicitly check for STOP command · b0fcce65
      Max Kellermann authored
      After the decoder command was obtained, don't wait until libflac
      detects EOF (as a side effect), quit the decoder immediately.  This
      check was missing completely.
      b0fcce65
    • Max Kellermann's avatar
      flac: check command after flac_process_single() failure · efd60633
      Max Kellermann authored
      When the MPD core sends the decoder a command while
      flac_process_single() is executed, this function fails.  Abort the
      decoder only if not seeking.  This fixes a seeking bug.
      efd60633
    • Max Kellermann's avatar
      music_chunk: added music_chunk_write(), music_chunk_expand() · 74a2813d
      Max Kellermann authored
      Moved some code from music_pipe_write() and music_pipe_expand().  Only
      music_chunk.c should access the music_chunk internals.
      74a2813d
  4. 03 Mar, 2009 4 commits