From 1caa41a623ccadb2f019f901f98c07e01ea0c9e2 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 14 Jan 2015 21:56:28 +0100 Subject: [PATCH] test/run_encoder: use EncoderToOutputStream() --- test/run_encoder.cxx | 31 +++++++++++++------------- test/test_vorbis_encoder.cxx | 43 ++++++++++++++++++++++-------------- 2 files changed, 42 insertions(+), 32 deletions(-) diff --git a/test/run_encoder.cxx b/test/run_encoder.cxx index 42d934dbd..8d8ec5164 100644 --- a/test/run_encoder.cxx +++ b/test/run_encoder.cxx @@ -21,29 +21,19 @@ #include "encoder/EncoderList.hxx" #include "encoder/EncoderPlugin.hxx" #include "encoder/EncoderInterface.hxx" +#include "encoder/ToOutputStream.hxx" #include "AudioFormat.hxx" #include "AudioParser.hxx" #include "config/ConfigData.hxx" +#include "fs/io/StdioOutputStream.hxx" #include "util/Error.hxx" #include "Log.hxx" -#include "stdbin.h" #include #include #include #include -static void -encoder_to_stdout(Encoder &encoder) -{ - size_t length; - static char buffer[32768]; - - while ((length = encoder_read(&encoder, buffer, sizeof(buffer))) > 0) { - gcc_unused ssize_t ignored = write(1, buffer, length); - } -} - int main(int argc, char **argv) { const char *encoder_name; @@ -95,7 +85,12 @@ int main(int argc, char **argv) return EXIT_FAILURE; } - encoder_to_stdout(*encoder); + StdioOutputStream os(stdout); + + if (!EncoderToOutputStream(os, *encoder, error)) { + LogError(error); + return EXIT_FAILURE; + } /* do it */ @@ -106,7 +101,10 @@ int main(int argc, char **argv) return EXIT_FAILURE; } - encoder_to_stdout(*encoder); + if (!EncoderToOutputStream(os, *encoder, error)) { + LogError(error); + return EXIT_FAILURE; + } } if (!encoder_end(encoder, error)) { @@ -114,7 +112,10 @@ int main(int argc, char **argv) return EXIT_FAILURE; } - encoder_to_stdout(*encoder); + if (!EncoderToOutputStream(os, *encoder, error)) { + LogError(error); + return EXIT_FAILURE; + } encoder->Close(); encoder->Dispose(); diff --git a/test/test_vorbis_encoder.cxx b/test/test_vorbis_encoder.cxx index 8e6b62739..ae1b2fdf2 100644 --- a/test/test_vorbis_encoder.cxx +++ b/test/test_vorbis_encoder.cxx @@ -21,29 +21,20 @@ #include "encoder/EncoderList.hxx" #include "encoder/EncoderPlugin.hxx" #include "encoder/EncoderInterface.hxx" +#include "encoder/ToOutputStream.hxx" #include "AudioFormat.hxx" #include "config/ConfigData.hxx" -#include "stdbin.h" +#include "fs/io/StdioOutputStream.hxx" #include "tag/Tag.hxx" #include "tag/TagBuilder.hxx" #include "util/Error.hxx" +#include "Log.hxx" #include #include static uint8_t zero[256]; -static void -encoder_to_stdout(Encoder &encoder) -{ - size_t length; - static char buffer[32768]; - - while ((length = encoder_read(&encoder, buffer, sizeof(buffer))) > 0) { - gcc_unused ssize_t ignored = write(1, buffer, length); - } -} - int main(gcc_unused int argc, gcc_unused char **argv) { @@ -66,21 +57,33 @@ main(gcc_unused int argc, gcc_unused char **argv) success = encoder->Open(audio_format, IgnoreError()); assert(success); - encoder_to_stdout(*encoder); + StdioOutputStream os(stdout); + + Error error; + if (!EncoderToOutputStream(os, *encoder, error)) { + LogError(error); + return EXIT_FAILURE; + } /* write a block of data */ success = encoder_write(encoder, zero, sizeof(zero), IgnoreError()); assert(success); - encoder_to_stdout(*encoder); + if (!EncoderToOutputStream(os, *encoder, error)) { + LogError(error); + return EXIT_FAILURE; + } /* write a tag */ success = encoder_pre_tag(encoder, IgnoreError()); assert(success); - encoder_to_stdout(*encoder); + if (!EncoderToOutputStream(os, *encoder, error)) { + LogError(error); + return EXIT_FAILURE; + } Tag tag; @@ -94,7 +97,10 @@ main(gcc_unused int argc, gcc_unused char **argv) success = encoder_tag(encoder, tag, IgnoreError()); assert(success); - encoder_to_stdout(*encoder); + if (!EncoderToOutputStream(os, *encoder, error)) { + LogError(error); + return EXIT_FAILURE; + } /* write another block of data */ @@ -106,7 +112,10 @@ main(gcc_unused int argc, gcc_unused char **argv) success = encoder_end(encoder, IgnoreError()); assert(success); - encoder_to_stdout(*encoder); + if (!EncoderToOutputStream(os, *encoder, error)) { + LogError(error); + return EXIT_FAILURE; + } encoder->Close(); encoder->Dispose();