Max Kellermann 
							
						 
					 
					
						
						
							
						
						c76f4ac89b 
					 
					
						
						
							
							player/Thread: pause all outputs in single mode  
						
						... 
						
						
						
						This mostly affects the Pulse output plugin which needs to "cork" the
stream (closes  #278 ). 
						
						
							
						
					 
					
						2018-05-12 14:44:07 +02:00 
						 
				 
			
				
					
						
							
							
								Michal Koutenský 
							
						 
					 
					
						
						
							
						
						d495ec71a8 
					 
					
						
						
							
							decoder/opus: add support for R128_ALBUM_GAIN tag  
						
						
						
						
							
						
					 
					
						2018-05-07 10:57:03 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b763852f57 
					 
					
						
						
							
							decoder/dsd: allow 4 MB ID3 tags  
						
						... 
						
						
						
						Closes  #277  
					
						2018-05-07 10:53:48 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a8568d7246 
					 
					
						
						
							
							Merge branch 'v0.20.x'  
						
						
						
						
							
						
					 
					
						2018-05-03 20:15:11 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						6522d2f722 
					 
					
						
						
							
							decoder/{dsdiff,dsf}: support more MIME types  
						
						... 
						
						
						
						These are used by DSD-streaming servers.  For example, MiniDLNA uses
"audio/x-dsd". 
						
						
							
						
					 
					
						2018-05-03 12:02:11 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ac61fd1d78 
					 
					
						
						
							
							{input,output}/alsa: work around -Wswitch due to SND_PCM_STATE_PRIVATE1  
						
						
						
						
							
						
					 
					
						2018-05-03 11:59:18 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c44d1566fa 
					 
					
						
						
							
							SongFilter: fix "modified-since" filter  
						
						... 
						
						
						
						Error message sent to client was "basic_string::_M_construct null not
valid" due to passing nullptr to the std::string constructor.
Regression caused by commit 386688b87a 
						
						
							
						
					 
					
						2018-04-30 20:34:25 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						80dc7c2f74 
					 
					
						
						
							
							increment version number to 0.20.20  
						
						
						
						
							
						
					 
					
						2018-04-30 20:32:36 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						43a43c1e2b 
					 
					
						
						
							
							Merge tag 'v0.20.19'  
						
						... 
						
						
						
						release v0.20.19 
						
						
							
						
					 
					
						2018-04-26 20:06:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7b94f0e36b 
					 
					
						
						
							
							release v0.20.19  
						
						
						
						
							
 
						
					 
					
						2018-04-26 19:57:04 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						504e8d564a 
					 
					
						
						
							
							android/AndroidManifest.xml: increment version number to 0.20.19  
						
						
						
						
							
						
					 
					
						2018-04-26 19:56:39 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ac395429c3 
					 
					
						
						
							
							db/proxy: implement the group_mask parameter in VisitUniqueTags()  
						
						... 
						
						
						
						Closes  #258  
					
						2018-04-26 19:43:33 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						388768b3a6 
					 
					
						
						
							
							db/proxy: call mpd_search_cancel() after search error  
						
						... 
						
						
						
						Fixes "search already in progress" errors. 
						
						
							
						
					 
					
						2018-04-26 19:41:19 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5c4169e64e 
					 
					
						
						
							
							python/build/libs.py: upgrade FFmpeg to 4.0  
						
						
						
						
							
						
					 
					
						2018-04-26 19:16:16 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d40e9de2d2 
					 
					
						
						
							
							python/build/libs.py: upgrade libvorbis to 1.3.6  
						
						
						
						
							
						
					 
					
						2018-04-26 19:14:26 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e08598e7e2 
					 
					
						
						
							
							output/alsa: don't submit silence if PCM is not yet running  
						
						... 
						
						
						
						See code comment.  Closes  #260  
						
						
							
						
					 
					
						2018-04-26 17:14:42 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d301a79dcf 
					 
					
						
						
							
							output/alsa: CopyRingToPeriodBuffer() returns bool  
						
						
						
						
							
						
					 
					
						2018-04-26 16:44:23 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						98d76627a5 
					 
					
						
						
							
							output/alsa: disable events in Cancel()  
						
						... 
						
						
						
						Don't reactivate the PCM device immediately after Cancel() is
finished; if Cancel() gets called this may mean that new data may take
a while to produce, or no data at all will be produced because the
current song is being stopped.
Once new data is available, Play() will automatically reactivate the
PCM.
This fixes underruns when switching songs manually (closes  #264 ). 
						
						
							
						
					 
					
						2018-04-26 16:41:49 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8a809013f3 
					 
					
						
						
							
							output/alsa: reset "active" on error  
						
						... 
						
						
						
						Use the "active" flag in PrepareSockets() instead of LockHasError(). 
						
						
							
						
					 
					
						2018-04-26 16:18:59 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						485ed0b156 
					 
					
						
						
							
							output/alsa: make the "active" attribute thread-safe  
						
						
						
						
							
						
					 
					
						2018-04-26 16:18:52 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7d546f80f9 
					 
					
						
						
							
							output/alsa: merge Activate() and UnlockActivate()  
						
						... 
						
						
						
						Prepare to make the "active" attribute thread-safe. 
						
						
							
						
					 
					
						2018-04-26 16:18:18 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5dfdc15f93 
					 
					
						
						
							
							output/alsa: rethrow errors in Drain()  
						
						
						
						
							
						
					 
					
						2018-04-26 16:17:14 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a6e5873443 
					 
					
						
						
							
							output/alsa: thread-safety documentation for attribute "active"  
						
						
						
						
							
						
					 
					
						2018-04-26 15:54:15 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e2cf777538 
					 
					
						
						
							
							output/alsa: simplify MultiSocketMonitor::GetEventLoop() calls  
						
						
						
						
							
						
					 
					
						2018-04-26 15:54:01 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1e54297be8 
					 
					
						
						
							
							lib/ffmpeg/Init: fix av_register_all() deprecation warning  
						
						... 
						
						
						
						av_register_all() was deprecated in
FFmpeg/FFmpeg@0694d87024  
						
						
							
						
					 
					
						2018-04-25 21:35:33 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						44b200240f 
					 
					
						
						
							
							player/Thread: never reuse decoder when switching radio streams  
						
						... 
						
						
						
						When switching to another song manually, the player checks if the
decoder is already decoding that song; if so, it will attempt to reuse
it by seeking it to the new position.  That however fails if the
decoder is not seekable (e.g. a radio stream) which leaves the user
unable to switch to that song with the bogus error message "Not
seekable". 
						
						
							
						
					 
					
						2018-04-25 21:19:26 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9c61760713 
					 
					
						
						
							
							output/alsa: remove obsolete comment, was moved to Alsa::PeriodBuffer::Allocate()  
						
						
						
						
							
						
					 
					
						2018-04-10 15:42:29 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5f86c6d404 
					 
					
						
						
							
							configure.ac: add missing "test"  
						
						... 
						
						
						
						Closes  #256  
					
						2018-03-22 21:58:31 +01:00 
						 
				 
			
				
					
						
							
							
								kaliko 
							
						 
					 
					
						
						
							
						
						6edc834143 
					 
					
						
						
							
							doc/protocol.xml: clarify how find behaves with albumartist  
						
						
						
						
							
						
					 
					
						2018-03-22 16:34:09 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b7dc3fae7c 
					 
					
						
						
							
							Merge branch 'v0.20.x'  
						
						
						
						
							
						
					 
					
						2018-03-15 20:08:13 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a2340c313f 
					 
					
						
						
							
							pcm/PcmDop: round down to the nearest multiple of 4 DSD bytes  
						
						... 
						
						
						
						There was a discrepancy between what was written to the buffer and the
size returned by pcm_dsd_to_dop(): the "for" loop uses num_frames/2,
rounding down, while the return value is num_samples which is
num_frames*channels, without rounding.  This could cause undefined
data at the end of the destination buffer if the source buffer size
was not aligned to multiples of 8 bytes (4 DSD bytes per channel).
The latter however can occur in the 0.21 branch after commit
a06bf388d9Closes  #233  
						
						
							
						
					 
					
						2018-03-15 20:02:00 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						37b07a5e7c 
					 
					
						
						
							
							pcm/PcmDop: use size_t  
						
						
						
						
							
						
					 
					
						2018-03-15 20:00:14 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						73013a3c04 
					 
					
						
						
							
							input/thread: move code to Stop()  
						
						... 
						
						
						
						Fixes crash due to "pure virtual method called" in the "mms" input
plugin.  Closes  #253  
						
						
							
						
					 
					
						2018-03-15 19:29:55 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e8099f01b5 
					 
					
						
						
							
							python/build/libs: upgrade CURL to 7.59.0  
						
						
						
						
							
						
					 
					
						2018-03-15 11:24:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						672bdd3a56 
					 
					
						
						
							
							doc/user.xml: clarify where mpd.conf is read from on Android  
						
						... 
						
						
						
						Closes  #247  
					
						2018-03-15 11:22:38 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c2c2c29658 
					 
					
						
						
							
							input/thread: set InputStream::ready after Open() failure  
						
						... 
						
						
						
						Without setting the "ready" flag, the caller will wait in WaitReady()
forever, locking up MPD.  Closes  #252  
						
						
							
						
					 
					
						2018-03-14 13:15:03 +01:00 
						 
				 
			
				
					
						
							
							
								Michal Smucr 
							
						 
					 
					
						
						
							
						
						c745e14f47 
					 
					
						
						
							
							Bump minimum required version of Boost to 1.54.  
						
						... 
						
						
						
						lockfree library used by ALSA output plugin is part of Boost from version 1.53,
so this can be theoretically the lowest required version, however
there are issues which are resolved from 1.54 onwards. 
						
						
							
						
					 
					
						2018-03-09 09:23:48 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Kröner 
							
						 
					 
					
						
						
							
						
						d84cd500bb 
					 
					
						
						
							
							Fix build with DSD disabled  
						
						
						
						
							
						
					 
					
						2018-03-07 22:40:19 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Kröner 
							
						 
					 
					
						
						
							
						
						5b456cadc4 
					 
					
						
						
							
							Reset sample rate to initial state on OSX output  
						
						
						
						
							
						
					 
					
						2018-03-07 22:38:09 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Kröner 
							
						 
					 
					
						
						
							
						
						4be80982a4 
					 
					
						
						
							
							Fix sample rate sync on Mac output for low rates  
						
						
						
						
							
						
					 
					
						2018-03-07 21:32:21 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Kröner 
							
						 
					 
					
						
						
							
						
						4d7f1f0c35 
					 
					
						
						
							
							Implement Pause() for OSXOutput plugin  
						
						
						
						
							
						
					 
					
						2018-03-07 11:59:43 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Kröner 
							
						 
					 
					
						
						
							
						
						d3f097c7f1 
					 
					
						
						
							
							Honor 'device "system"' setting for OSX output  
						
						
						
						
							
						
					 
					
						2018-03-07 11:59:43 +01:00 
						 
				 
			
				
					
						
							
							
								Damien Cassou 
							
						 
					 
					
						
						
							
						
						a3d1b107f4 
					 
					
						
						
							
							doc/protocol.xml: Add examples to the description of 'count'  
						
						
						
						
							
						
					 
					
						2018-03-07 10:01:29 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e8f08cda53 
					 
					
						
						
							
							AUTHORS: add various recent contributors  
						
						
						
						
							
						
					 
					
						2018-03-05 19:23:36 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0ab6c176af 
					 
					
						
						
							
							doc/user.xml: mention that Tidal refuses to give us a token  
						
						... 
						
						
						
						Related to #196  
						
						
							
						
					 
					
						2018-03-05 16:05:39 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5b0e8c6de0 
					 
					
						
						
							
							Merge branch 'v0.20.x'  
						
						
						
						
							
						
					 
					
						2018-03-05 11:13:42 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8266ab5588 
					 
					
						
						
							
							android/build.py: support the x86 ABI  
						
						... 
						
						
						
						First commit for issue #69  
						
						
							
						
					 
					
						2018-03-04 20:46:46 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ea552208fc 
					 
					
						
						
							
							android/build.py: add ABI parameter  
						
						
						
						
							
						
					 
					
						2018-03-04 20:43:59 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e86015a72a 
					 
					
						
						
							
							android/build.py: convert ndk_arch to local variable  
						
						
						
						
							
						
					 
					
						2018-03-04 20:32:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cf7ec2c9d3 
					 
					
						
						
							
							doc/user.xml: add section about compiling for Android  
						
						
						
						
							
						
					 
					
						2018-03-04 20:19:22 +01:00