test/run_encoder: use EncoderToOutputStream()
This commit is contained in:
		| @@ -21,29 +21,19 @@ | |||||||
| #include "encoder/EncoderList.hxx" | #include "encoder/EncoderList.hxx" | ||||||
| #include "encoder/EncoderPlugin.hxx" | #include "encoder/EncoderPlugin.hxx" | ||||||
| #include "encoder/EncoderInterface.hxx" | #include "encoder/EncoderInterface.hxx" | ||||||
|  | #include "encoder/ToOutputStream.hxx" | ||||||
| #include "AudioFormat.hxx" | #include "AudioFormat.hxx" | ||||||
| #include "AudioParser.hxx" | #include "AudioParser.hxx" | ||||||
| #include "config/ConfigData.hxx" | #include "config/ConfigData.hxx" | ||||||
|  | #include "fs/io/StdioOutputStream.hxx" | ||||||
| #include "util/Error.hxx" | #include "util/Error.hxx" | ||||||
| #include "Log.hxx" | #include "Log.hxx" | ||||||
| #include "stdbin.h" |  | ||||||
|  |  | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| #include <stdlib.h> | #include <stdlib.h> | ||||||
| #include <stddef.h> | #include <stddef.h> | ||||||
| #include <unistd.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) | int main(int argc, char **argv) | ||||||
| { | { | ||||||
| 	const char *encoder_name; | 	const char *encoder_name; | ||||||
| @@ -95,7 +85,12 @@ int main(int argc, char **argv) | |||||||
| 		return EXIT_FAILURE; | 		return EXIT_FAILURE; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	encoder_to_stdout(*encoder); | 	StdioOutputStream os(stdout); | ||||||
|  |  | ||||||
|  | 	if (!EncoderToOutputStream(os, *encoder, error)) { | ||||||
|  | 		LogError(error); | ||||||
|  | 		return EXIT_FAILURE; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	/* do it */ | 	/* do it */ | ||||||
|  |  | ||||||
| @@ -106,7 +101,10 @@ int main(int argc, char **argv) | |||||||
| 			return EXIT_FAILURE; | 			return EXIT_FAILURE; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		encoder_to_stdout(*encoder); | 		if (!EncoderToOutputStream(os, *encoder, error)) { | ||||||
|  | 			LogError(error); | ||||||
|  | 			return EXIT_FAILURE; | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if (!encoder_end(encoder, error)) { | 	if (!encoder_end(encoder, error)) { | ||||||
| @@ -114,7 +112,10 @@ int main(int argc, char **argv) | |||||||
| 		return EXIT_FAILURE; | 		return EXIT_FAILURE; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	encoder_to_stdout(*encoder); | 	if (!EncoderToOutputStream(os, *encoder, error)) { | ||||||
|  | 		LogError(error); | ||||||
|  | 		return EXIT_FAILURE; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	encoder->Close(); | 	encoder->Close(); | ||||||
| 	encoder->Dispose(); | 	encoder->Dispose(); | ||||||
|   | |||||||
| @@ -21,29 +21,20 @@ | |||||||
| #include "encoder/EncoderList.hxx" | #include "encoder/EncoderList.hxx" | ||||||
| #include "encoder/EncoderPlugin.hxx" | #include "encoder/EncoderPlugin.hxx" | ||||||
| #include "encoder/EncoderInterface.hxx" | #include "encoder/EncoderInterface.hxx" | ||||||
|  | #include "encoder/ToOutputStream.hxx" | ||||||
| #include "AudioFormat.hxx" | #include "AudioFormat.hxx" | ||||||
| #include "config/ConfigData.hxx" | #include "config/ConfigData.hxx" | ||||||
| #include "stdbin.h" | #include "fs/io/StdioOutputStream.hxx" | ||||||
| #include "tag/Tag.hxx" | #include "tag/Tag.hxx" | ||||||
| #include "tag/TagBuilder.hxx" | #include "tag/TagBuilder.hxx" | ||||||
| #include "util/Error.hxx" | #include "util/Error.hxx" | ||||||
|  | #include "Log.hxx" | ||||||
|  |  | ||||||
| #include <stddef.h> | #include <stddef.h> | ||||||
| #include <unistd.h> | #include <unistd.h> | ||||||
|  |  | ||||||
| static uint8_t zero[256]; | 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 | int | ||||||
| main(gcc_unused int argc, gcc_unused char **argv) | 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()); | 	success = encoder->Open(audio_format, IgnoreError()); | ||||||
| 	assert(success); | 	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 */ | 	/* write a block of data */ | ||||||
|  |  | ||||||
| 	success = encoder_write(encoder, zero, sizeof(zero), IgnoreError()); | 	success = encoder_write(encoder, zero, sizeof(zero), IgnoreError()); | ||||||
| 	assert(success); | 	assert(success); | ||||||
|  |  | ||||||
| 	encoder_to_stdout(*encoder); | 	if (!EncoderToOutputStream(os, *encoder, error)) { | ||||||
|  | 		LogError(error); | ||||||
|  | 		return EXIT_FAILURE; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	/* write a tag */ | 	/* write a tag */ | ||||||
|  |  | ||||||
| 	success = encoder_pre_tag(encoder, IgnoreError()); | 	success = encoder_pre_tag(encoder, IgnoreError()); | ||||||
| 	assert(success); | 	assert(success); | ||||||
|  |  | ||||||
| 	encoder_to_stdout(*encoder); | 	if (!EncoderToOutputStream(os, *encoder, error)) { | ||||||
|  | 		LogError(error); | ||||||
|  | 		return EXIT_FAILURE; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	Tag tag; | 	Tag tag; | ||||||
|  |  | ||||||
| @@ -94,7 +97,10 @@ main(gcc_unused int argc, gcc_unused char **argv) | |||||||
| 	success = encoder_tag(encoder, tag, IgnoreError()); | 	success = encoder_tag(encoder, tag, IgnoreError()); | ||||||
| 	assert(success); | 	assert(success); | ||||||
|  |  | ||||||
| 	encoder_to_stdout(*encoder); | 	if (!EncoderToOutputStream(os, *encoder, error)) { | ||||||
|  | 		LogError(error); | ||||||
|  | 		return EXIT_FAILURE; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	/* write another block of data */ | 	/* write another block of data */ | ||||||
|  |  | ||||||
| @@ -106,7 +112,10 @@ main(gcc_unused int argc, gcc_unused char **argv) | |||||||
| 	success = encoder_end(encoder, IgnoreError()); | 	success = encoder_end(encoder, IgnoreError()); | ||||||
| 	assert(success); | 	assert(success); | ||||||
|  |  | ||||||
| 	encoder_to_stdout(*encoder); | 	if (!EncoderToOutputStream(os, *encoder, error)) { | ||||||
|  | 		LogError(error); | ||||||
|  | 		return EXIT_FAILURE; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	encoder->Close(); | 	encoder->Close(); | ||||||
| 	encoder->Dispose(); | 	encoder->Dispose(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann