- 04 Jan, 2010 1 commit
-
-
Max Kellermann authored
Don't limit the "rewind" input plugin to CURL streams.
-
- 01 Jan, 2010 2 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).
-
Avuton Olrich authored
-
- 31 Dec, 2009 2 commits
-
-
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
The archive plugin should decide this.
-
- 30 Dec, 2009 1 commit
-
-
Max Kellermann authored
This has been reimplemented in the "rewind" input plugin.
-
- 29 Dec, 2009 1 commit
-
-
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).
-
- 16 Dec, 2009 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
This fixes a NULL pointer dereference in case of archive plugin failure.
-
Max Kellermann authored
Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.
-
- 15 Dec, 2009 5 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
.. instead of manually checking pathname[0]=='/'. g_path_is_absolute() is portable.
-
Max Kellermann authored
Fixed memory leak in error handler.
-
Max Kellermann authored
This code has never made any sense, and has broken some of the archive plugin.
-
Max Kellermann authored
This code has never made any sense, and has broken some of the archive plugin.
-
- 14 Dec, 2009 1 commit
-
-
Max Kellermann authored
Not used by any plugin currently, but this eliminates the g_error() call in input_plugin_config(), so it's worth it.
-
- 12 Nov, 2009 1 commit
-
-
Max Kellermann authored
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
-
- 10 Nov, 2009 3 commits
-
-
Max Kellermann authored
Drop the required GLib version from 2.16 to 2.12, because many current systems still don't have GLib 2.16. This requires several new compatibility functions in glib_compat.h.
-
Max Kellermann authored
Should be "lastfm_user", not "lastfm_username".
-
Max Kellermann authored
Add a "mode" argument to open_cloexec() instead.
-
- 07 Nov, 2009 1 commit
-
-
Max Kellermann authored
Added the "fd_util" library, which attempts to use the new thread-safe Linux system calls pipe2(), accept4() and the options O_CLOEXEC, SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is not thread safe. This is particularly important for the "pipe" output plugin (and others, such as JACK/PulseAudio), because we were heavily leaking file descriptors to child processes.
-
- 20 Oct, 2009 1 commit
-
-
Max Kellermann authored
Try to be as portable as possible, use GLib path name functions and macros.
-
- 13 Oct, 2009 4 commits
-
-
Max Kellermann authored
This has been replaced by the last.fm playlist plugin. The input plugin has never worked well, and was just a playground to experiment with the last.fm radio protocol.
-
Max Kellermann authored
When the connection is lost while buffering, the CURL input plugin may enter an endless loop, because it does not check the EOF condition. This patch makes fill_buffer() return success only if there's at least one buffer, which is enough of a check.x
-
Max Kellermann authored
-
Max Kellermann authored
Accidently, MPD has been using several GLib 2.16 functions for a while, and nobody noticed yet. To simplify the code base, let's bump the minimum GLib version for MPD to 2.16. That version is old enough, and it's reasonable to expect users to have it.
-
- 11 Oct, 2009 3 commits
-
-
Max Kellermann authored
The "off_t" type may change when you enable or disable large file support on 32 bit platforms. This caused severe ABI problems within MPD when we enabled LFS for the first time: two sources included config.h and sys/types.h in different order, and had different off_t sizes - leading to memory corruption because of ABI incompatibility. This patch attempts to get rid of all public "off_t" uses: it removes "off_t" from the input_stream ABI/API, and switches to GLib's 64 bit "goffset" type. This may hurt 32 bit embedded platforms a tiny bit, but that's not even measurable.
-
Max Kellermann authored
When a received chunk of data has only icy-metadata, there was no usable data left for input_curl_read() to return, and thus it returned 0 bytes. "0" however is a special value for "end of file" or "error". This patch makes input_curl_read() read more data from the socket, until the read request can be fulfilled (or until there's really EOF).
-
Max Kellermann authored
-
- 20 Sep, 2009 1 commit
-
-
Serge Ziryukin authored
-
- 28 Jul, 2009 2 commits
-
-
Courtney Cavin authored
Previously, if two identical entities appeared in one string, only the first would get decoded. This fixes that bug.
-
Courtney Cavin authored
Added a patch to flush out the last.fm input plugin slightly. It basically turns it into a wrapper for the appropriate plugin. Most notably metadata is now extracted.
-
- 28 May, 2009 1 commit
-
-
Mathieu Rochette authored
If a file is removed the library, next time mpd will try to play it it will result in an error 'ERROR: problems decoding some/file.ogg'. Nothing is written in log files (verbose mode or not) [mk: append strerror(errno)]
-
- 28 Apr, 2009 1 commit
-
-
Max Kellermann authored
strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
-
- 25 Apr, 2009 1 commit
-
-
Max Kellermann authored
The old global settings "http_proxy_host", "http_proxy_port", "http_proxy_user" and "http_proxy_password" continue to work.
-
- 27 Mar, 2009 1 commit
-
-
Sean McNamara authored
-
- 13 Mar, 2009 1 commit
-
-
Avuton Olrich authored
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
-
- 09 Mar, 2009 1 commit
-
-
Jochen Keil authored
[mk: fixed whitespace errors; use delete_song() instead of songvec_delete()]
-
- 06 Mar, 2009 1 commit
-
-
Max Kellermann authored
The GLIB_CHECK_VERSION() macro was used improperly, which broke build on GLib < 2.14. Add a "!" for negation.
-
- 02 Mar, 2009 1 commit
-
-
Max Kellermann authored
The lastfm input plugin enables MPD to play lastfm:// URLs. This plugin is not complete yet: it plays only the first song in the last.fm playlist, and the playlist parser isn't even implemented properly.
-