Max Kellermann 
							
						 
					 
					
						
						
							
						
						bde50b1be8 
					 
					
						
						
							
							fs/io/{GunzipReader,GzipOutputStream: remove deprepcated dynamic exception specifications  
						
						
						
						
					 
					
						2017-01-04 10:33:24 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a34dfd55be 
					 
					
						
						
							
							util/HugeAllocator: remove deprepcated dynamic exception specifications  
						
						
						
						
					 
					
						2017-01-04 10:32:21 +01:00 
						 
				 
			
				
					
						
							
							
								Eugene Baklanov 
							
						 
					 
					
						
						
							
						
						bd14afe347 
					 
					
						
						
							
							Fix for priority order bug if reordering in SetRandom()  
						
						... 
						
						
						
						Fix for the problem where order with priorities gets out of whack in case it's
reordered by SetRandom() while another song is currently playing.
What happens is, if some song is already playing and you have set some
priorities before switching on the random mode, and then turn the mode on, the
original code swaps position of the first song in the order (i.e., the highest
priority song) with current, so that current is 0 (which it should be). The
problem is, the "original" first song then goes to the place "current" song was
after reordering, wherever that is, instead of going after the "current" song.
This patch fixes the issue.
Also the fix makes MoveOrder() public, because why shouldn't it be, anyway.  It
certainly makes more sense than just having SwapOrders() public for some
reason.
Signed-off-by: Eugene Baklanov <miltenfiremage@gmail.com > 
						
						
					 
					
						2017-01-04 10:10:27 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5900253b85 
					 
					
						
						
							
							update copyright year  
						
						
						
						
					 
					
						2017-01-03 20:48:59 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						39fd713b91 
					 
					
						
						
							
							Main: invoke UpdateEffectiveReplayGainMode() after output init  
						
						... 
						
						
						
						Forward the configured ReplayGainMode to all outputs and decoders. 
						
						
					 
					
						2017-01-03 13:44:38 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						31d77ec580 
					 
					
						
						
							
							input/curl, ...: use strncmp() instead of memcmp() to avoid crash  
						
						
						
						
					 
					
						2017-01-03 13:17:02 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						06116382ee 
					 
					
						
						
							
							input/curl: move code to class CurlRequest  
						
						... 
						
						
						
						The CurlRequest gives us a more low-level API to CURL without the
InputStream interface, integrated into our IOThread. 
						
						
					 
					
						2017-01-03 12:24:05 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4397fe3a13 
					 
					
						
						
							
							input/curl: fold input_curl_easy_add_indirect() into the only caller  
						
						
						
						
					 
					
						2017-01-03 10:53:20 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						534e1fa6eb 
					 
					
						
						
							
							input/curl: move code to SeekInternal(), simplify DoSeek()  
						
						... 
						
						
						
						Simplifies the code and reduces the number of IOThread roundtrips. 
						
						
					 
					
						2017-01-03 10:50:02 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3e8cc2c670 
					 
					
						
						
							
							input/curl: move class CurlGlobal to separate source file  
						
						
						
						
					 
					
						2017-01-03 10:50:02 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3c565baf9d 
					 
					
						
						
							
							output/Source: clear current_chunk in Close()  
						
						... 
						
						
						
						Fixes assert failure after unpausing. 
						
						
					 
					
						2017-01-03 10:50:02 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2e182e84c3 
					 
					
						
						
							
							thread/Mutex: remove ScopeLock, use std::lock_guard directly  
						
						
						
						
					 
					
						2017-01-03 07:11:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a42021655c 
					 
					
						
						
							
							thread/Cond: make the integer-based timed_wait() overload private  
						
						... 
						
						
						
						Make sure this deprecated API is not used. 
						
						
					 
					
						2017-01-03 07:07:10 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2498a2b0bd 
					 
					
						
						
							
							thread/Mutex: use std::lock_guard instead of std::unique_lock  
						
						... 
						
						
						
						We need purely RAII-style, and this is std::lock_guard. 
						
						
					 
					
						2017-01-03 06:56:24 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4484411a77 
					 
					
						
						
							
							output/Internal: add various trivial getter methods  
						
						
						
						
					 
					
						2016-12-29 23:28:54 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						61a151c803 
					 
					
						
						
							
							output/State: add missing mutex lock  
						
						
						
						
					 
					
						2016-12-29 23:28:46 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5149c950aa 
					 
					
						
						
							
							output/Multiple: add missing mutex lock  
						
						
						
						
					 
					
						2016-12-29 23:28:46 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						18f4d846c9 
					 
					
						
						
							
							output/Internal: make the Mutex mutable  
						
						
						
						
					 
					
						2016-12-29 23:28:37 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						db95aa250d 
					 
					
						
						
							
							output/Control: pass "force" flag to LockUpdate()  
						
						... 
						
						
						
						Reduce overhead by eliminating MultipleOutputs::ResetReopen(). 
						
						
					 
					
						2016-12-29 23:20:26 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						982d1bf662 
					 
					
						
						
							
							output/Init: convert audio_output_setup() to method  
						
						
						
						
					 
					
						2016-12-29 22:59:03 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						52652cb609 
					 
					
						
						
							
							command/{Player,Error}: extract messages from nested exceptions  
						
						
						
						
					 
					
						2016-12-29 14:46:13 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						256f40d4f5 
					 
					
						
						
							
							output/Multiple: obtain detailed error information in Open()  
						
						
						
						
					 
					
						2016-12-29 14:46:13 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ef9acc54ec 
					 
					
						
						
							
							output/Internal: remember the most recent error  
						
						
						
						
					 
					
						2016-12-29 14:21:12 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a9f2d25957 
					 
					
						
						
							
							output/Thread: unify exception handling  
						
						
						
						
					 
					
						2016-12-29 14:10:37 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						6fc47fbb69 
					 
					
						
						
							
							thread/Mutex: make ScopeLock an alias for std::unique_lock  
						
						
						
						
					 
					
						2016-12-29 11:53:24 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9c11184238 
					 
					
						
						
							
							thread/Mutex: use std::unique_lock to implement ScopeLock  
						
						
						
						
					 
					
						2016-12-29 11:51:25 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a421c1dbfb 
					 
					
						
						
							
							notify: use C++11 initializer  
						
						
						
						
					 
					
						2016-12-29 11:41:22 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7ec707927d 
					 
					
						
						
							
							lib/nfs/Blocking, neighbor/smbclient: pass std::chrono::duration to Cond::timed_wait()  
						
						
						
						
					 
					
						2016-12-29 11:37:18 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						837134daef 
					 
					
						
						
							
							system/Clock: remove obsolete MonotonicClock*() functions  
						
						... 
						
						
						
						We're using std::chrono::steady_clock now.  No need to duplicate code. 
						
						
					 
					
						2016-12-28 22:24:09 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4011899846 
					 
					
						
						
							
							system/PeriodClock: use std::chrono::steady_clock  
						
						
						
						
					 
					
						2016-12-28 22:23:45 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						28e743ba70 
					 
					
						
						
							
							output/Timer: include cleanup  
						
						
						
						
					 
					
						2016-12-28 22:23:45 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a161d404ad 
					 
					
						
						
							
							lib/xiph/OggSerial: use std::chrono::steady_clock  
						
						
						
						
					 
					
						2016-12-28 22:17:59 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cd607cb280 
					 
					
						
						
							
							lib/upnp/Discovery: use std::chrono::steady_clock  
						
						
						
						
					 
					
						2016-12-28 22:06:06 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4e60ab7f53 
					 
					
						
						
							
							lib/upnp/Discovery: use C++11 initializers  
						
						
						
						
					 
					
						2016-12-28 22:05:31 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						71e7d32b08 
					 
					
						
						
							
							output/Timer: use std::chrono  
						
						
						
						
					 
					
						2016-12-28 22:00:33 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d5e422970c 
					 
					
						
						
							
							output/Plugin: delay() returns std::chrono::steady_clock::duration  
						
						
						
						
					 
					
						2016-12-28 22:00:29 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						871ba5a488 
					 
					
						
						
							
							thread/Cond: add timed_wait() overload with std::chrono support  
						
						
						
						
					 
					
						2016-12-28 21:47:04 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						249e8d59cb 
					 
					
						
						
							
							Stats: use std::chrono  
						
						
						
						
					 
					
						2016-12-28 10:22:55 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8f4769d2ac 
					 
					
						
						
							
							Stats: initialize start_time automatically  
						
						
						
						
					 
					
						2016-12-28 10:22:15 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a3ca9963a5 
					 
					
						
						
							
							output/Timer: pass size_t to Add()  
						
						
						
						
					 
					
						2016-12-28 10:17:29 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2d3c23876c 
					 
					
						
						
							
							output/Timer: use C++11 initializers  
						
						
						
						
					 
					
						2016-12-28 10:16:41 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bd8d8eef3e 
					 
					
						
						
							
							output/Timer: no "time" initialization if !started  
						
						
						
						
					 
					
						2016-12-28 10:16:11 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e786207cc2 
					 
					
						
						
							
							system/PeriodClock: indent with tabs  
						
						
						
						
					 
					
						2016-12-28 01:18:42 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b042095ac2 
					 
					
						
						
							
							event/Loop: use std::chrono  
						
						
						
						
					 
					
						2016-12-28 01:15:08 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3413d1bf23 
					 
					
						
						
							
							config/Global: add std::chrono::steady_clock::duration overload  
						
						
						
						
					 
					
						2016-12-28 01:12:38 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						018c5ef731 
					 
					
						
						
							
							event/Loop: use C++11 initializers  
						
						
						
						
					 
					
						2016-12-27 23:13:26 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fdb136f1fa 
					 
					
						
						
							
							StateFile: use C++11 initializers  
						
						
						
						
					 
					
						2016-12-27 23:13:26 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9e33074735 
					 
					
						
						
							
							output/Thread: move software_mixer_set_filter() call to Open()  
						
						... 
						
						
						
						.. and remove the obsolete method OpenFilter(). 
						
						
					 
					
						2016-12-27 14:44:39 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d6d465cdf4 
					 
					
						
						
							
							output/Thread: fix assertion failure in CLOSE handler  
						
						... 
						
						
						
						Convert assertion to runtime check; this assertion could fail when the
output was closed due to an error before CLOSE arrived. 
						
						
					 
					
						2016-12-27 07:57:22 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e76573cc1a 
					 
					
						
						
							
							output/Thread: use "true" instead of "1"  
						
						
						
						
					 
					
						2016-12-27 07:53:02 +01:00