output/pipe: add static method Create()

This commit is contained in:
Max Kellermann 2014-12-27 18:56:23 +01:00
parent 0e28b53242
commit 5c0bc612fe
1 changed files with 14 additions and 6 deletions

View File

@ -39,6 +39,8 @@ struct PipeOutput {
bool Configure(const config_param &param, Error &error); bool Configure(const config_param &param, Error &error);
static AudioOutput *Create(const config_param &param, Error &error);
bool Open(AudioFormat &audio_format, Error &error); bool Open(AudioFormat &audio_format, Error &error);
void Close() { void Close() {
@ -67,17 +69,23 @@ PipeOutput::Configure(const config_param &param, Error &error)
return true; return true;
} }
static AudioOutput * inline AudioOutput *
pipe_output_init(const config_param &param, Error &error) PipeOutput::Create(const config_param &param, Error &error)
{ {
PipeOutput *pd = new PipeOutput(); PipeOutput *po = new PipeOutput();
if (!pd->Configure(param, error)) { if (!po->Configure(param, error)) {
delete pd; delete po;
return nullptr; return nullptr;
} }
return &pd->base; return &po->base;
}
static AudioOutput *
pipe_output_init(const config_param &param, Error &error)
{
return PipeOutput::Create(param, error);
} }
static void static void