| Commit message (Collapse) | Author | Files | Lines |
|
When logging to a file, log_charset would be NULL and g_convert()
would abort.
|
|
input_curl.h was missing in the tarball because it was not listed in
$(mpd_headers).
|
|
Using the logging library here is inappropriate.
|
|
When logging to the terminal, we should print messages in the system
character set. Convert all messages in this case.
|
|
Use the bool data type for flags.
|
|
Install a default handler which writes to stdout or stderr, and
prepends a time stamp. This looks just like the 0.13.x logger.
|
|
The logging functions from log.h are deprecated, and the code should
use GLib logging instead. Make ERROR(), WARNING() etc. call g_logv()
internally.
|
|
Renamed the variable "logLevel" to "log_threshold".
|
|
The warning buffer is a complex piece of code for no good reason.
Remove it and find a better solution, e.g. open the log file earlier.
|
|
Initialize libc's locale functions. Currently, we are only interested
in LC_CTYPE (character classification), because this is what is used
by GLib's g_get_charset().
|
|
Make the local variable "charset" const, and don't duplicate its
value. It is already duplicated by path_set_fs_charset().
|
|
GLib provides the function g_get_filename_charsets() which determines
the file system character set. This changes MPD's fallback: GLib
prefers UTF-8 as a fallback. MPD used to fall back to ISO Latin 1.
|
|
Rename variables and functions.
|
|
Call g_thread_init() from main() to enable the GLib features which
make it thread safe.
|
|
Removed closeAllFDs(). The caller is responsible for closing all file
handles.
|
|
The output thread automatically waits some time before retrying to
open the device. Don't duplicate this check in the pulse plugin.
|
|
The pulse plugin crashed with a segmentation fault when the pulse
server was killed.
|
|
libwavpack expects the read_bytes() stream method to fill the whole
buffer, and fails badly when we return a partial read (i.e. not enough
data available yet). This caused wavpack streams to break.
Re-implement the buffer filling loop.
|
|
The input_stream object is opened and closed by the caller.
|
|
Instead of checking the stream_types bit set, we can simply check
whether the methods stream_decode() and file_decode() are implemented.
|
|
The number of tag types is known at compile time. Use the GLib macro
G_N_ELEMENTS instead of having a NULL element at the end.
|
|
Don't store tag type values in a plain integer, use the proper enum.
|
|
Replace deprecated code with GLib.
|
|
Instead of manually waiting for the input stream to become ready (to
catch server errors), just read the first byte. Since the
wavpack_input has the capability to push back one byte, we can simply
re-feed it. Advantage is: decoder_read() handles everything for us,
i.e. waiting for the stream, polling for decoder commands and error
handling.
|
|
Use boolean true/false instead of 1/0.
|
|
Renamed functions and variables.
|
|
Fixed the indent of the switch statement in format_samples_int().
|
|
Eliminate a superfluous decoder_get_command() call. decoder_data()
already returns the command.
|
|
Removed the duplicate audio_format initialization.
|
|
decoder_read() handles decoder commands, and should be used in decoder
plugins.
|
|
We need the decoder object, so we have to begin passing a new struct
to these callbacks, instead of only the pointer to the input_stream
object.
|
|
Replace deprecated code with GLib.
|
|
The API of mp4_load_tag() was strange: it always returned a tag
object, no matter if a tag was found in the file; the existence of a
tag was indicated with the tag_found integer reference. This flag is
superfluous, since we can simply check whether the tag is empty or
not.
|
|
Allocate the mp4ff_callback_t object on the stack. This is easier to
handle, since we don't have to free it. Incidentally, this fixes a
memory leak in mp4_load_tag().
|
|
Renamed functions and variables.
|
|
The function decoder_read() already cares about the decoder command,
and loops until data is available. Reduced mpd_ffmpeg_read() to no
more than the decoder_read() call.
|
|
That variable is never used except during initialization in
ffmpeg_helper().
|
|
|
|
Renamed variables.
|
|
|
|
Fix prototypes and unused variables.
|
|
The OS X output plugin wasn't adapted to the new output plugin yet,
because I had no Mac to test...
|
|
dc.error wasn't updated when the input stream failed to initialize.
|
|
The function curl_multi_info_read() provides access to errors from the
curl easy interface.
|
|
|
|
Removed the "volatile" attributes from several variables which are not
important for synchronization.
|
|
Renamed variables and internal functions. Most of the
player_control.h API remains in CamelCase for now.
|
|
|
|
The variable "next_song" is already protected by a memory barrier.
"total_time" is not important for synchronization, and we don't need
"volatile" here.
|
|
Renamed variables and functions.
|