Max Kellermann 
							
						 
					 
					
						
						
							
						
						a6d6873856 
					 
					
						
						
							
							input/soup: return real GErrors to the caller  
						
						... 
						
						
						
						Add attribute postponed_error, pass this GError to the caller. 
						
						
					 
					
						2011-09-16 11:36:09 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e99df3a3be 
					 
					
						
						
							
							input/soup: set the "ready" flag on failure  
						
						... 
						
						
						
						Fix deadlock. 
						
						
					 
					
						2011-09-16 11:35:02 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8b657255cc 
					 
					
						
						
							
							input/soup: remove redundant flag "ready"  
						
						... 
						
						
						
						We'll add proper locking now, and there's no need to carry this
duplicate flag. 
						
						
					 
					
						2011-09-16 11:34:50 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0e1dc79321 
					 
					
						
						
							
							input/soup: report failure in _read()  
						
						... 
						
						
						
						To report failures to callers who don't use _buffer(). 
						
						
					 
					
						2011-09-16 11:30:56 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0ef15e5fac 
					 
					
						
						
							
							input/soup: unlock before cancelling the soup message  
						
						... 
						
						
						
						Avoid recursive deadlock in _session_callback(). 
						
						
					 
					
						2011-09-16 11:30:30 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9ea8a840a9 
					 
					
						
						
							
							decoder_api: remove the loop from decoder_read()  
						
						... 
						
						
						
						This was useless, because input_stream_read() blocks until data is
available.  Calling it in a loop doesn't make sense. 
						
						
					 
					
						2011-09-16 09:15:10 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7b88089593 
					 
					
						
						
							
							decoder_api: move code to decoder_check_cancel_read()  
						
						
						
						
					 
					
						2011-09-16 09:15:10 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b513943893 
					 
					
						
						
							
							input/curl: wait some more before resuming the stream  
						
						... 
						
						
						
						Pausing and resuming after every little chunk adds lots of overhead.
Add a lower level for resuming the stream. 
						
						
					 
					
						2011-09-16 09:14:29 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						edffc56600 
					 
					
						
						
							
							input/curl: clear the "paused" flag before resuming  
						
						... 
						
						
						
						curl_easy_pause(CURLPAUSE_CONT) may have added enough data to go into
pause again. 
						
						
					 
					
						2011-09-16 09:11:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						856b0e6886 
					 
					
						
						
							
							input/curl: remove _schedule_update()  
						
						... 
						
						
						
						Call _update_fds() directly.  This is possible because it's only
called from within the I/O thread. 
						
						
					 
					
						2011-09-16 09:11:09 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bf1eb46b87 
					 
					
						
						
							
							input/curl: unlock the mutex for io_thread_call()  
						
						... 
						
						
						
						Fix deadlock. 
						
						
					 
					
						2011-09-16 09:10:39 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7e27d660e2 
					 
					
						
						
							
							test/test_queue_priority: work around "set but not used" warning  
						
						
						
						
					 
					
						2011-09-16 09:10:39 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						53174ea45f 
					 
					
						
						
							
							input/soup: fix "unused local variable" warnings  
						
						
						
						
					 
					
						2011-09-16 09:10:33 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						87b624f5d5 
					 
					
						
						
							
							Merge branch 'v0.16.x'  
						
						
						
						
					 
					
						2011-09-16 07:52:39 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						443e96381a 
					 
					
						
						
							
							configure.ac: disable assertions in the non-debugging build  
						
						... 
						
						
						
						Add -DNDEBUG to AM_CPPFLAGS. 
						
						
					 
					
						2011-09-16 07:41:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1cbba4fc59 
					 
					
						
						
							
							input/curl, output/pulse: fix "unused local variable" warnings  
						
						
						
						
					 
					
						2011-09-16 07:41:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						344b6dd179 
					 
					
						
						
							
							configure.ac: enable -Werror for C++  
						
						
						
						
					 
					
						2011-09-16 07:38:00 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d8c829fa0c 
					 
					
						
						
							
							configure.ac: pass AM_CXXFLAGS, AM_CPPFLAGS to Makefile.am  
						
						
						
						
					 
					
						2011-09-16 07:35:46 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e1efc71ad3 
					 
					
						
						
							
							input_stream: add "nonnull" attributes  
						
						
						
						
					 
					
						2011-09-15 22:40:44 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f804a739b1 
					 
					
						
						
							
							Merge branch 'v0.16.x'  
						
						... 
						
						
						
						Conflicts:
	NEWS
	configure.ac 
						
						
					 
					
						2011-09-15 21:48:33 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2ed870c854 
					 
					
						
						
							
							decoder/ffmpeg: flush the codec after seeking  
						
						... 
						
						
						
						Let the codec start with fresh buffers.  This should fix the remaining
seeking issues. 
						
						
					 
					
						2011-09-15 21:41:25 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ce35ba9ac9 
					 
					
						
						
							
							decoder/ffmpeg: explicitly specify the current stream for seeking  
						
						... 
						
						
						
						Use AVStream.time_base to convert the decoder_seek_where() value, and
pass the current stream number to av_seek_frame(). 
						
						
					 
					
						2011-09-15 21:35:29 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						724a59aaf7 
					 
					
						
						
							
							decoder/ffmpeg: don't require key frame for seeking  
						
						... 
						
						
						
						Use flag AV_TIME_BASE. 
						
						
					 
					
						2011-09-15 21:32:29 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						42d8c2981f 
					 
					
						
						
							
							decoder/ffmpeg: higher precision timestamps  
						
						
						
						
					 
					
						2011-09-15 21:30:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9aa91e0f17 
					 
					
						
						
							
							decoder/ffmpeg: move formula to time_from_ffmpeg()  
						
						
						
						
					 
					
						2011-09-15 21:23:48 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5aabee8996 
					 
					
						
						
							
							decoder/ffmpeg: add local variable "av_stream"  
						
						... 
						
						
						
						Code simplification. 
						
						
					 
					
						2011-09-15 21:14:53 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						48a84ca23e 
					 
					
						
						
							
							input/rewind: copy the MIME type only once  
						
						... 
						
						
						
						Reduce heap usage by reducing the number of malloc() / free() calls. 
						
						
					 
					
						2011-09-15 20:24:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8751783a1b 
					 
					
						
						
							
							input/curl: per-request mutex/cond  
						
						... 
						
						
						
						The global data structures are now lock-free, because they are
accessed only from the I/O thread.  By using per-request locks, we
have finer grained locking, preparing for locks shared with the
client. 
						
						
					 
					
						2011-09-15 10:24:50 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3a2ec50d5f 
					 
					
						
						
							
							input/curl: move all libCURL calls to the I/O thread  
						
						... 
						
						
						
						This adds some overheads for indirect calls to the I/O thread, but
reduces the amount of global locks.  Next step will be switching to
per-request locks. 
						
						
					 
					
						2011-09-15 09:48:36 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ce9aeed4cb 
					 
					
						
						
							
							input/file: return NULL instead of "false"  
						
						
						
						
					 
					
						2011-09-15 09:48:36 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f2be6432a9 
					 
					
						
						
							
							Makefile.am: allow out-of-tree sparse call  
						
						
						
						
					 
					
						2011-09-15 09:48:36 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e96f8c0444 
					 
					
						
						
							
							input/curl: don't set "ready" on _easy_free()  
						
						... 
						
						
						
						Move the assignment to _request_done(), right before the GCond is
signalled.  This might fix spurious wakeups. 
						
						
					 
					
						2011-09-15 09:27:16 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2bf3bc3e10 
					 
					
						
						
							
							input/curl: add assertions on io_thread_inside()  
						
						
						
						
					 
					
						2011-09-15 09:27:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						28143f86f9 
					 
					
						
						
							
							input/curl: merge _request_abort() into _request_done()  
						
						... 
						
						
						
						This is a trivial function.  Merge some duplicate code, e.g. the
g_cond_broadcast() call. 
						
						
					 
					
						2011-09-15 09:27:13 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						76ec3d3248 
					 
					
						
						
							
							udp_server: disable -Wmissing-field-initializers  
						
						
						
						
					 
					
						2011-09-15 09:25:53 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d0c85a5a96 
					 
					
						
						
							
							gcc.h: add macro GCC_CHECK_VERSION  
						
						
						
						
					 
					
						2011-09-15 09:22:48 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						46ed717af4 
					 
					
						
						
							
							input/curl: API documentation fix  
						
						
						
						
					 
					
						2011-09-15 06:44:20 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ad37c88f80 
					 
					
						
						
							
							input_plugin: add method update()  
						
						... 
						
						
						
						Update the struct attributes, important for facades like the "rewind"
plugin.  To replace buffer(). 
						
						
					 
					
						2011-09-14 22:25:29 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8c6e8a6eb8 
					 
					
						
						
							
							input_internal: add assertions  
						
						
						
						
					 
					
						2011-09-14 22:06:57 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						dd33317f45 
					 
					
						
						
							
							input_stream: move input_stream_init(), _deinit() to _internal.c  
						
						
						
						
					 
					
						2011-09-14 22:01:55 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c344d63fb3 
					 
					
						
						
							
							decoder_internal: don't call input_stream_buffer()  
						
						... 
						
						
						
						This is not necessary since all relevant input plugins have been moved
to the I/O thread, and there is no remaining useful buffer()
implementation.  This also fixes a busy loop when playing radio. 
						
						
					 
					
						2011-09-14 09:41:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						62557f4d6b 
					 
					
						
						
							
							test/read_tags: initialize the tag_pool library  
						
						
						
						
					 
					
						2011-09-13 22:46:47 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9c46cc4ea0 
					 
					
						
						
							
							test/read_tags: call g_thread_init()  
						
						... 
						
						
						
						Needed for the I/O thread. 
						
						
					 
					
						2011-09-13 22:42:21 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a236a439cc 
					 
					
						
						
							
							db_print: move code to function db_selection_print()  
						
						... 
						
						
						
						Use it in handle_lsinfo(), and eliminate some duplicate code. 
						
						
					 
					
						2011-09-13 22:09:37 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c779e2674a 
					 
					
						
						
							
							db_visitor: add method playlist()  
						
						
						
						
					 
					
						2011-09-13 22:02:37 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a94d4be466 
					 
					
						
						
							
							db_plugin: add method visit()  
						
						
						
						
					 
					
						2011-09-13 21:47:00 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b7d2d4cfe8 
					 
					
						
						
							
							database: don't allow uri==NULL  
						
						... 
						
						
						
						Add nonnull attributes and fix all callers. 
						
						
					 
					
						2011-09-13 21:39:07 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a6c797ee4b 
					 
					
						
						
							
							gcc.h: add macro gcc_nonnull  
						
						
						
						
					 
					
						2011-09-13 21:38:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3e40b2249f 
					 
					
						
						
							
							gcc.h: change "mpd_" prefix to "gcc_"  
						
						... 
						
						
						
						This is specific to gcc, not to mpd. 
						
						
					 
					
						2011-09-13 21:37:33 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2fe1b5034d 
					 
					
						
						
							
							db_plugin: add method get_song()  
						
						... 
						
						
						
						New db_get_song() implementation. 
						
						
					 
					
						2011-09-13 21:01:35 +02:00