Commit c17be5af authored by Max Kellermann's avatar Max Kellermann

test/run_encoder: use std::unique_ptr

parent b376536a
...@@ -29,6 +29,8 @@ ...@@ -29,6 +29,8 @@
#include "util/Error.hxx" #include "util/Error.hxx"
#include "Log.hxx" #include "Log.hxx"
#include <memory>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stddef.h> #include <stddef.h>
...@@ -65,7 +67,7 @@ int main(int argc, char **argv) ...@@ -65,7 +67,7 @@ int main(int argc, char **argv)
try { try {
Error error; Error error;
const auto p_encoder = encoder_init(*plugin, block, error); std::unique_ptr<PreparedEncoder> p_encoder(encoder_init(*plugin, block, error));
if (p_encoder == nullptr) { if (p_encoder == nullptr) {
LogError(error, "Failed to initialize encoder"); LogError(error, "Failed to initialize encoder");
return EXIT_FAILURE; return EXIT_FAILURE;
...@@ -81,7 +83,7 @@ int main(int argc, char **argv) ...@@ -81,7 +83,7 @@ int main(int argc, char **argv)
} }
} }
auto *encoder = p_encoder->Open(audio_format, error); std::unique_ptr<Encoder> encoder(p_encoder->Open(audio_format, error));
if (encoder == nullptr) { if (encoder == nullptr) {
LogError(error, "Failed to open encoder"); LogError(error, "Failed to open encoder");
return EXIT_FAILURE; return EXIT_FAILURE;
...@@ -110,9 +112,6 @@ int main(int argc, char **argv) ...@@ -110,9 +112,6 @@ int main(int argc, char **argv)
EncoderToOutputStream(os, *encoder); EncoderToOutputStream(os, *encoder);
delete encoder;
delete p_encoder;
return EXIT_SUCCESS; return EXIT_SUCCESS;
} catch (const std::exception &e) { } catch (const std::exception &e) {
LogError(e); LogError(e);
......
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
#include "util/Error.hxx" #include "util/Error.hxx"
#include "Log.hxx" #include "Log.hxx"
#include <memory>
#include <stddef.h> #include <stddef.h>
#include <unistd.h> #include <unistd.h>
...@@ -48,14 +50,16 @@ main(gcc_unused int argc, gcc_unused char **argv) ...@@ -48,14 +50,16 @@ main(gcc_unused int argc, gcc_unused char **argv)
ConfigBlock block; ConfigBlock block;
block.AddBlockParam("quality", "5.0", -1); block.AddBlockParam("quality", "5.0", -1);
const auto p_encoder = encoder_init(*plugin, block, IgnoreError()); std::unique_ptr<PreparedEncoder> p_encoder(encoder_init(*plugin, block,
IgnoreError()));
assert(p_encoder != nullptr); assert(p_encoder != nullptr);
try { try {
/* open the encoder */ /* open the encoder */
AudioFormat audio_format(44100, SampleFormat::S16, 2); AudioFormat audio_format(44100, SampleFormat::S16, 2);
auto encoder = p_encoder->Open(audio_format, IgnoreError()); std::unique_ptr<Encoder> encoder(p_encoder->Open(audio_format,
IgnoreError()));
assert(encoder != nullptr); assert(encoder != nullptr);
StdioOutputStream os(stdout); StdioOutputStream os(stdout);
...@@ -102,9 +106,6 @@ main(gcc_unused int argc, gcc_unused char **argv) ...@@ -102,9 +106,6 @@ main(gcc_unused int argc, gcc_unused char **argv)
EncoderToOutputStream(os, *encoder); EncoderToOutputStream(os, *encoder);
delete encoder;
delete p_encoder;
return EXIT_SUCCESS; return EXIT_SUCCESS;
} catch (const std::exception &e) { } catch (const std::exception &e) {
LogError(e); LogError(e);
......
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