Max Kellermann
|
7381236de6
|
output/Interface: remove unused attribute "parent"
|
2017-08-09 17:03:00 +02:00 |
|
Max Kellermann
|
bea5681fd8
|
output/Interface: define a new struct AudioOutput
Hide struct FilteredAudioOutput from the plugins, preparing for hiding
MPD's core internals.
|
2017-08-08 18:58:40 +02:00 |
|
Max Kellermann
|
e11229494e
|
output/Filtered: add method NeedFullyDefinedAudioFormat()
Avoid accessing FilteredAudioFormat attributes directly.
|
2017-08-08 18:57:59 +02:00 |
|
Max Kellermann
|
ccc0fcb5b7
|
output/Shout: move ConfigureShoutAudioInfo() call to Open()
Configure the AudioFormat after opening the encoder, because only now
we know the final format.
|
2017-08-08 18:56:14 +02:00 |
|
Max Kellermann
|
6e24381962
|
output/Shout: move code to ShoutSetAudioInfo()
|
2017-08-08 18:56:12 +02:00 |
|
Max Kellermann
|
3ab905644d
|
output/Shout: open the encoder first, then open connection
This order will be necessary for proper AudioFormat initialization,
because the encoder may change the format.
|
2017-08-08 18:53:04 +02:00 |
|
Max Kellermann
|
f46d545307
|
output/Shout: pass shout_t* to shout_connect()
|
2017-08-08 18:52:03 +02:00 |
|
Max Kellermann
|
8134b0073b
|
output/Shout: move write_page() into the struct
|
2017-08-08 18:47:37 +02:00 |
|
Max Kellermann
|
6ab19c7ef2
|
output/Shout: pass shout_t* to handle_shout_error()
|
2017-08-08 18:47:30 +02:00 |
|
Max Kellermann
|
d22361f7c7
|
output/Shout: remove unnecessary nullptr check
|
2017-08-08 18:47:02 +02:00 |
|
Max Kellermann
|
06c7e55188
|
output/Filtered: add methods SupportsEnableDisable(), SupportsPause()
|
2017-08-08 15:54:49 +02:00 |
|
Max Kellermann
|
b3eb8489f3
|
output/Filtered: add a few OutputPlugin method wrappers
|
2017-08-08 14:27:19 +02:00 |
|
Max Kellermann
|
5431fca99b
|
output/Filtered: add attribute "log_name"
|
2017-08-08 14:02:58 +02:00 |
|
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
|
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
|
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
|
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 |
|
Max Kellermann
|
7cb82fe8f3
|
output/Thread: move code to InternalClose()
|
2017-06-08 21:59:48 +02:00 |
|
Max Kellermann
|
0494779ecb
|
output/Thread: move software_mixer_set_filter() out of the "try" block
That function is "noexcept".
|
2017-06-08 21:49:41 +02:00 |
|
Max Kellermann
|
7467b85019
|
output/Thread: rename audio_format to in_audio_format
|
2017-06-08 13:20:55 +02:00 |
|
Max Kellermann
|
7dea615f74
|
output/{Source,Thread}: make the AudioFormat parameter const
|
2017-06-08 13:19:34 +02:00 |
|
Max Kellermann
|
3010d182fc
|
output/Internal: move "really_enabled" flag to class AudioOutputControl
|
2017-06-08 09:55:49 +02:00 |
|
Max Kellermann
|
a72a02f0f2
|
output/Thread: move Enable() call to InternalEnable()
|
2017-06-08 09:51:13 +02:00 |
|
Max Kellermann
|
614df96382
|
output/Thread: move Enable() call out of Open()
|
2017-06-08 09:50:34 +02:00 |
|
Max Kellermann
|
669d7a6feb
|
output/Thread: move Close() call out of Disable()
|
2017-06-08 09:34:24 +02:00 |
|
Max Kellermann
|
d600b937f1
|
output/Thread: move code to InternalDisable()
|
2017-06-08 09:32:07 +02:00 |
|
Max Kellermann
|
979f1b6c39
|
release v0.20.9
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlkz5jkQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEubuD/kBXMcV4XawqGNNtSHdrY8CxSL8wJMCMJQl
aMgRkKLPRml8Hj9FNNG9pjXBuT+qUgPX7t9gBEiT7c+sV3fHH40gUf1js5GIsEPm
BAVfvww5EhmQWWVhPTLk1iZ4jp6E96mDmIG1znwo7etSZHXU8RJfR7woBi3SPJ9f
OPcrimskNuWpAWeaEIKi/1Iwzy8d9VK9Ttb73gA3M5zSm7ioXzt3YClpwLRM8JU6
QeUJchy6VwXnygswjUNmbhPc3GsD2FyUZ4OtJ0hodnqqajfldBxhcHUnQk4zZULr
1nLSyOuA9bwLuFohH1T6HiY9z8PFzgqdIHvsjOJgZ4gQa69PVNjal2tUEUav9zFv
aK4LvTVPnIk+hqRbtLpV7/rPKuClrC9BO4oYdBGBDNY4hqVpvRA9obP1s00aOi+K
UhYqLqg7yeIEeTlUxFOhXJCKAEL69BuXT5ihJtDlB/dCUzv37sEch/4WDgs7uc+O
9kJYlElvozw57mbczsee/PCSnSWrLCq/qG/bNEUUQOTueWNuifh3PL62UXGgfbEH
01hJDyLr6ETSmWn7rjTfLJiHThX/EQQvOhs+35fbCyry65z4tFwrilGDmFVUWGPq
/6QEpY1D6q4fkoma/iWOZoTkfKewatAPGMGWoJaGhCnfQFz4VTFtS2bDtuUctQ16
jnXnPFxqBw==
=0SSp
-----END PGP SIGNATURE-----
Merge tag 'v0.20.9'
release v0.20.9
|
2017-06-04 12:57:05 +02:00 |
|