- 28 Jul, 2009 4 commits
-
-
Max Kellermann authored
The soure file client.c has nearly 1000 lines, time for splitting it into smaller pieces to improve readability.
-
Max Kellermann authored
Prepare splitting client.c into several sources.
-
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.
-
Max Kellermann authored
Instead of hard-coding the path "/etc/mpd.conf", use the configured $(sysconfdir) path. This can be set with: ./configure --sysconfdir=/etc Note that this changes the default path to "/usr/local/etc/mpd.conf", given the default prefix "/usr/local". This is actually more correct than the old default.
-
- 23 Jul, 2009 5 commits
-
-
Max Kellermann authored
Make the client list management a separate sub-library.
-
Max Kellermann authored
The client code uses portable GLib I/O functions and doesn't need the OS specific socket headers.
-
Max Kellermann authored
Calculate the total play time with the audio_format object each time, using audio_format_time_to_size(). The function audioFormatSizeToTime() is not needed anymore, and will be removed with this patch.
-
Max Kellermann authored
-
Max Kellermann authored
Don't abort the whole MPD process when the conversion fails. This has been a denial-of-service attack vector for years.
-
- 22 Jul, 2009 10 commits
-
-
Max Kellermann authored
This library does not use GLib directly.
-
Max Kellermann authored
-
Max Kellermann authored
You cannot have a negative number of channels, let's pass it as uint8_t instead of int8_t.
-
Max Kellermann authored
It is illegal to pass a NULL buffer to pcm_byteswap_X(). The result of this is that pcm_byteswap_X() never returns NULL.
-
Max Kellermann authored
Currently, byteswapping is performed on the format_buffer. This can go wrong when this buffer is used twice during one run. Add a separate buffer for swapping the byte order.
-
Max Kellermann authored
The volume plugin does not work for reverse_endian samples.
-
Max Kellermann authored
-
Max Kellermann authored
This line was missing in the reverse_endian patch, and led to undefined values and crashes in that attribute.
-
Michal Nazarewicz authored
Changed function to first close standard input (this may fail but we don't care) and then try to open /dev/null (this may fail but it shouldn't on Unix platforms plus we don't know what to do in such case anyways). Since standard input has the "zeroth" descriptor number next "open" will use it. Since there is no "/dev/null" on Windows (It's not even a valid path!) the second step is skipped if WIN32 is defined. As a final touch, since the function consists of merely two function calls it has been moved to header file and declared static inline. [mk: un-inline daemonize_close_stdin()]
-
Eugeny N Dzhurinsky authored
On FreeBSD, "stderr" is a macro, and using this name for a struct member breaks the build. [mk: renamed _stderr to log_stderr]
-
- 19 Jul, 2009 15 commits
-
-
-
David Woodhouse authored
-
David Woodhouse authored
-
Max Kellermann authored
Make "enum tag_type" the array index, and convert apeItems to a sparse array.
-
Max Kellermann authored
Improve code readability.
-
Max Kellermann authored
Don't initialize those arrays each time tag_ape_load() is called.
-
David Woodhouse authored
It makes no difference right now, but we're about to add an endianness flag and will want to make sure it's correctly initialised every time.
-
Max Kellermann authored
Several functions work with the wrong return type, this patch fixes them.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
The new code is more robust and more flexible. It provides detailed error information in GError objects.
-
Michal Nazarewicz authored
On Windows only daemonize_close_stdin() function does something. Other functions are either empty or generate an error. Those have been moved to header file and declared static inline so compiler can remove the call all together.
-
Michal Nazarewicz authored
The functions were not "const" (they examined values pointed by arguments passed to them, quoting gcc's doc: "Note that a function that has pointer arguments and examines the data pointed to must _not_ be declared 'const'.") but rather "pure" and still not all of them. Note also, that even some of the functions declared "pure" are not pure, however, due to reasons stated in source code the attribute has been kept.
-
Michal Nazarewicz authored
The "group" configuration option is similar to "user" as it sets user set what group MPD shall run as. With "user" option, MPD changed GID to the GID of the user, however, more control could be desired. Moreover, the patch changes the way of checking whether no setuid(2)/setgid(2) is required -- previously user names were compered, now UID and GIDs are compered (ie. the one we already have (getuid(2)/getgid(2)) with the one we want to change to).
-
- 16 Jul, 2009 1 commit
-
-
Max Kellermann authored
-
- 15 Jul, 2009 5 commits
-
-
Avuton Olrich authored
-
Max Kellermann authored
The GLib functions are more portable.
-
Max Kellermann authored
Added another glue function in main().
-
Max Kellermann authored
The glue_*() functions act as a glue between MPD's main() function and its libraries. They handle disabled features, and pass validated configuration options.
-
Max Kellermann authored
No CamelCase.
-