Commit 3ab90564 authored by Max Kellermann's avatar Max Kellermann

output/Shout: open the encoder first, then open connection

This order will be necessary for proper AudioFormat initialization, because the encoder may change the format.
parent f46d5453
...@@ -348,19 +348,13 @@ ShoutOpen(shout_t *shout_conn) ...@@ -348,19 +348,13 @@ ShoutOpen(shout_t *shout_conn)
void void
ShoutOutput::Open(AudioFormat &audio_format) ShoutOutput::Open(AudioFormat &audio_format)
{ {
ShoutOpen(shout_conn); encoder = prepared_encoder->Open(audio_format);
try { try {
encoder = prepared_encoder->Open(audio_format); ShoutOpen(shout_conn);
WritePage();
try { } catch (...) {
WritePage(); delete encoder;
} catch (const std::runtime_error &) {
delete encoder;
throw;
}
} catch (const std::runtime_error &) {
shout_close(shout_conn);
throw; throw;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment