Max Kellermann 
							
						 
					 
					
						
						
							
						
						6ff01cc72c 
					 
					
						
						
							
							Merge branch 'v0.19.x'  
						
						
						
						
					 
					
						2016-03-07 14:30:43 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e140a28073 
					 
					
						
						
							
							archive/iso9660: check path buffer bounds  
						
						
						
						
					 
					
						2016-03-07 14:21:01 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						de61c3b962 
					 
					
						
						
							
							archive/iso9660: use a single path buffer for Visit()  
						
						... 
						
						
						
						Avoid wasting 4 kB stack per directory level. 
						
						
					 
					
						2016-03-07 14:01:52 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c46fc4531b 
					 
					
						
						
							
							archive/iso9660: move the "." and ".." checks up  
						
						
						
						
					 
					
						2016-03-07 14:01:40 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						065a9ed10f 
					 
					
						
						
							
							archive/iso9660: add local variable "filename"  
						
						
						
						
					 
					
						2016-03-07 13:57:07 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e44c0254f7 
					 
					
						
						
							
							archive/iso9660: make variables more local  
						
						
						
						
					 
					
						2016-03-07 13:15:07 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						13f9f0315f 
					 
					
						
						
							
							util/HugeAllocator: fix division by zero due to inverted check  
						
						... 
						
						
						
						There were two ways this could fail:
1. division by zero when sysconf(_SC_PAGESIZE)==0
2. mmap() failure because the size parameter is not aligned to page
   size
Neither ever happened: sysconf() never fails, and the only caller
passes a size that is already aligned.  Phew. 
						
						
					 
					
						2016-03-06 23:53:41 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1532ffe215 
					 
					
						
						
							
							protocol/ArgParser: fix range check  
						
						... 
						
						
						
						The old check
 unsigned(value) > std::numeric_limits<unsigned>::max()
.. cannot ever fail. 
						
						
					 
					
						2016-03-06 23:41:08 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b24cbc68ba 
					 
					
						
						
							
							decoder/dsdiff: fix off-by-one buffer overflow  
						
						
						
						
					 
					
						2016-03-06 23:28:29 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						976fdd76c1 
					 
					
						
						
							
							decoder/opus: limit tag size to 64 kB  
						
						
						
						
					 
					
						2016-03-06 23:26:48 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bbda335e02 
					 
					
						
						
							
							mixer/pulse: fix integer division rounding  
						
						
						
						
					 
					
						2016-03-06 23:23:30 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						031410c72b 
					 
					
						
						
							
							Instance: add StateFile* attribute  
						
						
						
						
					 
					
						2016-03-05 21:00:38 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						710def8e38 
					 
					
						
						
							
							Partition: un-inline the constructor  
						
						
						
						
					 
					
						2016-03-05 20:51:29 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c0bda1b103 
					 
					
						
						
							
							Idle: move flags to IdleFlags.hxx  
						
						
						
						
					 
					
						2016-03-05 20:48:37 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0e87ce4680 
					 
					
						
						
							
							GlobalEvents: expose the internal class  
						
						... 
						
						
						
						Move the GlobalEvents::Monitor instance into class Instance.
Eliminate all global variables. 
						
						
					 
					
						2016-03-05 20:23:30 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b4d594eeff 
					 
					
						
						
							
							Instance: embed EventLoop, no pointer  
						
						
						
						
					 
					
						2016-03-05 20:20:12 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ce09379bae 
					 
					
						
						
							
							Main: use Instance::Shutdown()  
						
						
						
						
					 
					
						2016-03-05 20:20:12 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b27fb64317 
					 
					
						
						
							
							client/ClientRead: use Instance::Shutdown()  
						
						
						
						
					 
					
						2016-03-05 20:19:20 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						099455db25 
					 
					
						
						
							
							db/update/Service: convert const to constexpr  
						
						
						
						
					 
					
						2016-03-05 20:08:01 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3146bf51e6 
					 
					
						
						
							
							db/update/Service: eliminate attribute "progress"  
						
						... 
						
						
						
						Use walk!=nullptr instead. 
						
						
					 
					
						2016-03-05 19:40:11 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b24a5e0662 
					 
					
						
						
							
							Partition: add method EmitIdle()  
						
						... 
						
						
						
						Prepare for moving idle events to class Partition.  Right now, it's
just a wrapper for idle_add(). 
						
						
					 
					
						2016-03-05 19:16:39 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e52ac0b187 
					 
					
						
						
							
							event/MaskMonitor: new class to replace code in GlobalEvents and Idle  
						
						
						
						
					 
					
						2016-03-05 19:15:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						eaa1590866 
					 
					
						
						
							
							GlobalEvents: eliminate SHUTDOWN, use Instance::Shutdown() instead  
						
						
						
						
					 
					
						2016-03-05 18:56:27 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						071af004bd 
					 
					
						
						
							
							GlobalEvents: include cleanup  
						
						
						
						
					 
					
						2016-03-05 18:56:27 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						23ab4e5e5f 
					 
					
						
						
							
							Instance: add method Shutdown()  
						
						
						
						
					 
					
						2016-03-05 18:56:16 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8e563cbccd 
					 
					
						
						
							
							Instance: use C++11 initializers  
						
						
						
						
					 
					
						2016-03-05 18:55:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1aee89f5ea 
					 
					
						
						
							
							*: include cleanup (using iwyu)  
						
						
						
						
					 
					
						2016-03-01 22:08:13 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d2dd6f7c70 
					 
					
						
						
							
							thread/Posix{Mutex,Cond}: use "constexpr" only with glibc  
						
						... 
						
						
						
						Apparently all other C libraries are not compatible with "constexpr".
Those which are not will get a performance penalty, but at least they
work at all. 
						
						
					 
					
						2016-03-01 21:23:59 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e9a544fa98 
					 
					
						
						
							
							configure.ac: prepare for 0.19.14  
						
						
						
						
					 
					
						2016-03-01 21:22:42 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fb547260d1 
					 
					
						
						
							
							player/Control: Play*() returns Error information  
						
						
						
						
					 
					
						2016-02-28 13:31:41 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2065e32904 
					 
					
						
						
							
							queue/PlaylistControl: clear "queued" before calling LockSeek()  
						
						... 
						
						
						
						This is necessary to avoid an assertion failure in UpdateQueuedSong()
after LockSeek() has failed. 
						
						
					 
					
						2016-02-28 13:19:44 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ac15581c56 
					 
					
						
						
							
							command/error: remove unused function print_playlist_result()  
						
						
						
						
					 
					
						2016-02-28 11:53:38 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9e2e882157 
					 
					
						
						
							
							PlaylistPrint: throw PlaylistError on error  
						
						
						
						
					 
					
						2016-02-28 11:52:39 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						99ded56047 
					 
					
						
						
							
							command/error: remove db_domain from ToAck(Error)  
						
						
						
						
					 
					
						2016-02-28 11:48:12 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						65386f52f0 
					 
					
						
						
							
							db/proxy: throw DatabaseError on error  
						
						
						
						
					 
					
						2016-02-28 11:47:03 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5b8dce7456 
					 
					
						
						
							
							db/simple: throw DatabaseError on error  
						
						
						
						
					 
					
						2016-02-28 11:40:59 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						de938eb621 
					 
					
						
						
							
							db/simple: handle exception in Open() properly, fix memory leak  
						
						
						
						
					 
					
						2016-02-28 11:40:39 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						83cc6c0835 
					 
					
						
						
							
							db/simple: use second Error instance in Open()  
						
						... 
						
						
						
						Don't need to clear the caller-specified one. 
						
						
					 
					
						2016-02-28 11:38:22 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						304d78a4c8 
					 
					
						
						
							
							command/error: remove playlist_domain from ToAck(Error)  
						
						... 
						
						
						
						playlist_domain is no longer used for class Error. 
						
						
					 
					
						2016-02-28 11:17:43 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						347590751c 
					 
					
						
						
							
							SongLoader: throw PlaylistError on error  
						
						
						
						
					 
					
						2016-02-28 11:15:20 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fe4b1f96f1 
					 
					
						
						
							
							SongLoader: use temporary stack variable, no heap allocation  
						
						... 
						
						
						
						Improved exception-safety. 
						
						
					 
					
						2016-02-28 11:08:00 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9de984f7f8 
					 
					
						
						
							
							queue/PlaylistControl: throw PlaylistError on error  
						
						
						
						
					 
					
						2016-02-28 11:04:35 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b6cb9b853a 
					 
					
						
						
							
							queue/PlaylistEdit: throw PlaylistError on error  
						
						
						
						
					 
					
						2016-02-28 11:02:36 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						50b930f283 
					 
					
						
						
							
							playlist/edit: use std::unique_ptr  
						
						
						
						
					 
					
						2016-02-28 11:00:59 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cbeb809798 
					 
					
						
						
							
							playlist/queue: use std::unique_ptr  
						
						
						
						
					 
					
						2016-02-28 10:58:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ea626368a0 
					 
					
						
						
							
							queue/QueueCommands: use std::unique_ptr  
						
						
						
						
					 
					
						2016-02-28 10:56:37 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c81747dd15 
					 
					
						
						
							
							queue/PlaylistTag: throw PlaylistError on error  
						
						
						
						
					 
					
						2016-02-28 10:40:31 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f8810d7caf 
					 
					
						
						
							
							PlaylistError: add NotPlaying()  
						
						
						
						
					 
					
						2016-02-28 10:38:17 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						92f54f0b59 
					 
					
						
						
							
							output/alsa: disable DoP if it fails  
						
						... 
						
						
						
						See http://bugs.musicpd.org/view.php?id=4496  
						
						
					 
					
						2016-02-28 10:19:19 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ddce544b53 
					 
					
						
						
							
							output/alsa: move the PcmExport::Open() call to Open()  
						
						
						
						
					 
					
						2016-02-28 10:15:54 +01:00