Max Kellermann 
							
						 
					 
					
						
						
							
						
						72eba30cf4 
					 
					
						
						
							
							decoder: converted dc.error to a dc.state value  
						
						... 
						
						
						
						The player did not care about the exact error value, it only checked
whether an error has occured.  This could fit well into
decoder_control.state - introduce a new state "DECODE_STATE_ERROR". 
						
						
					 
					
						2008-11-08 15:48:00 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8cbdc2667e 
					 
					
						
						
							
							decoder: removed "plugin" from the decoder struct  
						
						... 
						
						
						
						decoder.plugin was a write-only attribute. 
						
						
					 
					
						2008-11-08 13:33:44 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						343a8a20e3 
					 
					
						
						
							
							wavpack: make 24-bit samples available for mpd  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-08 13:11:10 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						3e338da871 
					 
					
						
						
							
							wavpack: check last_byte in push_back_byte() method  
						
						... 
						
						
						
						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.) 
						
						
					 
					
						2008-11-08 13:10:15 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						cfd55b29bd 
					 
					
						
						
							
							wavpack: wrapper for converting void* to struct wavpack_input*  
						
						... 
						
						
						
						A new function has been added to do a cast and a little check in the
wavpack-mpd input stream wrapper. 
						
						
					 
					
						2008-11-08 13:09:07 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						2b4a410bb0 
					 
					
						
						
							
							wavpack: put braces around one line code blocks  
						
						... 
						
						
						
						I think this makes the code more easily modifiable and prevents some
annoying mistakes. 
						
						
					 
					
						2008-11-08 13:08:21 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						d68df99ef4 
					 
					
						
						
							
							wavpack: added prefix to local function names  
						
						... 
						
						
						
						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_". 
						
						
					 
					
						2008-11-08 13:07:40 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						ff2e69c003 
					 
					
						
						
							
							wavpack: unified code style  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-08 13:07:09 +01:00 
						 
				 
			
				
					
						
							
							
								Tom Servo 
							
						 
					 
					
						
						
							
						
						ea92576219 
					 
					
						
						
							
							listen: fix namespace collision on OpenSolaris  
						
						... 
						
						
						
						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"] 
						
						
					 
					
						2008-11-07 10:33:48 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						2e0ba90208 
					 
					
						
						
							
							wavpack: check wvc seekability  
						
						... 
						
						
						
						Using wvc streams the seekableness depends on the seekability of the
wvc stream as well. 
						
						
					 
					
						2008-11-06 06:48:33 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						56d2b51056 
					 
					
						
						
							
							wavpack: close wvc stream on error  
						
						... 
						
						
						
						The input stream opened for wvc is not closed in an if branch.  A
close call has been added. 
						
						
					 
					
						2008-11-06 06:48:33 +01:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ashin 
							
						 
					 
					
						
						
							
						
						089c9b7e5c 
					 
					
						
						
							
							wavpack: enable seeking  
						
						... 
						
						
						
						Somehow seeking is disabled on all kinds of wavpack playbacks now in
the git version.  This patch corrects that. 
						
						
					 
					
						2008-11-06 06:48:33 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						dcfb205c46 
					 
					
						
						
							
							input_curl: retrieve error message from ERRORBUFFER  
						
						... 
						
						
						
						libcurl provides better error messages than curl_multi_strerror() when
you set the ERRORBUFFER option. 
						
						
					 
					
						2008-11-06 06:48:30 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e2d7318a18 
					 
					
						
						
							
							input_curl: return 0 on error from read()  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-06 06:44:19 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a8e81326d0 
					 
					
						
						
							
							input_curl: enable FAILONERROR  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-06 06:36:25 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						19d3345ab8 
					 
					
						
						
							
							path: removed superfluous error check in path_set_fs_charset()  
						
						... 
						
						
						
						The code which had a possible error condition had been removed. 
						
						
					 
					
						2008-11-05 21:42:55 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5b2e981253 
					 
					
						
						
							
							log: check if log_charset is set  
						
						... 
						
						
						
						When logging to a file, log_charset would be NULL and g_convert()
would abort. 
						
						
					 
					
						2008-11-05 21:40:08 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b0f1bc4856 
					 
					
						
						
							
							Makefile.am: distribute input_curl.h  
						
						... 
						
						
						
						input_curl.h was missing in the tarball because it was not listed in
$(mpd_headers). 
						
						
					 
					
						2008-11-05 21:23:56 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7f880ab8ba 
					 
					
						
						
							
							main: print usage to stdout  
						
						... 
						
						
						
						Using the logging library here is inappropriate. 
						
						
					 
					
						2008-11-05 20:52:14 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						130fa94423 
					 
					
						
						
							
							log: convert messages to system charset  
						
						... 
						
						
						
						When logging to the terminal, we should print messages in the system
character set.  Convert all messages in this case. 
						
						
					 
					
						2008-11-05 18:39:13 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						787c6f5e18 
					 
					
						
						
							
							log: use bool  
						
						... 
						
						
						
						Use the bool data type for flags. 
						
						
					 
					
						2008-11-05 18:39:10 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4c967a6ba2 
					 
					
						
						
							
							log: provide a GLib logging handler  
						
						... 
						
						
						
						Install a default handler which writes to stdout or stderr, and
prepends a time stamp.  This looks just like the 0.13.x logger. 
						
						
					 
					
						2008-11-05 18:38:55 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a5348a3786 
					 
					
						
						
							
							log: use GLib message logging  
						
						... 
						
						
						
						The logging functions from log.h are deprecated, and the code should
use GLib logging instead.  Make ERROR(), WARNING() etc. call g_logv()
internally. 
						
						
					 
					
						2008-11-05 18:38:30 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a05fa5cdbb 
					 
					
						
						
							
							log: no CamelCase  
						
						... 
						
						
						
						Renamed the variable "logLevel" to "log_threshold". 
						
						
					 
					
						2008-11-05 18:38:23 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						08aaf57ff0 
					 
					
						
						
							
							log: removed warning buffer  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-05 18:37:40 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b35ca9e5c4 
					 
					
						
						
							
							main: initialize locale (LC_CTYPE)  
						
						... 
						
						
						
						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(). 
						
						
					 
					
						2008-11-05 18:37:39 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2a1a37107f 
					 
					
						
						
							
							path: don't allocate charset twice  
						
						... 
						
						
						
						Make the local variable "charset" const, and don't duplicate its
value.  It is already duplicated by path_set_fs_charset(). 
						
						
					 
					
						2008-11-05 18:26:45 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						6a7a26fe42 
					 
					
						
						
							
							path: get filesystem charset from GLib  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-05 18:25:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3002fd18cb 
					 
					
						
						
							
							path: no CamelCase  
						
						... 
						
						
						
						Rename variables and functions. 
						
						
					 
					
						2008-11-05 18:21:52 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						259c6ed164 
					 
					
						
						
							
							enable GLib threading  
						
						... 
						
						
						
						Call g_thread_init() from main() to enable the GLib features which
make it thread safe. 
						
						
					 
					
						2008-11-05 18:21:49 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						06f9b6c379 
					 
					
						
						
							
							main: don't close all file descriptors on startup  
						
						... 
						
						
						
						Removed closeAllFDs().  The caller is responsible for closing all file
handles. 
						
						
					 
					
						2008-11-05 18:21:36 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5d6e96e986 
					 
					
						
						
							
							pulse: removed reconnect interval  
						
						... 
						
						
						
						The output thread automatically waits some time before retrying to
open the device.  Don't duplicate this check in the pulse plugin. 
						
						
					 
					
						2008-11-05 08:10:13 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3defcef5f3 
					 
					
						
						
							
							pulse: check if connection is open in pulse_cancel()  
						
						... 
						
						
						
						The pulse plugin crashed with a segmentation fault when the pulse
server was killed. 
						
						
					 
					
						2008-11-05 08:06:39 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						eedbd28ec9 
					 
					
						
						
							
							wavpack: read_bytes() should not return after partial reads  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-05 07:24:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						010a27cd95 
					 
					
						
						
							
							wavpack: don't close the stream  
						
						... 
						
						
						
						The input_stream object is opened and closed by the caller. 
						
						
					 
					
						2008-11-05 07:13:55 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						85a7d1a148 
					 
					
						
						
							
							decoder: removed stream_types  
						
						... 
						
						
						
						Instead of checking the stream_types bit set, we can simply check
whether the methods stream_decode() and file_decode() are implemented. 
						
						
					 
					
						2008-11-04 17:10:19 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						59c20e5afe 
					 
					
						
						
							
							wavpack: removed NULL element from tagtypes  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-04 17:10:17 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						66eb3e90c3 
					 
					
						
						
							
							wavpack: use enum tag_type  
						
						... 
						
						
						
						Don't store tag type values in a plain integer, use the proper enum. 
						
						
					 
					
						2008-11-04 17:10:13 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						946e69b2f6 
					 
					
						
						
							
							wavpack: use GLib instead of utils.h / log.h  
						
						... 
						
						
						
						Replace deprecated code with GLib. 
						
						
					 
					
						2008-11-04 17:10:10 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						097bccd4ae 
					 
					
						
						
							
							wavpack: read first byte from wvc stream  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-04 17:10:03 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3cf54591e9 
					 
					
						
						
							
							wavpack: use the bool data type  
						
						... 
						
						
						
						Use boolean true/false instead of 1/0. 
						
						
					 
					
						2008-11-04 17:10:01 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b6ea410ca7 
					 
					
						
						
							
							wavpack: no CamelCase  
						
						... 
						
						
						
						Renamed functions and variables. 
						
						
					 
					
						2008-11-04 17:08:59 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c1dfa52cbf 
					 
					
						
						
							
							wavpack: fix indent  
						
						... 
						
						
						
						Fixed the indent of the switch statement in format_samples_int(). 
						
						
					 
					
						2008-11-04 17:08:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fef14683ae 
					 
					
						
						
							
							mp4: get decoder command from decoder_data()  
						
						... 
						
						
						
						Eliminate a superfluous decoder_get_command() call.  decoder_data()
already returns the command. 
						
						
					 
					
						2008-11-04 17:05:08 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						11404b5d10 
					 
					
						
						
							
							mp4: initialize audio_format before decoder_initialized()  
						
						... 
						
						
						
						Removed the duplicate audio_format initialization. 
						
						
					 
					
						2008-11-04 17:05:05 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						290347c482 
					 
					
						
						
							
							mp4: use decoder_read() instead of input_stream_read()  
						
						... 
						
						
						
						decoder_read() handles decoder commands, and should be used in decoder
plugins. 
						
						
					 
					
						2008-11-04 17:05:02 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9ecfc57c3a 
					 
					
						
						
							
							mp4: pass struct mp4_context to the mp4ff_callback_t methods  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-04 17:05:00 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						632dc7c96b 
					 
					
						
						
							
							mp4: use GLib instead of utils.h / log.h  
						
						... 
						
						
						
						Replace deprecated code with GLib. 
						
						
					 
					
						2008-11-04 17:04:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						01706dd46c 
					 
					
						
						
							
							mp4: use tag_is_empty() instead of passing the tag_is_found flag  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2008-11-04 17:04:54 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						02a172f2c2 
					 
					
						
						
							
							mp4: static mp4ff_callback_t variables  
						
						... 
						
						
						
						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(). 
						
						
					 
					
						2008-11-04 16:55:12 +01:00