aboutsummaryrefslogtreecommitdiffstats
path: root/src/output
diff options
context:
space:
mode:
Diffstat (limited to 'src/output')
-rw-r--r--src/output/plugins/FifoOutputPlugin.cxx25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/output/plugins/FifoOutputPlugin.cxx b/src/output/plugins/FifoOutputPlugin.cxx
index b8887e6e2..5956b708f 100644
--- a/src/output/plugins/FifoOutputPlugin.cxx
+++ b/src/output/plugins/FifoOutputPlugin.cxx
@@ -70,6 +70,9 @@ struct FifoOutput {
bool OpenFifo(Error &error);
void CloseFifo();
+ bool Open(AudioFormat &audio_format, Error &error);
+ void Close();
+
unsigned Delay() const;
size_t Play(const void *chunk, size_t size, Error &error);
void Cancel();
@@ -204,23 +207,17 @@ FifoOutput::Create(const ConfigBlock &block, Error &error)
return fd;
}
-static bool
-fifo_output_open(AudioOutput *ao, AudioFormat &audio_format,
- gcc_unused Error &error)
+bool
+FifoOutput::Open(AudioFormat &audio_format, gcc_unused Error &error)
{
- FifoOutput *fd = (FifoOutput *)ao;
-
- fd->timer = new Timer(audio_format);
-
+ timer = new Timer(audio_format);
return true;
}
-static void
-fifo_output_close(AudioOutput *ao)
+void
+FifoOutput::Close()
{
- FifoOutput *fd = (FifoOutput *)ao;
-
- delete fd->timer;
+ delete timer;
}
inline void
@@ -287,8 +284,8 @@ const struct AudioOutputPlugin fifo_output_plugin = {
&Wrapper::Finish,
nullptr,
nullptr,
- fifo_output_open,
- fifo_output_close,
+ &Wrapper::Open,
+ &Wrapper::Close,
&Wrapper::Delay,
nullptr,
&Wrapper::Play,