aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/run_encoder.cxx31
-rw-r--r--test/test_vorbis_encoder.cxx43
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 <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <unistd.h>
-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 <stddef.h>
#include <unistd.h>
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();