test/run_encoder: use std::unique_ptr

This commit is contained in:
Max Kellermann 2016-05-04 18:46:06 +02:00
parent b376536a3b
commit c17be5af6b
2 changed files with 10 additions and 10 deletions

View File

@ -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)
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)
} }
} }
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)
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);

View File

@ -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)
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)
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);