aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* wavpack: make 24-bit samples available for mpdLaszlo Ashin2008-11-081-47/+46
| | | | | | | | | This patch makes 24-bit samples available for mpd. I tested with the WavPack Test Suite found on wavpack.com: http://www.rarewares.org/wavpack/test_suite.zip Every test file worked fine.
* wavpack: check last_byte in push_back_byte() methodLaszlo Ashin2008-11-081-2/+6
| | | | | | | | | At this moment the wavpack lib doesn't use the return value of the push_back function, which has an equivalent meaning of the return value of ungetc(). This is a lucky situation, because so far it simply returned with 1 as a hard coded value. From now on the function will return EOF on error. (This function makes exactly one byte pushable back.)
* wavpack: wrapper for converting void* to struct wavpack_input*Laszlo Ashin2008-11-081-13/+20
| | | | | A new function has been added to do a cast and a little check in the wavpack-mpd input stream wrapper.
* wavpack: put braces around one line code blocksLaszlo Ashin2008-11-081-15/+27
| | | | | I think this makes the code more easily modifiable and prevents some annoying mistakes.
* wavpack: added prefix to local function namesLaszlo Ashin2008-11-081-14/+14
| | | | | | There are some functions in the wavpack-mpd input streams wrapper which had too commonly used names (especially can_seek). I prefixed these with "wavpack_input_".
* wavpack: unified code styleLaszlo Ashin2008-11-081-16/+28
| | | | | Not every function header has its return type in a distinct line. This patch corrects that. This way there is more space for the arguments.
* listen: fix namespace collision on OpenSolarisTom Servo2008-11-071-6/+6
| | | | | | | | | The listen.c module breaks the build because the variable name used ("sun") for the Unix domain socket part collides with something else on an OpenSolaris system, likely Sun specific. Renaming it to _sun (or something else of choice) fixes the build. [mk: renamed to "s_un"]
* wavpack: check wvc seekabilityLaszlo Ashin2008-11-061-2/+5
| | | | | Using wvc streams the seekableness depends on the seekability of the wvc stream as well.
* wavpack: close wvc stream on errorLaszlo Ashin2008-11-061-1/+3
| | | | | The input stream opened for wvc is not closed in an if branch. A close call has been added.
* wavpack: enable seekingLaszlo Ashin2008-11-061-1/+1
| | | | | Somehow seeking is disabled on all kinds of wavpack playbacks now in the git version. This patch corrects that.
* input_curl: retrieve error message from ERRORBUFFERMax Kellermann2008-11-061-2/+5
| | | | | libcurl provides better error messages than curl_multi_strerror() when you set the ERRORBUFFER option.
* input_curl: return 0 on error from read()Max Kellermann2008-11-061-1/+2
| | | | | | The read() method must not return a negative value. Make it return 0 on error, just like the file input stream. Also set the "error" attribute to -1.
* input_curl: enable FAILONERRORMax Kellermann2008-11-061-0/+1
| | | | | | | I had this option enabled during development, but at some point, it must have gotten lost. FAILONERROR makes the curl stream fail when the server returns a status code 400 or higher. We are not interested in the server's error document.
* path: removed superfluous error check in path_set_fs_charset()Max Kellermann2008-11-051-8/+0
| | | | The code which had a possible error condition had been removed.
* log: check if log_charset is setMax Kellermann2008-11-051-5/+8
| | | | | When logging to a file, log_charset would be NULL and g_convert() would abort.
* Makefile.am: distribute input_curl.hMax Kellermann2008-11-051-0/+1
| | | | | input_curl.h was missing in the tarball because it was not listed in $(mpd_headers).
* main: print usage to stdoutMax Kellermann2008-11-051-26/+25
| | | | Using the logging library here is inappropriate.
* log: convert messages to system charsetMax Kellermann2008-11-051-0/+14
| | | | | When logging to the terminal, we should print messages in the system character set. Convert all messages in this case.
* log: use boolMax Kellermann2008-11-052-8/+10
| | | | Use the bool data type for flags.
* log: provide a GLib logging handlerMax Kellermann2008-11-051-0/+15
| | | | | Install a default handler which writes to stdout or stderr, and prepends a time stamp. This looks just like the 0.13.x logger.
* log: use GLib message loggingMax Kellermann2008-11-052-24/+15
| | | | | | The logging functions from log.h are deprecated, and the code should use GLib logging instead. Make ERROR(), WARNING() etc. call g_logv() internally.
* log: no CamelCaseMax Kellermann2008-11-051-6/+8
| | | | Renamed the variable "logLevel" to "log_threshold".
* log: removed warning bufferMax Kellermann2008-11-053-79/+2
| | | | | 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.
* main: initialize locale (LC_CTYPE)Max Kellermann2008-11-051-0/+9
| | | | | | 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().
* path: don't allocate charset twiceMax Kellermann2008-11-051-5/+3
| | | | | Make the local variable "charset" const, and don't duplicate its value. It is already duplicated by path_set_fs_charset().
* path: get filesystem charset from GLibMax Kellermann2008-11-051-39/+6
| | | | | | 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.
* path: no CamelCaseMax Kellermann2008-11-054-30/+27
| | | | Rename variables and functions.
* enable GLib threadingMax Kellermann2008-11-051-0/+3
| | | | | Call g_thread_init() from main() to enable the GLib features which make it thread safe.
* main: don't close all file descriptors on startupMax Kellermann2008-11-051-11/+0
| | | | | Removed closeAllFDs(). The caller is responsible for closing all file handles.
* pulse: removed reconnect intervalMax Kellermann2008-11-051-19/+2
| | | | | The output thread automatically waits some time before retrying to open the device. Don't duplicate this check in the pulse plugin.
* pulse: check if connection is open in pulse_cancel()Max Kellermann2008-11-051-0/+3
| | | | | The pulse plugin crashed with a segmentation fault when the pulse server was killed.
* wavpack: read_bytes() should not return after partial readsMax Kellermann2008-11-051-1/+16
| | | | | | | 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.
* wavpack: don't close the streamMax Kellermann2008-11-051-1/+0
| | | | The input_stream object is opened and closed by the caller.
* decoder: removed stream_typesMax Kellermann2008-11-0413-28/+0
| | | | | Instead of checking the stream_types bit set, we can simply check whether the methods stream_decode() and file_decode() are implemented.
* wavpack: removed NULL element from tagtypesMax Kellermann2008-11-041-3/+2
| | | | | 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.
* wavpack: use enum tag_typeMax Kellermann2008-11-041-1/+1
| | | | Don't store tag type values in a plain integer, use the proper enum.
* wavpack: use GLib instead of utils.h / log.hMax Kellermann2008-11-041-28/+12
| | | | Replace deprecated code with GLib.
* wavpack: read first byte from wvc streamMax Kellermann2008-11-041-25/+13
| | | | | | | | | 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.
* wavpack: use the bool data typeMax Kellermann2008-11-041-12/+12
| | | | Use boolean true/false instead of 1/0.
* wavpack: no CamelCaseMax Kellermann2008-11-042-44/+46
| | | | Renamed functions and variables.
* wavpack: fix indentMax Kellermann2008-11-041-47/+47
| | | | Fixed the indent of the switch statement in format_samples_int().
* mp4: get decoder command from decoder_data()Max Kellermann2008-11-041-7/+8
| | | | | Eliminate a superfluous decoder_get_command() call. decoder_data() already returns the command.
* mp4: initialize audio_format before decoder_initialized()Max Kellermann2008-11-041-6/+5
| | | | Removed the duplicate audio_format initialization.
* mp4: use decoder_read() instead of input_stream_read()Max Kellermann2008-11-041-1/+4
| | | | | decoder_read() handles decoder commands, and should be used in decoder plugins.
* mp4: pass struct mp4_context to the mp4ff_callback_t methodsMax Kellermann2008-11-041-10/+18
| | | | | | 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.
* mp4: use GLib instead of utils.h / log.hMax Kellermann2008-11-041-13/+14
| | | | Replace deprecated code with GLib.
* mp4: use tag_is_empty() instead of passing the tag_is_found flagMax Kellermann2008-11-041-13/+3
| | | | | | | | 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.
* mp4: static mp4ff_callback_t variablesMax Kellermann2008-11-041-22/+15
| | | | | | 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().
* mp4: no CamelCaseeMax Kellermann2008-11-042-106/+111
| | | | Renamed functions and variables.
* ffmpeg: removed loop from mpd_ffmpeg_read()Max Kellermann2008-11-041-15/+2
| | | | | | 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.