diff options
Diffstat (limited to 'src/output/plugins/RecorderOutputPlugin.cxx')
-rw-r--r-- | src/output/plugins/RecorderOutputPlugin.cxx | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/src/output/plugins/RecorderOutputPlugin.cxx b/src/output/plugins/RecorderOutputPlugin.cxx index 5a082538c..3a25ada2d 100644 --- a/src/output/plugins/RecorderOutputPlugin.cxx +++ b/src/output/plugins/RecorderOutputPlugin.cxx @@ -20,6 +20,7 @@ #include "config.h" #include "RecorderOutputPlugin.hxx" #include "../OutputAPI.hxx" +#include "../Wrapper.hxx" #include "encoder/EncoderPlugin.hxx" #include "encoder/EncoderList.hxx" #include "config/ConfigError.hxx" @@ -213,16 +214,6 @@ RecorderOutput::Open(AudioFormat &audio_format, Error &error) return true; } -static bool -recorder_output_open(AudioOutput *ao, - AudioFormat &audio_format, - Error &error) -{ - RecorderOutput &recorder = *(RecorderOutput *)ao; - - return recorder.Open(audio_format, error); -} - inline void RecorderOutput::Close() { @@ -238,14 +229,6 @@ RecorderOutput::Close() close(fd); } -static void -recorder_output_close(AudioOutput *ao) -{ - RecorderOutput &recorder = *(RecorderOutput *)ao; - - recorder.Close(); -} - inline void RecorderOutput::SendTag(const Tag &tag) { @@ -275,6 +258,8 @@ recorder_output_play(AudioOutput *ao, const void *chunk, size_t size, ? size : 0; } +typedef AudioOutputWrapper<RecorderOutput> Wrapper; + const struct AudioOutputPlugin recorder_output_plugin = { "recorder", nullptr, @@ -282,8 +267,8 @@ const struct AudioOutputPlugin recorder_output_plugin = { recorder_output_finish, nullptr, nullptr, - recorder_output_open, - recorder_output_close, + &Wrapper::Open, + &Wrapper::Close, nullptr, recorder_output_send_tag, recorder_output_play, |