Max Kellermann
|
796956970e
|
net/StaticSocketAddress: pass SocketAddress by value to operator!=
|
2017-08-10 13:12:13 +02:00 |
Max Kellermann
|
c0020142da
|
net/StaticSocketAddress: add method SetMaxSize()
|
2017-08-10 13:12:13 +02:00 |
Max Kellermann
|
ee6eea95af
|
net/StaticSocketAddress: set a valid size in Clear()
|
2017-08-10 13:12:13 +02:00 |
Max Kellermann
|
a257504ba4
|
mixer/Plugin: pass AudioOutput to init()
Fix breakage from commit bea5681fd8
|
2017-08-10 13:07:36 +02:00 |
Max Kellermann
|
fb0dbce15b
|
system/EventFD: use class UniqueFileDescriptor
|
2017-08-10 12:14:56 +02:00 |
Max Kellermann
|
8333551331
|
system/SignalFD: use class UniqueFileDescriptor
|
2017-08-10 12:13:41 +02:00 |
Max Kellermann
|
292d794806
|
system/UniqueFileDescriptor: new auto-closing FileDescriptor wrapper
|
2017-08-10 12:01:17 +02:00 |
Max Kellermann
|
91ce76af9d
|
system/FileDescriptor: add methods EnableCloseOnExec(), DisableCloseOnExec()
|
2017-08-10 11:54:26 +02:00 |
Max Kellermann
|
33bd9e80bb
|
system/FileDescriptor: add method IsReadyForWriting()
|
2017-08-10 11:53:43 +02:00 |
Max Kellermann
|
d310f3e9b7
|
system/FileDescriptor: add method IsValid()
|
2017-08-10 11:52:22 +02:00 |
Max Kellermann
|
8c832f4c50
|
system/FileDescriptor: use std::exchange()
|
2017-08-10 09:55:11 +02:00 |
Max Kellermann
|
31bad5f7af
|
output/Interface: convert to abstract class
Yet another C-style vtable replaced with C++.
|
2017-08-10 09:01:41 +02:00 |
Max Kellermann
|
1cf7f3d87c
|
output/Solaris: use class FileDescriptor
|
2017-08-10 08:56:56 +02:00 |
Max Kellermann
|
9c9a9ccd5c
|
output/Interface: convert to class, make attributes private
|
2017-08-09 17:03:07 +02:00 |
Max Kellermann
|
7381236de6
|
output/Interface: remove unused attribute "parent"
|
2017-08-09 17:03:00 +02:00 |
Max Kellermann
|
fe9ffcb9d2
|
Merge branch 'v0.20.x'
|
2017-08-08 19:30:30 +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
|
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
|
33f67d418f
|
test/run_output: use AudioOutput::{Begin,Finish}Destroy()
|
2017-08-07 18:14:54 +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 |