Hi,

again, lots of fixes:

- corrected unix socket permissions

- pulse segfault fixed

- ffmpeg: lots of cleanups and minor bug fixes

- some cleanups for valgrind's leak checker (no real memory leaks,
  though)

- better path sanitization for update

- like always, some more "const" attributes all over the place

- most important patch set: the output buffer was renamed to
  music_pipe, and can now transport tags.  I chose this design in
  favor of Eric's metadata_pipe solution, because it is much simpler
  and more straightforward.  This patch and a bunch of other patches
  allow proper tags within stream on both sides of MPD - when playing
  streams, and when streaming out to icecast/shoutcast.  Not 100%
  complete yet.

- stream rewinding heavily optimized by rewinding only the local
  buffer; ogg stream detection fixed

- some minor build fixes

- error reporting fixed, but there is still room for further
  improvements

The alpha version of 0.14 will be released this week.

Max


Alam Arias (3):
      replace tabs with space in shout audio_output example
      removed unneed check for protocol in shout plugin, will assume icecast2 
protocol if not exist in config
      update mpdconf.example that shout ouput encoding and protocol settings 
are optional

Avuton Olrich (1):
      configure.ac: disable libflac's oggflac support with --disable-oggflac

Max Kellermann (99):
      pulse: fix segfault without sink name
      listen: set file mode 666 on the unix socket
      ffmpeg: initialize base.decoder
      ffmpeg: removed debug messages
      ffmpeg: make ffmpeg_helper() return bool
      ffmpeg: eliminated local variable "tag"
      ffmpeg: call tag_free() instead of free()
      ffmpeg: simplified mpdurl_read()
      ffmpeg: report seek errors to MPD
      ffmpeg: moved code to ffmpeg_send_frame()
      ffmpeg: break immediately after av_read_frame()
      ffmpeg: output buffer size cannot be negative
      ffmpeg: use return value of decoder_data()
      ffmpeg: pass input_stream pointer to decoder_data()
      oggflac: adapt to new API
      ogg: don't include _flac_common.h
      client: removed list_cache
      client: use GSList instead of struct strnode for command lists
      client: use GQueue instead of sllist.h for deferred_send
      removed the sllist library
      client: don't try again after partial write
      added prefix to header macros
      directory: directory_free() frees children
      path: free GLib error in fs_charset_to_utf8()
      removed UTF-8 library, use GLib instead
      client: use bool
      input_stream: pass const url to input_stream_open()
      decoder_api: pass constant path pointers
      decoder: introduce switch statement in decoder_task()
      decoder: reset state and command in decoder_task()
      decoder: notify player after stop
      decoder: don't wake up player when command==NONE
      decoder: eliminate gotos in decodeStart()
      mapper: use g_warning() for logging
      path: moved playlist_dir to mapper.c
      update: check return values
      mapper: check for "." and ".."
      path: removed sanitizePathDup()
      alsa, jack: no const pointers for allocated strings
      tag: don't return const string from fix_utf8()
      utils: use GUINT32_FROM_LE() instead of readLEuint32()
      tag: use GLib instead of utils.h
      permission: store passwords in GHashTable
      decoder: return const decoder_plugin structs
      decoder: manage decoder list in a static array
      decoder: make all decoder_plugin structs const
      decoder: make the suffixes and mime_types arrays really const
      decoder: enable decoders even if they have no init() method
      renamed outputBuffer.[ch] to pipe.[ch]
      music_pipe: renamed struct output_buffer to struct music_pipe
      music_pipe: renamed ob_* functions to music_pipe_*
      music_pipe: pass frame size to tail_chunk()
      decoder: replaced music_pipe.audioFormat with dc.out_audio_format
      music_pipe: use GLib instead of utils.h
      music_pipe: more wrapper functions
      music_pipe: renamed "ob" to "music_pipe"
      music_pipe: moved code to music_chunk_append()
      music_pipe: set bit_rate and time in music_pipe_append()
      music_pipe: no CamelCase
      music_pipe: renamed "size" to "num_chunks"
      music_pipe: removed "volatile"
      music_pipe: document struct music_chunk
      music_pipe: added functions chunk_init() and chunk_free()
      music_pipe: add tag pointer to the music_chunk struct
      decoder_api: pass "seekable" flag to decoder_initialized()
      aac, mod: don't check for SEEK command
      aac, mod: moved decoder command check into loop condition
      decoder_api: added decoder_tag()
      input_curl: buffered rewinding
      ogg, ffmpeg: try to decode, even when the stream is not seekable
      ffmpeg: use decoder_read() wrapper instead of direct input_stream_read()
      crossfade: copy tag
      player: send chunk tag to audio device
      decoder: moved code to decoder_try_decode()
      decoder: rewind input stream after try_decode()
      ffmpeg: don't rewind stream in url_close()
      player: added player.song
      player: copy stream tag to the song struct
      removed unused sources
      ffmpeg: fix boolean inversion in ffmpeg_tag()
      player: don't play empty chunks
      output: don't allow length==0
      mod: always initialize libmikmod
      mod: removed boolean globals for lazy init
      alsa: initialize "device" with NULL
      configure.ac: separate the "aac" and "mp4" decoder tests
      configure.ac: AC_SUBST(MP4FF_LIBS)
      decoder_api: no CamelCase
      tag: added function tag_has_type()
      decoder_api: automatically send stream tag
      decoder_api: send song tag in decoder_data()
      decoder: no CamelCase
      decoder: removed "volatile" modifier
      decoder: converted DECODE_ERROR_* to enum
      player: no CamelCase
      player: removed "volatile" attributes
      player: converted PLAYER_ERROR_* to enum
      input_curl: use curl_multi_info_read()
      decoder: update dc.error after input stream failure

Richard Brown (1):
      autogen.sh: don't call aclocal with the $PWD prefix

 autogen.sh                     |    2 +-
 configure.ac                   |   45 ++++++-
 doc/mpdconf.example            |    4 +-
 src/Makefile.am                |   17 +--
 src/ack.h                      |    4 +-
 src/audio.c                    |    1 +
 src/audio.h                    |    4 +-
 src/audioOutput.h              |    4 +-
 src/audio_format.h             |    4 +-
 src/buffer2array.h             |    4 +-
 src/client.c                   |  162 +++++++--------------
 src/client.h                   |    6 +-
 src/command.c                  |   19 +--
 src/command.h                  |    8 +-
 src/compress.h                 |    4 +-
 src/condition.h                |    4 +-
 src/conf.h                     |    4 +-
 src/crossfade.c                |   25 ++--
 src/crossfade.h                |    9 +-
 src/database.h                 |    4 +-
 src/dbUtils.h                  |    4 +-
 src/decoder/_flac_common.c     |    2 +-
 src/decoder/_flac_common.h     |    4 +-
 src/decoder/_ogg_common.c      |    7 -
 src/decoder/_ogg_common.h      |    4 +-
 src/decoder/aac_plugin.c       |   47 ++----
 src/decoder/audiofile_plugin.c |   16 ++-
 src/decoder/ffmpeg_plugin.c    |  216 ++++++++++++----------------
 src/decoder/flac_plugin.c      |   33 +++--
 src/decoder/mod_plugin.c       |   78 +++++------
 src/decoder/mp3_plugin.c       |   56 ++------
 src/decoder/mp4_plugin.c       |   14 +-
 src/decoder/mpc_plugin.c       |   12 +-
 src/decoder/oggflac_plugin.c   |   36 +++---
 src/decoder/oggvorbis_plugin.c |   39 ++---
 src/decoder/wavpack_plugin.c   |   16 +--
 src/decoder_api.c              |  198 +++++++++++++++++---------
 src/decoder_api.h              |   27 +++--
 src/decoder_control.c          |    6 +-
 src/decoder_control.h          |   30 +++--
 src/decoder_internal.h         |    9 +-
 src/decoder_list.c             |  205 +++++++++++++--------------
 src/decoder_list.h             |   19 +--
 src/decoder_thread.c           |  124 ++++++++++------
 src/decoder_thread.h           |    4 +-
 src/directory.c                |    7 +
 src/directory.h                |    4 +-
 src/directory_print.h          |    4 +-
 src/directory_save.h           |    4 +-
 src/dirvec.h                   |    4 +-
 src/dlist.h                    |    4 +-
 src/input_curl.c               |  151 +++++++++++++++++++-
 src/input_file.h               |    4 +-
 src/input_stream.c             |    2 +-
 src/input_stream.h             |    6 +-
 src/ioops.h                    |    4 +-
 src/list.h                     |    4 +-
 src/listen.c                   |    4 +
 src/listen.h                   |    4 +-
 src/locate.h                   |    4 +-
 src/log.h                      |    4 +-
 src/ls.c                       |    5 +-
 src/ls.h                       |    7 +-
 src/main.c                     |    6 +-
 src/main_notify.h              |    4 +-
 src/mapper.c                   |   53 ++++++-
 src/mapper.h                   |   19 +++-
 src/metadata_pipe.c            |  151 -------------------
 src/normalize.h                |    4 +-
 src/notify.h                   |    4 +-
 src/os_compat.h                |    4 +-
 src/output/alsa_plugin.c       |   41 +++---
 src/output/jack_plugin.c       |   26 +++--
 src/output/pulse_plugin.c      |    4 +-
 src/output/shout_plugin.c      |    2 -
 src/output/shout_plugin.h      |    4 +-
 src/outputBuffer.c             |  228 -----------------------------
 src/output_api.h               |    4 +-
 src/output_control.c           |    2 +
 src/output_control.h           |    4 +-
 src/output_internal.h          |    4 +-
 src/output_list.h              |    4 +-
 src/output_thread.c            |    2 +
 src/output_thread.h            |    4 +-
 src/path.c                     |   73 +---------
 src/path.h                     |   16 +--
 src/pcm_dither.h               |    4 +-
 src/pcm_utils.h                |    4 +-
 src/permission.c               |   37 +++---
 src/permission.h               |    4 +-
 src/pipe.c                     |  300 ++++++++++++++++++++++++++++++++++++++
 src/{outputBuffer.h => pipe.h} |  116 +++++++++++----
 src/playerData.c               |    2 +-
 src/playerData.h               |    4 +-
 src/player_control.c           |   25 ++--
 src/player_control.h           |   36 +++---
 src/player_thread.c            |  140 +++++++++++-------
 src/player_thread.h            |    4 +-
 src/playlist.c                 |    7 +-
 src/playlist.h                 |    5 +-
 src/playlist_save.c            |    3 +-
 src/playlist_save.h            |    4 +-
 src/replayGain.h               |    4 +-
 src/ringbuf.c                  |  311 ----------------------------------------
 src/ringbuf.h                  |  227 -----------------------------
 src/sig_handlers.h             |    4 +-
 src/signal_check.h             |    4 +-
 src/sllist.c                   |   73 ----------
 src/sllist.h                   |   52 -------
 src/song.c                     |   15 ++-
 src/song.h                     |    4 +-
 src/song_print.h               |    4 +-
 src/song_save.h                |    4 +-
 src/songvec.h                  |    4 +-
 src/state_file.h               |    4 +-
 src/stats.h                    |    4 +-
 src/stored_playlist.c          |   41 +++---
 src/strset.h                   |    4 +-
 src/tag.c                      |   86 +++++++----
 src/tag.h                      |   11 ++-
 src/tag_internal.h             |    4 +-
 src/tag_pool.h                 |    4 +-
 src/tag_print.h                |    4 +-
 src/tag_save.h                 |    4 +-
 src/update.c                   |    8 +-
 src/update.h                   |    4 +-
 src/utf8.c                     |  158 --------------------
 src/utf8.h                     |   34 -----
 src/utils.c                    |    7 -
 src/utils.h                    |    6 +-
 src/volume.h                   |    4 +-
 src/zeroconf.h                 |    4 +-
 132 files changed, 1772 insertions(+), 2449 deletions(-)
 delete mode 100644 src/metadataChunk.c
 delete mode 100644 src/metadataChunk.h
 delete mode 100644 src/metadata_pipe.c
 delete mode 100644 src/outputBuffer.c
 create mode 100644 src/pipe.c
 rename src/{outputBuffer.h => pipe.h} (50%)
 delete mode 100644 src/ringbuf.c
 delete mode 100644 src/ringbuf.h
 delete mode 100644 src/sllist.c
 delete mode 100644 src/sllist.h
 delete mode 100644 src/utf8.c
 delete mode 100644 src/utf8.h

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to