Max Kellermann
							
						 
					 | 
					
						
						
							
						
						47c9d6ac64
					 | 
					
						
						
							
							output/Internal: rename source to Filtered.cxx
						
						
						
						
						
						
					 | 
					
						2017-08-07 21:50:13 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						d0157af13e
					 | 
					
						
						
							
							filter/Internal: rename struct AudioOutput to FilteredAudioOutput
						
						
						
						
						
						
						
						Prepare to add an abstract class AudioOutput, to be implemented by
plugins, to get rid of the C-style vtable. 
						
						
					 | 
					
						2017-08-07 18:47:39 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						fc04620519
					 | 
					
						
						
							
							output/Internal: move code to ConfigureConvertFilter()
						
						
						
						
						
						
					 | 
					
						2017-08-07 18:42:10 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						d4ee165253
					 | 
					
						
						
							
							output/Thread: move OpenSoftwareMixer() to the end
						
						
						
						
						
						
						
						This call cannot fail, but needs cleanup if others fail.  By moving it
to the end, we eliminate some cleanup. 
						
						
					 | 
					
						2017-08-07 18:42:09 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						4f7f577a57
					 | 
					
						
						
							
							output/Internal: add OpenSoftwareMixer()
						
						
						
						
						
						
						
						Moved code from AudioOutputControl::InternalOpen2(). 
						
						
					 | 
					
						2017-08-07 18:33:07 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						612def5c11
					 | 
					
						
						
							
							output/Internal: rename CloseFilter() to CloseSoftwareMixer()
						
						
						
						
						
						
					 | 
					
						2017-08-07 18:32:43 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						704825be96
					 | 
					
						
						
							
							mixer/Software: include cleanup
						
						
						
						
						
						
					 | 
					
						2017-08-07 18:31:11 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						b8be7ec90e
					 | 
					
						
						
							
							filter/Normalize: add normalize_filter_prepare()
						
						
						
						
						
						
					 | 
					
						2017-08-07 18:28:52 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						a3d71f4b91
					 | 
					
						
						
							
							filter/Convert: add convert_filter_prepare()
						
						
						
						
						
						
					 | 
					
						2017-08-07 18:27:00 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						9250819b75
					 | 
					
						
						
							
							filter/Volume: add volume_filter_prepare()
						
						
						
						
						
						
						
						Circumvent filter_new() with a fake ConfigBlock. 
						
						
					 | 
					
						2017-08-07 18:23:13 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						04738636ca
					 | 
					
						
						
							
							output/Finish: fold internal function into FinishDestroy()
						
						
						
						
						
						
					 | 
					
						2017-08-07 18:15:15 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						07d1b3780d
					 | 
					
						
						
							
							output/Control: move two AudioOutput methods to Finish.cxx
						
						
						
						
						
						
					 | 
					
						2017-08-07 18:13:57 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						27d68d8fdd
					 | 
					
						
						
							
							output/Internal: move the Mutex to struct AudioOutputControl
						
						
						
						
						
						
						
						struct AudioOutput should not know or care about multi-threading. 
						
						
					 | 
					
						2017-08-07 17:44:46 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						546b773b21
					 | 
					
						
						
							
							output/Internal: remove mutex code from Close()
						
						
						
						
						
						
					 | 
					
						2017-08-07 17:43:58 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						15dcaeda0f
					 | 
					
						
						
							
							output/Internal: remove mutex code from BeginPause(), IteratePause()
						
						
						
						
						
						
					 | 
					
						2017-08-07 17:40:40 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						8f42ba13ef
					 | 
					
						
						
							
							output/Internal: simplify "return" statements in IteratePause()
						
						
						
						
						
						
					 | 
					
						2017-08-07 17:40:13 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						5990017d51
					 | 
					
						
						
							
							output/Internal: remove mutex code from Enable() and Disable()
						
						
						
						
						
						
					 | 
					
						2017-08-07 17:39:20 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						3197c0fd7d
					 | 
					
						
						
							
							output/Thread: move code to InternalCloseOutput()
						
						
						
						
						
						
					 | 
					
						2017-08-07 17:35:43 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						4580c685f1
					 | 
					
						
						
							
							output/Thread: unlock the mutex for several AudioOutput calls
						
						
						
						
						
						
					 | 
					
						2017-08-07 17:08:49 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						67232453d4
					 | 
					
						
						
							
							output/Control: more locking information in API docs
						
						
						
						
						
						
					 | 
					
						2017-08-07 16:56:41 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						b4cce80727
					 | 
					
						
						
							
							output/Thread: move code to InternalClose()
						
						
						
						
						
						
					 | 
					
						2017-08-07 16:34:29 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						89a2e5ded3
					 | 
					
						
						
							
							output/Thread: rename InternalClose() to InternalCheckClose()
						
						
						
						
						
						
					 | 
					
						2017-08-07 16:33:20 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						9d6b4f46d4
					 | 
					
						
						
							
							output/Thread: move AudioOutput methods to Internal.cxx
						
						
						
						
						
						
					 | 
					
						2017-08-07 16:26:50 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						a4019cb6aa
					 | 
					
						
						
							
							util/StringBuffer: use std::array::const_iterator
						
						
						
						
						
						
					 | 
					
						2017-08-07 16:18:43 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						b0703b92c3
					 | 
					
						
						
							
							util/FormatString: pass the allocated buffer to AllocatedString::Donate()
						
						
						
						
						
						
						
						.. and not the stack buffer.  This made the AllocatedString destructor
crash.
Closes #52 
						
						
					 | 
					
						2017-08-03 00:25:30 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						d29bdf3e81
					 | 
					
						
						
							
							Merge branch 'v0.20.x'
						
						
						
						
						
						
					 | 
					
						2017-07-31 13:50:14 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						dd9fd3d8a7
					 | 
					
						
						
							
							tag/Aiff: the FORM chunk size is big-endian
						
						
						
						
						
						
						
						Was broken by commit 8a86460b8f
Closes #87 
						
						
					 | 
					
						2017-07-31 13:46:09 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Matthew Leon
							
						 
					 | 
					
						
						
							
						
						4c0404c70d
					 | 
					
						
						
							
							Check for MusicBrainz id3v2 tags in ffmpeg.
						
						
						
						
						
						
						
						Addresses #82.
Previously, the ffmpeg decoder only checked for the "generic"
MusicBrainz metadata keys used in other metadata container formats. 
						
						
					 | 
					
						2017-07-20 08:28:14 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Matthew Leon
							
						 
					 | 
					
						
						
							
						
						573a413ee1
					 | 
					
						
						
							
							move MusicBrainz id3v2 tags to separate file
						
						
						
						
						
						
						
						We will reuse these tags elsewhere. 
						
						
					 | 
					
						2017-07-20 08:26:29 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						501a4af914
					 | 
					
						
						
							
							util/StringUtil: move strip functions to StringStrip.cxx
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:20:02 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						dad7d7e798
					 | 
					
						
						
							
							util/TruncateString: rename CopyString() to CopyTruncateString()
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:15:58 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						4b94ae8040
					 | 
					
						
						
							
							util/StringUtil: move CopyString() to TruncateString.cxx
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:11:34 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						b04679b429
					 | 
					
						
						
							
							util/WritableBuffer: add method MoveFront()
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:10:59 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						19358d1c42
					 | 
					
						
						
							
							util/Exception: add more utility functions
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:08:26 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						8679074be7
					 | 
					
						
						
							
							util/Exception: move code to AppendNestedMessage()
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:07:43 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						ba09e22c30
					 | 
					
						
						
							
							util/Exception: add GetFullMessage(std::exception)
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:07:41 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						6515b9727d
					 | 
					
						
						
							
							util/Exception: catch std::nested_exception
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:07:40 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						4af8e5bdb5
					 | 
					
						
						
							
							util/Exception: include cleanup
						
						
						
						
						
						
					 | 
					
						2017-07-05 17:07:39 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						2db8cf477b
					 | 
					
						
						
							
							util/Exception: add "fallback" and "separator" parameters
						
						
						
						
						
						
					 | 
					
						2017-07-05 16:59:40 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						3cfefa53f7
					 | 
					
						
						
							
							util/Exception: rename FullMessage() to GetFullMessage()
						
						
						
						
						
						
					 | 
					
						2017-07-05 12:25:55 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						bce89feb13
					 | 
					
						
						
							
							util/Manual: drop prefix from include guard
						
						
						
						
						
						
					 | 
					
						2017-07-05 12:25:32 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						88f5220acf
					 | 
					
						
						
							
							util/Manual: drop support for gcc 4.6
						
						
						
						
						
						
					 | 
					
						2017-07-05 12:25:20 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						3e87ac75a1
					 | 
					
						
						
							
							util/Manual: use C++11 initializer
						
						
						
						
						
						
					 | 
					
						2017-07-05 12:12:41 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						9237f2a80c
					 | 
					
						
						
							
							util/{Const,Writable}Buffer: add array constructor
						
						
						
						
						
						
					 | 
					
						2017-07-05 12:09:27 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						61aca389c4
					 | 
					
						
						
							
							util/{Const,Writable}Buffer: add typedef value_type
						
						
						
						
						
						
					 | 
					
						2017-07-05 12:08:34 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						80438c4876
					 | 
					
						
						
							
							util/BindMethod: add BIND_FUNCTION()
						
						
						
						
						
						
					 | 
					
						2017-07-05 12:04:29 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						70ac4fa96b
					 | 
					
						
						
							
							util/AllocatedString: implement AllocatedString<wchar_t>::Duplicate()
						
						
						
						
						
						
					 | 
					
						2017-07-05 10:26:39 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						6e2b348758
					 | 
					
						
						
							
							output/Internal: move the "open" flag to struct AudioOutputControl
						
						
						
						
						
						
					 | 
					
						2017-06-15 22:52:46 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						613dd67784
					 | 
					
						
						
							
							output/Internal: move the AudioOutputSource to struct AudioOutputControl
						
						
						
						
						
						
					 | 
					
						2017-06-08 22:13:47 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Max Kellermann
							
						 
					 | 
					
						
						
							
						
						58683f02ec
					 | 
					
						
						
							
							output/Thread: move the AudioOutputSource::Open() call to InternalOpen()
						
						
						
						
						
						
						
						Prepare for moving the AudioOutputSource to class AudioOutputControl. 
						
						
					 | 
					
						2017-06-08 22:08:01 +02:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 |