aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/output/Wrapper.hxx6
-rw-r--r--src/output/plugins/RecorderOutputPlugin.cxx10
2 files changed, 7 insertions, 9 deletions
diff --git a/src/output/Wrapper.hxx b/src/output/Wrapper.hxx
index f4184440f..e6af29634 100644
--- a/src/output/Wrapper.hxx
+++ b/src/output/Wrapper.hxx
@@ -67,6 +67,12 @@ struct AudioOutputWrapper {
return t.Delay();
}
+ gcc_pure
+ static void SendTag(AudioOutput *ao, const Tag &tag) {
+ T &t = Cast(*ao);
+ t.SendTag(tag);
+ }
+
static size_t Play(AudioOutput *ao, const void *chunk, size_t size,
Error &error) {
T &t = Cast(*ao);
diff --git a/src/output/plugins/RecorderOutputPlugin.cxx b/src/output/plugins/RecorderOutputPlugin.cxx
index aedd54707..8f5379d74 100644
--- a/src/output/plugins/RecorderOutputPlugin.cxx
+++ b/src/output/plugins/RecorderOutputPlugin.cxx
@@ -227,14 +227,6 @@ RecorderOutput::SendTag(const Tag &tag)
LogError(error);
}
-static void
-recorder_output_send_tag(AudioOutput *ao, const Tag &tag)
-{
- RecorderOutput &recorder = *(RecorderOutput *)ao;
-
- recorder.SendTag(tag);
-}
-
inline size_t
RecorderOutput::Play(const void *chunk, size_t size, Error &error)
{
@@ -255,7 +247,7 @@ const struct AudioOutputPlugin recorder_output_plugin = {
&Wrapper::Open,
&Wrapper::Close,
nullptr,
- recorder_output_send_tag,
+ &Wrapper::SendTag,
&Wrapper::Play,
nullptr,
nullptr,