Max Kellermann 
							
						 
					 
					
						
						
							
						
						0dda4c06b1 
					 
					
						
						
							
							util/TemplateString: no indent after namespace  
						
						
						
						
					 
					
						2020-11-30 22:13:04 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						79fd6143ec 
					 
					
						
						
							
							lib/dbus/Values: use T::Traits, not T  
						
						... 
						
						
						
						This template was never instantiated, so the problem never occurred. 
						
						
					 
					
						2020-11-30 22:11:18 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						8f89e3f7f4 
					 
					
						
						
							
							lib/dbus/Values: use using instead of typedef  
						
						
						
						
					 
					
						2020-11-30 22:11:14 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fc01d11b8d 
					 
					
						
						
							
							odbus/Types: use using instead of typedef  
						
						
						
						
					 
					
						2020-11-30 22:08:37 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0c28d8dcbe 
					 
					
						
						
							
							time/ISO8601: support YYYY-MM (without day of month)  
						
						
						
						
					 
					
						2020-11-30 21:55:12 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						764eaadd25 
					 
					
						
						
							
							time/Math: new library  
						
						
						
						
					 
					
						2020-11-30 21:55:05 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						273771ffec 
					 
					
						
						
							
							net/SocketAddress: add CastTo()  
						
						
						
						
					 
					
						2020-11-30 21:51:07 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						32ce9ce919 
					 
					
						
						
							
							net/IPv[46]Address: pass SocketAddress by value to Cast()  
						
						
						
						
					 
					
						2020-11-30 21:49:07 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						34a070f5a6 
					 
					
						
						
							
							net/IPv[46]Address: add Cast(const sockaddr_in&)  
						
						
						
						
					 
					
						2020-11-30 21:49:02 +01:00 
						 
				 
			
				
					
						
							
							
								Danilo Spinella 
							
						 
					 
					
						
						
							
						
						92bfdffa42 
					 
					
						
						
							
							lib/ffmpeg/Filter: Add define required for avutil  
						
						
						
						
					 
					
						2020-11-30 20:06:21 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						ac4975cd7a 
					 
					
						
						
							
							util/MimeType: relicense to BSD-2  
						
						
						
						
					 
					
						2020-11-18 15:28:21 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						fbbbfb9668 
					 
					
						
						
							
							Merge branch 'v0.22.x'  
						
						
						
						
					 
					
						2020-11-16 09:41:20 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						38b41fc3fd 
					 
					
						
						
							
							filter/ffmpeg: detect the output sample format  
						
						... 
						
						
						
						Some FFmpeg filters change the sample format, and since MPD assumes
this never happens, this results in loud noise instead of music.  This
commit finally implements the TODO comment by sending one frame of
silence to the filter and checking the output frame's format.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1009  
						
						
					 
					
						2020-11-16 09:39:34 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						394f69bee1 
					 
					
						
						
							
							output/Control: allow copy elision (fix -Wpessimizing-move)  
						
						
						
						
					 
					
						2020-11-15 19:55:11 +01:00 
						 
				 
			
				
					
						
							
							
								Stapper 
							
						 
					 
					
						
						
							
						
						ba5531f9dd 
					 
					
						
						
							
							Fixes   #994  - moveoutput: new AudioOutputControl created from copyMoving an output to a partition is now done via MultipleOutputs::AddCopy(),using a new AudioOutputControl constructor. Tags and always_on settings willpersist when moving outputs between partitions.  
						
						
						
						
					 
					
						2020-11-15 19:47:53 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						eb9f5339b6 
					 
					
						
						
							
							Merge branch 'v0.22.x' into master  
						
						
						
						
					 
					
						2020-11-11 12:43:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a9714e73c8 
					 
					
						
						
							
							Merge branch 'bind' of git://github.com/neheb/MPD into master  
						
						
						
						
					 
					
						2020-11-10 16:02:34 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						1092882f38 
					 
					
						
						
							
							decoder/dsdiff: apply padding to odd-sized chunks  
						
						... 
						
						
						
						Closes https://github.com/MusicPlayerDaemon/MPD/issues/1001  
						
						
					 
					
						2020-11-10 15:55:33 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a99bc91eb0 
					 
					
						
						
							
							Merge tag 'v0.22.3' into master  
						
						... 
						
						
						
						release v0.22.3 
						
						
					 
					
						2020-11-06 16:14:46 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f849b07766 
					 
					
						
						
							
							storage/curl: fix nullptr dereference  
						
						... 
						
						
						
						Pass a std::string to PathTraitsUTF8::Relative(), implicitly casting
it to std::string_view.  This selects the right overload which returns
std::string_view instead of `const char *`; the latter could return
`nullptr` which would cause the implicit conversion of the return
value to std::string_view to crash.
Regression caused by commits ead208987da98d627c0bhttps://github.com/MusicPlayerDaemon/MPD/issues/995  
						
						
					 
					
						2020-11-06 15:35:47 +01:00 
						 
				 
			
				
					
						
							
							
								Rosen Penev 
							
						 
					 
					
						
						
							
						
						071d3c71d8 
					 
					
						
						
							
							clang-tidy: replace std::bind with lambdas  
						
						... 
						
						
						
						Found with modernize-avoid-bind
Signed-off-by: Rosen Penev <rosenp@gmail.com > 
						
						
					 
					
						2020-11-05 18:09:30 -08:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						afbcac9fb1 
					 
					
						
						
							
							util/MimeType: use IterableSplitString() in ParseMimeTypeParameters()  
						
						
						
						
					 
					
						2020-11-04 21:29:42 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						51e5b56b3a 
					 
					
						
						
							
							playlist/registry: remove duplicate function ExtractMimeTypeMainPart()  
						
						... 
						
						
						
						This is the same as GetMimeTypeBase(), which has already been applied. 
						
						
					 
					
						2020-11-04 21:20:43 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bb07fd42ce 
					 
					
						
						
							
							util/MimeType: migrate GetMimeTypeBase() to std::string_view  
						
						
						
						
					 
					
						2020-11-04 21:20:03 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bab626c325 
					 
					
						
						
							
							util/UriExtract: remove the query string at the beginning of uri_get_suffix()  
						
						
						
						
					 
					
						2020-11-04 21:15:41 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2a9131498f 
					 
					
						
						
							
							util/UriExtract: pass std::string_view to uri_get_suffix()  
						
						
						
						
					 
					
						2020-11-04 21:13:57 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						35a232105e 
					 
					
						
						
							
							util/UriExtract: uri_get_suffix() returns std::string_view  
						
						... 
						
						
						
						No need to copy it to a buffer. 
						
						
					 
					
						2020-11-04 21:08:26 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						19dd1a25d7 
					 
					
						
						
							
							{decoder,archive,playlist}/plugin: pass std::string_view to SupportsMimeType()  
						
						
						
						
					 
					
						2020-11-04 21:00:49 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						53396c0e50 
					 
					
						
						
							
							Merge branch 'v0.22.x' into master  
						
						
						
						
					 
					
						2020-11-04 20:37:25 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0b8208fe7f 
					 
					
						
						
							
							Merge branch 'clng11' of git://github.com/neheb/MPD into master  
						
						
						
						
					 
					
						2020-11-04 20:34:55 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2da3cff1e8 
					 
					
						
						
							
							filter/LoadChain: use the AutoConvertFilter  
						
						... 
						
						
						
						This adds support for input samples other than 16 bit to the FFmpeg
filter plugin. 
						
						
					 
					
						2020-11-04 20:15:19 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						0c965d0573 
					 
					
						
						
							
							filter/AutoConvert: move the Filter class to TwoFilters.cxx  
						
						
						
						
					 
					
						2020-11-04 20:15:19 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						77c14692c9 
					 
					
						
						
							
							filter/AutoConvert: eliminate AutoConvertFilter if possible  
						
						... 
						
						
						
						If no conversion is necessary, return the child Filter as-is.  This
allows removing all nullptr checks from AutoConvertFilter. 
						
						
					 
					
						2020-11-04 20:15:19 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						226eb26300 
					 
					
						
						
							
							filter/ffmpeg: interleave the output AVFrame  
						
						... 
						
						
						
						If the FFmpeg filter outputs planar data, interleave it, just like the
FFmpeg decoder plugin does. 
						
						
					 
					
						2020-11-04 20:15:19 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						2d606fa989 
					 
					
						
						
							
							decoder/ffmpeg: move code to lib/ffmpeg/Interleave.cxx  
						
						... 
						
						
						
						To be reused by the FFmpeg filter plugin. 
						
						
					 
					
						2020-11-04 20:15:19 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						7a0342c8bb 
					 
					
						
						
							
							decoder/ffmpeg: use AVFrame fields instead of AVCodecContext fields  
						
						
						
						
					 
					
						2020-11-04 20:06:45 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						42c9d765cf 
					 
					
						
						
							
							lib/ffmpeg/Buffer: add missing include  
						
						
						
						
					 
					
						2020-11-04 20:06:41 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						a8a80ee689 
					 
					
						
						
							
							lib/ffmpeg/Buffer: disallow copying  
						
						
						
						
					 
					
						2020-11-04 19:51:21 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f9bdb4b0b8 
					 
					
						
						
							
							lib/ffmpeg/Buffer: add noexcept  
						
						
						
						
					 
					
						2020-11-04 19:50:38 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						9332527872 
					 
					
						
						
							
							lib/ffmpeg/{Buffer,Time}: remove obsolete "#undef SampleFormat"  
						
						... 
						
						
						
						This compatibility macro has been removed from FFmpeg long ago. 
						
						
					 
					
						2020-11-04 19:50:33 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						84f772357e 
					 
					
						
						
							
							filter/convert: convert_filter_new() returns std::unique_ptr  
						
						
						
						
					 
					
						2020-11-04 16:47:11 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						f2b9785a67 
					 
					
						
						
							
							filter/chain: pass std::string_view to filter_chain_append()  
						
						
						
						
					 
					
						2020-11-04 16:37:53 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						eeaec99c59 
					 
					
						
						
							
							filter/LoadChain: use IterableSplitString()  
						
						
						
						
					 
					
						2020-11-04 16:36:11 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b0002e3b73 
					 
					
						
						
							
							filter/chain: copy the child name  
						
						... 
						
						
						
						filter_chain_parse() passes a temporary string pointer which results
in a use-after-free in the PreparedChainFilter::Child::Open() error
message. 
						
						
					 
					
						2020-11-04 16:34:38 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						27c589da97 
					 
					
						
						
							
							filter/chain: remove unused field ChainFilter::Child::name  
						
						
						
						
					 
					
						2020-11-04 16:26:50 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						92a218b7a9 
					 
					
						
						
							
							playlist/registry: add option "as_directory"  
						
						... 
						
						
						
						This allows users to disable the "CUE files as directories" feature
without having to disable the CUE playlist plugin completely.  This
feature has been annoying some users. 
						
						
					 
					
						2020-11-04 16:13:12 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						bb009daf66 
					 
					
						
						
							
							playlist/registry: simplify ExtractMimeTypeMainPart()  
						
						
						
						
					 
					
						2020-11-04 13:34:04 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						3d276d50b4 
					 
					
						
						
							
							event/PollBackend: use vector::push_back() instead of resize()  
						
						
						
						
					 
					
						2020-10-30 16:35:20 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b1b731340e 
					 
					
						
						
							
							event/PollBackend: add Item constructor  
						
						
						
						
					 
					
						2020-10-30 16:32:45 +01:00 
						 
				 
			
				
					
						
							
							
								Max Kellermann 
							
						 
					 
					
						
						
							
						
						b9b02b4ff2 
					 
					
						
						
							
							event/PollBackend: use unordered_map::find() instead of operator[]  
						
						... 
						
						
						
						The latter creates a new object, but we know that the key already
exists. 
						
						
					 
					
						2020-10-30 16:25:41 +01:00