Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | output/alsa: moved code to alsa_output_setup_format() | Max Kellermann | 2010-01-16 | 1 | -72/+80 |
| | |||||
* | test/run_convert: implement a GLib log callback | Max Kellermann | 2010-01-16 | 1 | -0/+12 |
| | | | | | Log to stderr instead of the default stdout. We need a pristine stdout for the conversion result. | ||||
* | test/run_convert: use fifo_buffer to adapt to odd sample sizes | Max Kellermann | 2010-01-16 | 2 | -3/+27 |
| | | | | | Ensure that the pcm_convert() length argument is aligned to the sample size. | ||||
* | decoder/flac: support streams without STREAMINFO block | Max Kellermann | 2010-01-06 | 3 | -1/+53 |
| | |||||
* | decoder/flac: pass bits_per_sample to flac_sample_format() | Max Kellermann | 2010-01-06 | 1 | -3/+3 |
| | | | | Easier to reuse the function. | ||||
* | decoder/flac: moved decoder initialization to _flac_common.c | Max Kellermann | 2010-01-06 | 4 | -51/+23 |
| | | | | | | Invoke decoder_initialized() in the libFLAC metadata callback. This merges code from the FLAC and the OggFLAC decoder plugin into the common library. | ||||
* | decoder/flac: remember audio_format, not stream_info | Max Kellermann | 2010-01-06 | 4 | -25/+47 |
| | |||||
* | decoder/flac: removed CUE sheet support | Max Kellermann | 2010-01-06 | 4 | -360/+2 |
| | | | | This feature has been moved to the "flac" playlist plugin. | ||||
* | playlist: added a FLAC playlist plugin | Max Kellermann | 2010-01-06 | 4 | -0/+212 |
| | | | | This playlist plugin handles FLAC files with embedded CUE sheets. | ||||
* | decoder/flac: moved flac_tag_load() to flac_metadata.c | Max Kellermann | 2010-01-06 | 3 | -53/+56 |
| | | | | Make this code is reusable. | ||||
* | tag: fixed memmove() size argument in tag_delete_item() | Max Kellermann | 2010-01-06 | 1 | -1/+1 |
| | | | | This function has always been broken, but fortunately nobody used it. | ||||
* | playlist_queue: convert absolute paths | Max Kellermann | 2010-01-06 | 1 | -4/+16 |
| | | | | Accept absolute paths if they point into the music directory. | ||||
* | playlist_queue: use the "uri" variable earlier | Max Kellermann | 2010-01-06 | 1 | -6/+7 |
| | | | | Preparation for the next patch. | ||||
* | input/rewind: enable the "rewind" wrapper for all non-seekable streams | Max Kellermann | 2010-01-04 | 3 | -16/+3 |
| | | | | Don't limit the "rewind" input plugin to CURL streams. | ||||
* | renamed decoder plugin sources | Max Kellermann | 2010-01-04 | 16 | -15/+15 |
| | | | | Make it X_decoder_plugin.c. | ||||
* | decoder/mad: fix build error without libid3tag | Max Kellermann | 2010-01-04 | 1 | -1/+0 |
| | |||||
* | replay_gain: moved code to replay_gain_config.c | Max Kellermann | 2010-01-04 | 7 | -15/+9 |
| | |||||
* | replay_gain: moved code to replay_gain_info.c | Max Kellermann | 2010-01-04 | 10 | -54/+112 |
| | |||||
* | replay_gain: refactor API, move code to replay_gain_state.c | Max Kellermann | 2010-01-04 | 8 | -76/+209 |
| | | | | | The replay_gain_state struct holds the precalculated scale factor, which is removed from struct replay_gain_info. | ||||
* | decoder_api: added function decoder_replay_gain() | Max Kellermann | 2010-01-04 | 23 | -96/+113 |
| | | | | | | This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over. | ||||
* | replay_gain: added function replay_gain_info_dup() | Max Kellermann | 2010-01-04 | 2 | -0/+12 |
| | |||||
* | valgrind.suppressions: added new suppressions | Max Kellermann | 2010-01-04 | 1 | -0/+19 |
| | |||||
* | replay_gain: removed overly verbose debug message | Max Kellermann | 2010-01-02 | 1 | -1/+0 |
| | | | | Don't log "ReplayGain is missing". | ||||
* | configure.ac: disable -Wdeclaration-after-statement | Max Kellermann | 2010-01-02 | 1 | -1/+0 |
| | | | | Allow declaration after statement. | ||||
* | output_all: reset elapsed_time at song border | Max Kellermann | 2010-01-02 | 3 | -0/+16 |
| | | | | | | | | Another quirk fixed: after the last chunk of a song has been played, the "elapsed_time" variable is set to the chunk's time stamp. When the client receives the PLAYER idle event and asks MPD for the current time stamp, MPD will return the last time stamp of the previous song when it hasn't played the first chunk of the current song yet. | ||||
* | input_stream: return allocated input_stream objects | Max Kellermann | 2010-01-01 | 25 | -326/+315 |
| | | | | | | | | Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute). | ||||
* | updated valgrind.suppressions | Max Kellermann | 2010-01-01 | 1 | -2/+190 |
| | | | | Mostly OpenSSL and GLib one-time allocations. | ||||
* | configure.ac: expose variables OPENAL_CFLAGS and OPENAL_LIBS | Max Kellermann | 2010-01-01 | 2 | -5/+5 |
| | | | | | Don't add these to the global MPD_CFLAGS and MPD_LIBS. This allows test programs to link without libopenal. | ||||
* | Update copyright notices. | Avuton Olrich | 2009-12-31 | 394 | -395/+395 |
| | |||||
* | decoder: switch a bunch of plugins to stream_tag() | Max Kellermann | 2009-12-31 | 7 | -110/+45 |
| | | | | | | | | | | This patch changes the following decoder plugins to implement stream_tag() instead of tag_dup(): faad, ffmpeg, mad, modplug, mp4ff, mpcdec, oggflac This simplifies their code, because they do not need to take care of opening/closing the stream. | ||||
* | decoder_plugin: added method stream_tag() | Max Kellermann | 2009-12-31 | 4 | -1/+63 |
| | | | | | This is like tag_dup(), but works with an input_stream object instead of a file path. | ||||
* | song_update: use decoder_plugin_tag_dup() | Max Kellermann | 2009-12-31 | 1 | -1/+1 |
| | | | | Minor code simplification. | ||||
* | archive: use reference counting for archive+input | Max Kellermann | 2009-12-31 | 5 | -8/+32 |
| | | | | | | | Make the input_stream implementation hold a reference on the archive_file object. Allow the caller to "close" the archive_file object immediately, no matter if the open_stream() method has succeeded or not. | ||||
* | refcount: library for reference counting | Max Kellermann | 2009-12-31 | 1 | -0/+66 |
| | |||||
* | input/archive: don't initialize input_stream.ready | Max Kellermann | 2009-12-31 | 4 | -2/+3 |
| | | | | The archive plugin should decide this. | ||||
* | archive/bz2: allocate buffer statically | Max Kellermann | 2009-12-31 | 1 | -7/+3 |
| | | | | Reduce the number of malloc()/free() calls. | ||||
* | archive/bz2: added struct bz2_input_stream | Max Kellermann | 2009-12-31 | 1 | -21/+32 |
| | | | | Don't use the bz2_archive_file object for the input_stream. | ||||
* | archive/iso9660: added struct iso9660_input_stream | Max Kellermann | 2009-12-31 | 1 | -20/+32 |
| | | | | Don't use the iso9660_archive_file object for the input_stream. | ||||
* | archive/iso9660: set input_stream.{size,offset} | Max Kellermann | 2009-12-31 | 1 | -8/+8 |
| | |||||
* | archive/zzip: added struct zzip_input_stream | Max Kellermann | 2009-12-31 | 1 | -19/+33 |
| | | | | Don't use the zzip_archive object for the input_stream. | ||||
* | archive/zzip: set input_stream.{size,offset} | Max Kellermann | 2009-12-31 | 1 | -3/+5 |
| | |||||
* | Makefile.am: added unit tests for the archive plugins | Max Kellermann | 2009-12-31 | 7 | -0/+64 |
| | |||||
* | Merge vorbis+icy fixes from branch 'v0.15.x' | Max Kellermann | 2009-12-30 | 11 | -186/+357 |
|\ | | | | | | | | | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/input/curl_input_plugin.c src/input_stream.c | ||||
| * | input/curl: removed the built-in rewinding code | Max Kellermann | 2009-12-30 | 1 | -181/+10 |
| | | | | | | | | This has been reimplemented in the "rewind" input plugin. | ||||
| * | input/rewind: new input_stream wrapper to allow stream rewinding | Max Kellermann | 2009-12-29 | 7 | -1/+318 |
| | | | | | | | | | | | | | | | | | | | | | | | | This replaces the rewinding buffer code from the CURL input plugin. It is more generic, and allows rewinding even when the server sends Icy-Metadata (which would have been too difficult to implement within the CURL plugin). This is a rather complex patch for the stable branch (v0.15.x), but it fixes a serious problem: the "vorbis" decoder plugin was unable to play streams with Icy-Metadata, because it couldn't rewind the stream after detecting the codec (Vorbis vs. FLAC). | ||||
| * | decoder/{ffmpeg,flac,vorbis}: added more flac/vorbis MIME types | Max Kellermann | 2009-12-29 | 5 | -4/+24 |
| | | | | | | | | | | Support deprecated MIME types such as "audio/x-ogg". Support new types such as "audio/flac". | ||||
| * | Modify version string to post-release version 0.15.8~git | Avuton Olrich | 2009-12-27 | 2 | -1/+4 |
| | | |||||
* | | Merged release 0.15.7 from branch 'v0.15.x' | Max Kellermann | 2009-12-27 | 5 | -6/+12 |
|\| | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder_api.c | ||||
| * | mpd version 0.15.7release-0.15.7 | Avuton Olrich | 2009-12-27 | 2 | -2/+2 |
| | | |||||
| * | dbUtils: return multiple tag values per song | Max Kellermann | 2009-12-27 | 2 | -1/+1 |
| | | | | | | | | | | | | When collecting tag values for the result set, add all of a song's tag values of the searched type. This affects the "list" command. Previously, "list" only considered the first tag value of a song. |