- 02 Jan, 2010 1 commit
-
-
Max Kellermann authored
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.
-
- 01 Jan, 2010 4 commits
-
-
Max Kellermann authored
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).
-
Max Kellermann authored
Mostly OpenSSL and GLib one-time allocations.
-
Max Kellermann authored
Don't add these to the global MPD_CFLAGS and MPD_LIBS. This allows test programs to link without libopenal.
-
Avuton Olrich authored
-
- 31 Dec, 2009 13 commits
-
-
Max Kellermann authored
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.
-
Max Kellermann authored
This is like tag_dup(), but works with an input_stream object instead of a file path.
-
Max Kellermann authored
Minor code simplification.
-
Max Kellermann authored
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.
-
Max Kellermann authored
-
Max Kellermann authored
The archive plugin should decide this.
-
Max Kellermann authored
Reduce the number of malloc()/free() calls.
-
Max Kellermann authored
Don't use the bz2_archive_file object for the input_stream.
-
Max Kellermann authored
Don't use the iso9660_archive_file object for the input_stream.
-
Max Kellermann authored
-
Max Kellermann authored
Don't use the zzip_archive object for the input_stream.
-
Max Kellermann authored
-
Max Kellermann authored
-
- 30 Dec, 2009 2 commits
-
-
Max Kellermann authored
Conflicts: Makefile.am NEWS configure.ac src/input/curl_input_plugin.c src/input_stream.c
-
Max Kellermann authored
This has been reimplemented in the "rewind" input plugin.
-
- 29 Dec, 2009 2 commits
-
-
Max Kellermann authored
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).
-
Max Kellermann authored
Support deprecated MIME types such as "audio/x-ogg". Support new types such as "audio/flac".
-
- 27 Dec, 2009 13 commits
-
-
Max Kellermann authored
Conflicts: NEWS configure.ac src/decoder_api.c
-
Avuton Olrich authored
-
Avuton Olrich authored
-
Max Kellermann authored
Without this, seeking may cause MPD to crash.
-
Max Kellermann authored
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.
-
Max Kellermann authored
This patch adds practical usefulness to the CUE playlist plugin.
-
Max Kellermann authored
Seek the decoder to the start of the range before beginning with playback. Stop the decoder when the end of the range has been reached. Add the start position to the seek position. Expose the duration of the range, not the full song file.
-
Max Kellermann authored
Prepend the playlist's base URI to relative song URIs. Look up songs in the database (if the URI refers to a local song file). Merge existing database metadata with metadata from the playlist plugin.
-
Max Kellermann authored
Added attributes start_ms, end_ms. This allows us to address a portion of a song file (important for CUE support). There is no support yet for storing these attributes in the state file.
-
Max Kellermann authored
Try the playlist directory first, and if that file does not exist, try the same relative path within the music directory.
-
Max Kellermann authored
-
Max Kellermann authored
The caller should be responsible for building the absolute URI.
-
Max Kellermann authored
-
- 26 Dec, 2009 5 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
If that fails, try opening the file as a stream.
-
Max Kellermann authored
-
Max Kellermann authored
If there's a slash in the uri_get_suffix() return value, then it's malformed. Return NULL in this case.
-
Max Kellermann authored
Remove the data_time parameter from decoder_data(). This patch eliminates the timestamp counting in most decoder plugins, because the MPD core will do it automatically by default.
-