Max Kellermann 
							
						 
					 
					
						
						
							
						
						9d24f68f51 
					 
					
						
						
							
							output/jack: convert to class, make attributes/methods private  
						
						
						
						
							
						
					 
					
						2019-08-05 09:31:40 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						44652fdb13 
					 
					
						
						
							
							output/jack: convert callback functions to static methods  
						
						
						
						
							
						
					 
					
						2019-08-05 09:29:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2892a6f5e2 
					 
					
						
						
							
							output/jack: merge set_audioformat() into Open()  
						
						
						
						
							
						
					 
					
						2019-08-05 09:28:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2fc40e5575 
					 
					
						
						
							
							output/jack: eliminate "shutdown" flag, use only "error" (mutex protected)  
						
						
						
						
							
						
					 
					
						2019-08-05 09:24:43 +02:00 
						 
				 
			
				
					
						
							
							
								Fredrik Noring 
							
						 
					 
					
						
						
							
						
						7363fe90bb 
					 
					
						
						
							
							decoder/sidplay: Add "default_genre" option  
						
						... 
						
						
						
						Genres are not part of the SID format, so SID files are genreless. This
"default_genre" option may be used to assign a default genre to all SID
music, for example "SID", "C64", "Chiptune", etc. 
						
						
							
						
					 
					
						2019-08-05 06:23:40 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d146bef740 
					 
					
						
						
							
							output/jack: use jack_on_info_shutdown()  
						
						
						
						
							
						
					 
					
						2019-08-04 20:25:13 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1f4c4be1f1 
					 
					
						
						
							
							output/jack: use std::atomic_bool for "shutdown" and "pause"  
						
						... 
						
						
						
						Without this, the compiler may optimize accesses away. 
						
						
							
						
					 
					
						2019-08-04 20:24:51 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						90067d16c0 
					 
					
						
						
							
							output/jack: use SIZE_MAX instead of (size_t)-1  
						
						
						
						
							
						
					 
					
						2019-08-04 06:34:43 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						cde6c46d2f 
					 
					
						
						
							
							util/Macros: replace with std::size() (C++17)  
						
						
						
						
							
						
					 
					
						2019-08-03 13:10:49 +02:00 
						 
				 
			
				
					
						
							
							
								ckdo 
							
						 
					 
					
						
						
							
						
						d305f187d5 
					 
					
						
						
							
							Add the ability to specify media.role for pulse output plugin  
						
						... 
						
						
						
						This is useful in multiple mpd instances scenario, or multiple pulse outputs defined on the same mpd instance.
It is actually a more flexible way to route flows than the "sink" parameter, letting the PulseAudio routing do its job, but with the ability to isolate routing for each output.
If not specified, the role remains like it was before this commit, ie "music" 
						
						
							
						
					 
					
						2019-08-03 13:03:05 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Dodd 
							
						 
					 
					
						
						
							
						
						4f6a713b32 
					 
					
						
						
							
							Add option to not connect jack ports automatically  
						
						
						
						
							
						
					 
					
						2019-08-03 13:01:47 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8f981845dc 
					 
					
						
						
							
							switch to C++17  
						
						... 
						
						
						
						Time to move on, two years after 2017. 
						
						
							
						
					 
					
						2019-08-03 12:57:56 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c764b70b3a 
					 
					
						
						
							
							decoder/mad: merge DecodeNextFrame() and DecodeNextFrameHeader()  
						
						
						
						
							
						
					 
					
						2019-08-03 12:55:56 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						52bb03e136 
					 
					
						
						
							
							decoder/mad: eliminate redundant error handling from DecodeNextFrame()  
						
						... 
						
						
						
						Much of that is not possible when mad_header_decode() has already been
called. 
						
						
							
						
					 
					
						2019-08-03 12:55:48 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a90685d6cf 
					 
					
						
						
							
							Merge tag 'v0.21.12'  
						
						... 
						
						
						
						release v0.21.12 
						
						
							
						
					 
					
						2019-08-03 12:53:23 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ae19bda1f2 
					 
					
						
						
							
							release v0.21.12  
						
						
						
						
							
 
						
					 
					
						2019-08-03 12:48:20 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f2d8fd769d 
					 
					
						
						
							
							player/Thread: don't restart unseekable song after failed seek attempt  
						
						... 
						
						
						
						The check IsSeekableCurrentSong() was added by commit
44b200240f 
						
						
							
						
					 
					
						2019-08-03 12:30:10 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9661062ae2 
					 
					
						
						
							
							decoder/mad: pass const reference to RecoverFrameError()  
						
						
						
						
							
						
					 
					
						2019-08-03 11:59:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2a07354cad 
					 
					
						
						
							
							decoder/mad: change integers to size_t  
						
						
						
						
							
						
					 
					
						2019-08-03 11:44:02 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fc18fd571c 
					 
					
						
						
							
							decoder/mad: return from SynthAndSubmit() early  
						
						
						
						
							
						
					 
					
						2019-08-03 11:42:05 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						51abed9732 
					 
					
						
						
							
							decoder/mad: pass mad_pcm to mad_fixed_to_24_buffer()  
						
						
						
						
							
						
					 
					
						2019-08-03 11:40:06 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d00afc912c 
					 
					
						
						
							
							decoder/mad: eliminate the loop in SubmitPCM()  
						
						... 
						
						
						
						libmad has a hard-coded maximum PCM buffer size; if we make our
output_buffer just as large, we can avoid the loop, because any
possible size will fit. 
						
						
							
						
					 
					
						2019-08-03 11:36:05 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9d0fe725eb 
					 
					
						
						
							
							decoder/mad: rename a few misnamed methods  
						
						
						
						
							
						
					 
					
						2019-08-03 11:32:42 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8a432c9b7f 
					 
					
						
						
							
							decoder/mad: move code to LoadNextFrame()  
						
						
						
						
							
						
					 
					
						2019-08-03 11:32:06 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						187204f03c 
					 
					
						
						
							
							decoder/mad: move code to HandleCurrentFrame()  
						
						
						
						
							
						
					 
					
						2019-08-03 11:32:06 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						5e5fadb5f2 
					 
					
						
						
							
							decoder/mad: remove unnecessary initializers  
						
						... 
						
						
						
						These will not be used until they are initialized in SyncAndSend(). 
						
						
							
						
					 
					
						2019-08-03 08:49:26 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						952c793235 
					 
					
						
						
							
							decoder/mad: subtract libmad decoder delay from LAME encoder padding  
						
						... 
						
						
						
						Apparently, libmad not only inserts 529 samples of silence at the
beginning of the file, but also removes them at the end.
This solves the last piece of
https://github.com/MusicPlayerDaemon/MPD/issues/601 
Closes https://github.com/MusicPlayerDaemon/MPD/issues/601  
						
						
							
						
					 
					
						2019-08-03 08:35:00 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3e3d8c7f9d 
					 
					
						
						
							
							decoder/mad: pad the input buffer with zero bytes and end of file  
						
						... 
						
						
						
						libmad requires padding the input buffer with "MAD_BUFFER_GUARD" zero
bytes at the end of the file, or else it is unable to decode the last
frame.
This fixes yet another bug which prevented this plugin from decoding
the last frame, see
https://github.com/MusicPlayerDaemon/MPD/issues/601  
						
						
							
						
					 
					
						2019-08-03 08:32:27 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9b99a9897a 
					 
					
						
						
							
							decoder/mad: don't count the Xing/LAME metadata frame  
						
						... 
						
						
						
						The Xing/LAME frame indicates how many frames there are, but that
excludes the initial Xing/LAME frame.  Therefore, it should not be
counted.
This fixes an off-by-one bug which caused the last frame to be
skipped, fixing one part of
https://github.com/MusicPlayerDaemon/MPD/issues/601  
						
						
							
						
					 
					
						2019-08-03 08:25:48 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						4f56fdc397 
					 
					
						
						
							
							decoder/mad: make "current_frame" zero-based  
						
						... 
						
						
						
						Increment "current_frame" after processing the frame. 
						
						
							
						
					 
					
						2019-08-03 08:24:25 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						c87d6825ec 
					 
					
						
						
							
							decoder/mad: add API documentation  
						
						
						
						
							
						
					 
					
						2019-08-03 08:07:30 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						00830a20e3 
					 
					
						
						
							
							decoder/mad: convert to class, make almost everything private  
						
						
						
						
							
						
					 
					
						2019-08-03 07:52:51 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						d39d2874b4 
					 
					
						
						
							
							decoder/mad: move code to methods RunDecoder(), RunScan()  
						
						
						
						
							
						
					 
					
						2019-08-03 07:49:41 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a0a74951b8 
					 
					
						
						
							
							decoder/mad: eliminate attribute "bit_rate"  
						
						... 
						
						
						
						This also fixes a bug which caused the bit rate to not update after
seeking. 
						
						
							
						
					 
					
						2019-08-03 00:38:45 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						779a6855ff 
					 
					
						
						
							
							decoder/mad: add noexcept  
						
						
						
						
							
						
					 
					
						2019-08-03 00:28:59 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f7ed7446ae 
					 
					
						
						
							
							decoder/mad: use MAD_F_MIN and MAD_F_MAX  
						
						
						
						
							
						
					 
					
						2019-08-03 00:27:59 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9d44a6d2ae 
					 
					
						
						
							
							decoder/mad: use Clamp()  
						
						
						
						
							
						
					 
					
						2019-08-03 00:26:57 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						10da9ee7ba 
					 
					
						
						
							
							decoder/mad: refactor local variables in FillBuffer()  
						
						
						
						
							
						
					 
					
						2019-08-02 23:19:11 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f9eff31205 
					 
					
						
						
							
							decoder/mad: use sizeof(input_buffer)  
						
						
						
						
							
						
					 
					
						2019-08-02 23:19:11 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1d74a029a2 
					 
					
						
						
							
							decoder/mad: simplify variable initialization in FillBuffer()  
						
						
						
						
							
						
					 
					
						2019-08-02 23:19:11 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						6b8ca514bb 
					 
					
						
						
							
							decoder/mad: fix broken log message  
						
						... 
						
						
						
						Broken since commit f8bfea8bae 
						
						
							
						
					 
					
						2019-08-02 22:58:16 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f51e555154 
					 
					
						
						
							
							decoder/mad: change "mp3_" suffix to "mad_"  
						
						
						
						
							
						
					 
					
						2019-08-02 22:49:55 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						61a3c69a06 
					 
					
						
						
							
							decoder/mad: make enums strictly-typed  
						
						
						
						
							
						
					 
					
						2019-08-02 22:49:55 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						089615a01e 
					 
					
						
						
							
							decoder/mad: include cleanup  
						
						
						
						
							
						
					 
					
						2019-08-02 22:49:55 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						52bee8f81f 
					 
					
						
						
							
							util/StaticFifoBuffer: add GetAvailable()  
						
						
						
						
							
						
					 
					
						2019-08-02 22:49:55 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						adc25e648f 
					 
					
						
						
							
							util/StaticFifoBuffer: add constexpr  
						
						
						
						
							
						
					 
					
						2019-08-02 22:49:33 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						31da8eac9b 
					 
					
						
						
							
							util/StaticFifoBuffer: add noexcept  
						
						
						
						
							
						
					 
					
						2019-08-02 22:49:05 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						e00464435b 
					 
					
						
						
							
							util/Compiler.h: move compiler version checks to meson.build  
						
						
						
						
							
						
					 
					
						2019-08-02 15:53:16 +02:00 
						 
				 
			
				
					
						
							
							
								Diomendius 
							
						 
					 
					
						
						
							
						
						b81138bda1 
					 
					
						
						
							
							Fix JACK plugin outputting only to left channel  
						
						... 
						
						
						
						The JACK output plugin would not correctly upmix mono input files when exactly 2 output ports were configured. This fixes that. 
						
						
							
						
					 
					
						2019-08-02 15:52:20 +02:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fe2f8c088a 
					 
					
						
						
							
							Partition, ...: add noexcept to callback methods  
						
						
						
						
							
						
					 
					
						2019-08-02 14:44:00 +02:00