test/run_encoder: use EncoderToOutputStream()
This commit is contained in:
parent
bf59635280
commit
1caa41a623
@ -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();
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user