diff options
Diffstat (limited to 'src/output/HttpdInternal.hxx')
-rw-r--r-- | src/output/HttpdInternal.hxx | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/output/HttpdInternal.hxx b/src/output/HttpdInternal.hxx index b76493a44..ba8c9a5b6 100644 --- a/src/output/HttpdInternal.hxx +++ b/src/output/HttpdInternal.hxx @@ -129,8 +129,27 @@ struct HttpdOutput final : private ServerSocket { HttpdOutput(EventLoop &_loop); ~HttpdOutput(); + bool Init(const config_param ¶m, Error &error); + + void Finish() { + ao_base_finish(&base); + } + bool Configure(const config_param ¶m, Error &error); + audio_output *InitAndConfigure(const config_param ¶m, + Error &error) { + if (!Init(param, error)) + return nullptr; + + if (!Configure(param, error)) { + Finish(); + return nullptr; + } + + return &base; + } + bool Bind(Error &error); void Unbind(); |