Max Kellermann 
							
						 
					 
					
						
						
							
						
						72437ca9e2 
					 
					
						
						
							
							db/simple/Song: use C++11 initializers  
						
						
						
						
					 
					
						2018-07-06 21:49:52 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9be14bbe82 
					 
					
						
						
							
							doc/protocol.xml: document the lsinfo response  
						
						
						
						
					 
					
						2018-07-06 21:36:28 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d47f37f23a 
					 
					
						
						
							
							doc/protocol.xml: add command hyperlinks  
						
						
						
						
					 
					
						2018-07-06 21:36:28 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a22aed7acf 
					 
					
						
						
							
							doc/protocol.xml: update reference to Ack.hxx  
						
						
						
						
					 
					
						2018-07-06 21:36:28 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						38b58715ae 
					 
					
						
						
							
							.travis.yml: add build with GCC 8  
						
						... 
						
						
						
						Also test the newest available GCC version. 
						
						
					 
					
						2018-07-06 21:31:02 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d88e00c0a4 
					 
					
						
						
							
							.travis.yml: switch to GCC 6  
						
						... 
						
						
						
						After commit a72d1200fb 
						
						
					 
					
						2018-07-06 21:30:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a72d1200fb 
					 
					
						
						
							
							require GCC 6  
						
						... 
						
						
						
						Meanwhile, GCC 5 fails to compile MPD due to incomplete C++14
implementation. 
						
						
					 
					
						2018-07-06 19:44:32 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9a29d02e7e 
					 
					
						
						
							
							Merge branch 'v0.20.x'  
						
						
						
						
					 
					
						2018-07-06 19:43:01 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						6f3c0d0a60 
					 
					
						
						
							
							AudioFormat: include cleanup  
						
						
						
						
					 
					
						2018-07-06 19:35:31 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						466625f7ad 
					 
					
						
						
							
							input/curl: use new class HttpStatusError  
						
						... 
						
						
						
						This way, IsFileNotFound() can detect status 404. 
						
						
					 
					
						2018-07-06 19:26:11 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b8259e604a 
					 
					
						
						
							
							db/update/{Walk,ExcludeList}: use InputStream to read .mpdignore  
						
						... 
						
						
						
						Supports .mpdignore on NFS/SMB and others (closes  #290 ). 
						
						
					 
					
						2018-07-06 19:19:04 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						86e2075c63 
					 
					
						
						
							
							lib/nfs/Connection: use new class NfsClientError  
						
						... 
						
						
						
						Allows callers to extract the NFS error code. 
						
						
					 
					
						2018-07-06 19:17:34 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						30900b2fe2 
					 
					
						
						
							
							input/Error: new library providing IsFileNotFound()  
						
						
						
						
					 
					
						2018-07-06 19:16:01 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fd7ae7ea4c 
					 
					
						
						
							
							input/Domain: remove obsolete variable  
						
						
						
						
					 
					
						2018-07-06 19:13:53 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						60d5bf0240 
					 
					
						
						
							
							util/StringFormat: new utility library  
						
						
						
						
					 
					
						2018-07-06 19:07:02 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						41cdc4e14b 
					 
					
						
						
							
							input/Offset: add macro PRIoffset  
						
						
						
						
					 
					
						2018-07-06 19:06:05 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						87dfca0477 
					 
					
						
						
							
							input/curl: remove obsolete Windows sprintf() fallback  
						
						... 
						
						
						
						See commit be137a191e 
						
						
					 
					
						2018-07-06 19:05:09 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e1ee8e7812 
					 
					
						
						
							
							util/FormatString: remove obsolete Windows fallback  
						
						... 
						
						
						
						Since 7d353bbe2a 
						
						
					 
					
						2018-07-06 19:04:33 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						63406efcd8 
					 
					
						
						
							
							db/update/ExcludeList: allow comments only at start of line  
						
						
						
						
					 
					
						2018-07-06 18:27:17 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d5c132fca0 
					 
					
						
						
							
							db/update/ExcludeList: move code to ParseLine()  
						
						
						
						
					 
					
						2018-07-06 18:25:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5f082a2739 
					 
					
						
						
							
							output/httpd: remove broken DLNA support code  
						
						... 
						
						
						
						This code was added in 21851c0673Closes  #304  
						
						
					 
					
						2018-07-06 17:28:01 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						45139f94bb 
					 
					
						
						
							
							db/LightSong: pass URI to constructor  
						
						
						
						
					 
					
						2018-07-06 16:56:12 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						80cb680fca 
					 
					
						
						
							
							db/LightSong: implicit initialization  
						
						
						
						
					 
					
						2018-07-06 16:50:37 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b9ff6383a4 
					 
					
						
						
							
							db/LightSong: make Tag a reference  
						
						... 
						
						
						
						This enforces the "not nullptr" rule. 
						
						
					 
					
						2018-07-06 16:47:47 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ebc006ab52 
					 
					
						
						
							
							db/simple: wrap LightSong in Manual<>  
						
						... 
						
						
						
						Prepare to make LightSong non-assignable. 
						
						
					 
					
						2018-07-06 16:46:01 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						86a02871fc 
					 
					
						
						
							
							decoder/vorbis: call TagHandler::OnAudioFormat()  
						
						
						
						
					 
					
						2018-07-06 12:44:58 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e152e843d8 
					 
					
						
						
							
							tag/Handler: add method OnAudioFormat()  
						
						
						
						
					 
					
						2018-07-06 12:44:58 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9ff1ff75cb 
					 
					
						
						
							
							tag/Handler: add FullTagHandler constructor with want_mask  
						
						
						
						
					 
					
						2018-07-06 12:44:58 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						abea4a24ba 
					 
					
						
						
							
							tag/Handler: move WANT_DURATION|WANT_TAG to protected AddTagHandler()  
						
						
						
						
					 
					
						2018-07-06 12:44:11 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3d3a1232b1 
					 
					
						
						
							
							tag/Handler: convert to class with virtual methods  
						
						
						
						
					 
					
						2018-07-05 19:07:05 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						09d4176210 
					 
					
						
						
							
							output/multiple: use WaitAll() in EnableDisable()  
						
						
						
						
					 
					
						2018-06-23 19:23:56 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						30d41e45e2 
					 
					
						
						
							
							output/multiple: remove unnecessary IsBusy() check from WaitAll()  
						
						... 
						
						
						
						AudioOutputControl::WaitForCommand() doesn't need this check. 
						
						
					 
					
						2018-06-23 19:23:18 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bd9a5021da 
					 
					
						
						
							
							notify: remove unused library  
						
						
						
						
					 
					
						2018-06-23 19:15:26 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1624a5eb8d 
					 
					
						
						
							
							output/Control: add another Cond attribute, replacing audio_output_client_notify  
						
						
						
						
					 
					
						2018-06-23 19:11:48 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1bca29f9e2 
					 
					
						
						
							
							output/Control: rename "cond" to "wake_cond"  
						
						... 
						
						
						
						Prepare for adding another Cond attribute. 
						
						
					 
					
						2018-06-23 19:10:23 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						efb8a9bd2c 
					 
					
						
						
							
							player, decoder, output: wrap MusicPipe in std::shared_ptr/std::unique_ptr  
						
						
						
						
					 
					
						2018-06-23 18:45:57 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						82954d1d6f 
					 
					
						
						
							
							player/Thread: eliminate ClearAndReplacePipe()  
						
						... 
						
						
						
						Since commit e81b089612 
						
						
					 
					
						2018-06-23 18:44:48 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5a02324c09 
					 
					
						
						
							
							MusicBuffer: make constructor explicit  
						
						
						
						
					 
					
						2018-06-23 18:40:36 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						eb93bebbc1 
					 
					
						
						
							
							MusicBuffer: fix potential deadlock while cross-fading in Return()  
						
						
						
						
					 
					
						2018-06-23 18:39:50 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2be905b2e2 
					 
					
						
						
							
							MusicPipe: eliminate the unused MusicBuffer reference  
						
						... 
						
						
						
						This requires re-adding the reference to struct DecoderControl, which
was removed recently by commit
9f14e7a98d 
						
						
					 
					
						2018-06-23 18:36:24 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						076be809c2 
					 
					
						
						
							
							Music{Pipe,Chunk}: use MusicChunkPtr for the list links  
						
						
						
						
					 
					
						2018-06-23 17:58:42 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						88f1233d7b 
					 
					
						
						
							
							MusicPipe, output/multiple: include cleanup  
						
						
						
						
					 
					
						2018-06-23 17:44:32 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						54d295c247 
					 
					
						
						
							
							MusicChunkPtr: managed MusicChunk pointer  
						
						... 
						
						
						
						Make all uses of MusicChunk safe. 
						
						
					 
					
						2018-06-22 23:11:52 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e81b089612 
					 
					
						
						
							
							MusicPipe: automatically clear in destructor  
						
						... 
						
						
						
						We can implement this now that we have a MusicBuffer reference. 
						
						
					 
					
						2018-06-22 23:09:13 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9f14e7a98d 
					 
					
						
						
							
							MusicPipe: add MusicBuffer reference  
						
						... 
						
						
						
						This tiny amount of overhead allows omitting the MusicBuffer in
Clear(). 
						
						
					 
					
						2018-06-22 22:59:44 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cb412b221c 
					 
					
						
						
							
							output/multiple: update API documentation  
						
						
						
						
					 
					
						2018-06-22 22:59:30 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7d6a762845 
					 
					
						
						
							
							python/build/libs.py: upgrade FFmpeg to 4.0.1  
						
						
						
						
					 
					
						2018-06-22 22:35:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1ca1269a59 
					 
					
						
						
							
							input/curl: use class MaybeBufferedInputStream  
						
						... 
						
						
						
						For remote files (not streams), this downloads as quickly as possible
to a large buffer instead of throttling the stream during playback.
Throttling can make the server impatient and it may then disconnect.
This is what Qobuz and Tidal do, and this commit attempts to solve
this by not letting the Qobuz/Tidal server wait (closes  #241 ). 
						
						
					 
					
						2018-06-22 22:33:16 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						6681b14b71 
					 
					
						
						
							
							input/MaybeBuffered: proxy InputStream implementation which auto-uses BufferedInputStream  
						
						
						
						
					 
					
						2018-06-22 22:33:16 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						12f2418445 
					 
					
						
						
							
							input/buffered: proxy InputStream implementation which caches in a huge buffer  
						
						
						
						
					 
					
						2018-06-22 22:33:16 +02:00