Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
8fd9d919
Commit
8fd9d919
authored
Jan 25, 2017
by
Max Kellermann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
output/Plugin: pass EventLoop& to init()
Eliminate dependency on io_thread_get().
parent
d3f35dab
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
58 additions
and
42 deletions
+58
-42
Init.cxx
src/output/Init.cxx
+1
-1
OutputPlugin.cxx
src/output/OutputPlugin.cxx
+3
-2
OutputPlugin.hxx
src/output/OutputPlugin.hxx
+4
-2
Wrapper.hxx
src/output/Wrapper.hxx
+3
-2
AlsaOutputPlugin.cxx
src/output/plugins/AlsaOutputPlugin.cxx
+3
-2
AoOutputPlugin.cxx
src/output/plugins/AoOutputPlugin.cxx
+1
-1
FifoOutputPlugin.cxx
src/output/plugins/FifoOutputPlugin.cxx
+3
-2
HaikuOutputPlugin.cxx
src/output/plugins/HaikuOutputPlugin.cxx
+3
-2
JackOutputPlugin.cxx
src/output/plugins/JackOutputPlugin.cxx
+1
-1
NullOutputPlugin.cxx
src/output/plugins/NullOutputPlugin.cxx
+3
-2
OSXOutputPlugin.cxx
src/output/plugins/OSXOutputPlugin.cxx
+1
-1
OpenALOutputPlugin.cxx
src/output/plugins/OpenALOutputPlugin.cxx
+3
-2
OssOutputPlugin.cxx
src/output/plugins/OssOutputPlugin.cxx
+3
-2
PipeOutputPlugin.cxx
src/output/plugins/PipeOutputPlugin.cxx
+3
-2
PulseOutputPlugin.cxx
src/output/plugins/PulseOutputPlugin.cxx
+3
-2
RecorderOutputPlugin.cxx
src/output/plugins/RecorderOutputPlugin.cxx
+3
-2
RoarOutputPlugin.cxx
src/output/plugins/RoarOutputPlugin.cxx
+1
-1
ShoutOutputPlugin.cxx
src/output/plugins/ShoutOutputPlugin.cxx
+3
-2
SndioOutputPlugin.cxx
src/output/plugins/SndioOutputPlugin.cxx
+3
-2
SolarisOutputPlugin.cxx
src/output/plugins/SolarisOutputPlugin.cxx
+1
-1
WinmmOutputPlugin.cxx
src/output/plugins/WinmmOutputPlugin.cxx
+1
-1
HttpdInternal.hxx
src/output/plugins/httpd/HttpdInternal.hxx
+2
-1
HttpdOutputPlugin.cxx
src/output/plugins/httpd/HttpdOutputPlugin.cxx
+3
-4
SlesOutputPlugin.cxx
src/output/plugins/sles/SlesOutputPlugin.cxx
+3
-2
No files found.
src/output/Init.cxx
View file @
8fd9d919
...
...
@@ -295,7 +295,7 @@ audio_output_new(EventLoop &event_loop,
plugin
->
name
);
}
AudioOutput
*
ao
=
ao_plugin_init
(
*
plugin
,
block
);
AudioOutput
*
ao
=
ao_plugin_init
(
event_loop
,
*
plugin
,
block
);
assert
(
ao
!=
nullptr
);
try
{
...
...
src/output/OutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -22,12 +22,13 @@
#include "Internal.hxx"
AudioOutput
*
ao_plugin_init
(
const
AudioOutputPlugin
&
plugin
,
ao_plugin_init
(
EventLoop
&
event_loop
,
const
AudioOutputPlugin
&
plugin
,
const
ConfigBlock
&
block
)
{
assert
(
plugin
.
init
!=
nullptr
);
return
plugin
.
init
(
block
);
return
plugin
.
init
(
event_loop
,
block
);
}
void
...
...
src/output/OutputPlugin.hxx
View file @
8fd9d919
...
...
@@ -31,6 +31,7 @@ struct AudioFormat;
struct
Tag
;
struct
AudioOutput
;
struct
MixerPlugin
;
class
EventLoop
;
/**
* A plugin which controls an audio output device.
...
...
@@ -56,7 +57,7 @@ struct AudioOutputPlugin {
* @param param the configuration section, or nullptr if there is
* no configuration
*/
AudioOutput
*
(
*
init
)(
const
ConfigBlock
&
block
);
AudioOutput
*
(
*
init
)(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
/**
* Free resources allocated by this device.
...
...
@@ -162,7 +163,8 @@ ao_plugin_test_default_device(const AudioOutputPlugin *plugin)
gcc_malloc
AudioOutput
*
ao_plugin_init
(
const
AudioOutputPlugin
&
plugin
,
ao_plugin_init
(
EventLoop
&
event_loop
,
const
AudioOutputPlugin
&
plugin
,
const
ConfigBlock
&
block
);
void
...
...
src/output/Wrapper.hxx
View file @
8fd9d919
...
...
@@ -33,8 +33,9 @@ struct AudioOutputWrapper {
return
ContainerCast
(
ao
,
&
T
::
base
);
}
static
AudioOutput
*
Init
(
const
ConfigBlock
&
block
)
{
T
*
t
=
T
::
Create
(
block
);
static
AudioOutput
*
Init
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
)
{
T
*
t
=
T
::
Create
(
event_loop
,
block
);
return
&
t
->
base
;
}
...
...
src/output/plugins/AlsaOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -136,7 +136,8 @@ public:
return
device
.
empty
()
?
default_device
:
device
.
c_str
();
}
static
AlsaOutput
*
Create
(
const
ConfigBlock
&
block
);
static
AlsaOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Enable
();
void
Disable
();
...
...
@@ -207,7 +208,7 @@ AlsaOutput::AlsaOutput(const ConfigBlock &block)
}
inline
AlsaOutput
*
AlsaOutput
::
Create
(
const
ConfigBlock
&
block
)
AlsaOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
AlsaOutput
(
block
);
}
...
...
src/output/plugins/AoOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -51,7 +51,7 @@ class AoOutput {
~
AoOutput
();
public
:
static
AoOutput
*
Create
(
const
ConfigBlock
&
block
)
{
static
AoOutput
*
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
AoOutput
(
block
);
}
...
...
src/output/plugins/FifoOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -54,7 +54,8 @@ public:
CloseFifo
();
}
static
FifoOutput
*
Create
(
const
ConfigBlock
&
block
);
static
FifoOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Create
();
void
Check
();
...
...
@@ -169,7 +170,7 @@ try {
}
inline
FifoOutput
*
FifoOutput
::
Create
(
const
ConfigBlock
&
block
)
FifoOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
FifoOutput
(
block
);
}
...
...
src/output/plugins/HaikuOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -71,7 +71,8 @@ public:
~
HaikuOutput
();
static
HaikuOutput
*
Create
(
const
ConfigBlock
&
block
);
static
HaikuOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Open
(
AudioFormat
&
audio_format
);
void
Close
();
...
...
@@ -119,7 +120,7 @@ haiku_test_default_device(void)
}
inline
HaikuOutput
*
HaikuOutput
::
Create
(
const
ConfigBlock
&
block
)
HaikuOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
initialize_application
();
...
...
src/output/plugins/JackOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -444,7 +444,7 @@ JackOutput::Disable()
}
static
AudioOutput
*
mpd_jack_init
(
const
ConfigBlock
&
block
)
mpd_jack_init
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
jack_set_error_function
(
mpd_jack_error
);
...
...
src/output/plugins/NullOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -37,7 +37,8 @@ public:
:
base
(
null_output_plugin
,
block
),
sync
(
block
.
GetBlockValue
(
"sync"
,
true
))
{}
static
NullOutput
*
Create
(
const
ConfigBlock
&
block
);
static
NullOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Open
(
AudioFormat
&
audio_format
)
{
if
(
sync
)
...
...
@@ -72,7 +73,7 @@ public:
};
inline
NullOutput
*
NullOutput
::
Create
(
const
ConfigBlock
&
block
)
NullOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
NullOutput
(
block
);
}
...
...
src/output/plugins/OSXOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -104,7 +104,7 @@ OSXOutput::OSXOutput(const ConfigBlock &block)
}
static
AudioOutput
*
osx_output_init
(
const
ConfigBlock
&
block
)
osx_output_init
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
OSXOutput
*
oo
=
new
OSXOutput
(
block
);
...
...
src/output/plugins/OpenALOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -52,7 +52,8 @@ class OpenALOutput {
OpenALOutput
(
const
ConfigBlock
&
block
);
static
OpenALOutput
*
Create
(
const
ConfigBlock
&
block
);
static
OpenALOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Open
(
AudioFormat
&
audio_format
);
void
Close
();
...
...
@@ -146,7 +147,7 @@ OpenALOutput::OpenALOutput(const ConfigBlock &block)
}
inline
OpenALOutput
*
OpenALOutput
::
Create
(
const
ConfigBlock
&
block
)
OpenALOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
OpenALOutput
(
block
);
}
...
...
src/output/plugins/OssOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -89,7 +89,8 @@ public:
:
base
(
oss_output_plugin
,
block
),
fd
(
-
1
),
device
(
_device
)
{}
static
OssOutput
*
Create
(
const
ConfigBlock
&
block
);
static
OssOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
#ifdef AFMT_S24_PACKED
void
Enable
()
{
...
...
@@ -226,7 +227,7 @@ oss_open_default()
}
inline
OssOutput
*
OssOutput
::
Create
(
const
ConfigBlock
&
block
)
OssOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
const
char
*
device
=
block
.
GetBlockValue
(
"device"
);
if
(
device
!=
nullptr
)
...
...
src/output/plugins/PipeOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -39,7 +39,8 @@ class PipeOutput {
PipeOutput
(
const
ConfigBlock
&
block
);
public
:
static
PipeOutput
*
Create
(
const
ConfigBlock
&
block
);
static
PipeOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Open
(
AudioFormat
&
audio_format
);
...
...
@@ -59,7 +60,7 @@ PipeOutput::PipeOutput(const ConfigBlock &block)
}
inline
PipeOutput
*
PipeOutput
::
Create
(
const
ConfigBlock
&
block
)
PipeOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
PipeOutput
(
block
);
}
...
...
src/output/plugins/PulseOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -93,7 +93,8 @@ public:
gcc_const
static
bool
TestDefaultDevice
();
static
PulseOutput
*
Create
(
const
ConfigBlock
&
block
);
static
PulseOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Enable
();
void
Disable
();
...
...
@@ -415,7 +416,7 @@ PulseOutput::SetupContext()
}
PulseOutput
*
PulseOutput
::
Create
(
const
ConfigBlock
&
block
)
PulseOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
PulseOutput
(
block
);
}
...
...
src/output/plugins/RecorderOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -81,7 +81,8 @@ class RecorderOutput {
delete
prepared_encoder
;
}
static
RecorderOutput
*
Create
(
const
ConfigBlock
&
block
);
static
RecorderOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Open
(
AudioFormat
&
audio_format
);
void
Close
();
...
...
@@ -141,7 +142,7 @@ RecorderOutput::RecorderOutput(const ConfigBlock &block)
}
RecorderOutput
*
RecorderOutput
::
Create
(
const
ConfigBlock
&
block
)
RecorderOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
RecorderOutput
(
block
);
}
...
...
src/output/plugins/RoarOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -58,7 +58,7 @@ public:
return
&
base
;
}
static
RoarOutput
*
Create
(
const
ConfigBlock
&
block
)
{
static
RoarOutput
*
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
RoarOutput
(
block
);
}
...
...
src/output/plugins/ShoutOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -58,7 +58,8 @@ struct ShoutOutput final {
explicit
ShoutOutput
(
const
ConfigBlock
&
block
);
~
ShoutOutput
();
static
ShoutOutput
*
Create
(
const
ConfigBlock
&
block
);
static
ShoutOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Open
(
AudioFormat
&
audio_format
);
void
Close
();
...
...
@@ -246,7 +247,7 @@ ShoutOutput::~ShoutOutput()
}
ShoutOutput
*
ShoutOutput
::
Create
(
const
ConfigBlock
&
block
)
ShoutOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
if
(
shout_init_count
==
0
)
shout_init
();
...
...
src/output/plugins/SndioOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -47,7 +47,8 @@ class SndioOutput {
public
:
SndioOutput
(
const
ConfigBlock
&
block
);
static
SndioOutput
*
Create
(
const
ConfigBlock
&
block
);
static
SndioOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Open
(
AudioFormat
&
audio_format
);
void
Close
();
...
...
@@ -64,7 +65,7 @@ SndioOutput::SndioOutput(const ConfigBlock &block)
}
SndioOutput
*
SndioOutput
::
Create
(
const
ConfigBlock
&
block
)
SndioOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
SndioOutput
(
block
);
}
...
...
src/output/plugins/SolarisOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -65,7 +65,7 @@ class SolarisOutput {
device
(
block
.
GetBlockValue
(
"device"
,
"/dev/audio"
))
{}
public
:
static
SolarisOutput
*
Create
(
const
ConfigBlock
&
block
)
{
static
SolarisOutput
*
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
SolarisOutput
(
block
);
}
...
...
src/output/plugins/WinmmOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -63,7 +63,7 @@ public:
return
handle
;
}
static
WinmmOutput
*
Create
(
const
ConfigBlock
&
block
)
{
static
WinmmOutput
*
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
WinmmOutput
(
block
);
}
...
...
src/output/plugins/httpd/HttpdInternal.hxx
View file @
8fd9d919
...
...
@@ -155,7 +155,8 @@ public:
HttpdOutput
(
EventLoop
&
_loop
,
const
ConfigBlock
&
block
);
~
HttpdOutput
();
static
HttpdOutput
*
Create
(
const
ConfigBlock
&
block
);
static
HttpdOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
#if CLANG_OR_GCC_VERSION(4,7)
constexpr
...
...
src/output/plugins/httpd/HttpdOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -30,7 +30,6 @@
#include "Page.hxx"
#include "IcyMetaDataServer.hxx"
#include "system/fd_util.h"
#include "IOThread.hxx"
#include "event/Call.hxx"
#include "util/RuntimeError.hxx"
#include "util/Domain.hxx"
...
...
@@ -118,9 +117,9 @@ HttpdOutput::Unbind()
}
HttpdOutput
*
HttpdOutput
::
Create
(
const
ConfigBlock
&
block
)
HttpdOutput
::
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
)
{
return
new
HttpdOutput
(
io_thread_get
()
,
block
);
return
new
HttpdOutput
(
event_loop
,
block
);
}
/**
...
...
@@ -466,7 +465,7 @@ HttpdOutput::CancelAllClients()
void
HttpdOutput
::
Cancel
()
{
BlockingCall
(
io_thread_get
(),
[
this
](){
BlockingCall
(
GetEventLoop
(),
[
this
](){
CancelAllClients
();
});
}
...
...
src/output/plugins/sles/SlesOutputPlugin.cxx
View file @
8fd9d919
...
...
@@ -91,7 +91,8 @@ public:
return
&
base
;
}
static
SlesOutput
*
Create
(
const
ConfigBlock
&
block
);
static
SlesOutput
*
Create
(
EventLoop
&
event_loop
,
const
ConfigBlock
&
block
);
void
Open
(
AudioFormat
&
audio_format
);
void
Close
();
...
...
@@ -413,7 +414,7 @@ sles_test_default_device()
}
inline
SlesOutput
*
SlesOutput
::
Create
(
const
ConfigBlock
&
block
)
SlesOutput
::
Create
(
EventLoop
&
,
const
ConfigBlock
&
block
)
{
return
new
SlesOutput
(
block
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment