From acd6d7890051b9253007941733ea37e4011b1b5e Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 17 Nov 2022 17:36:37 +1100 Subject: Progress on own pipeline. Still very WIP --- src/codecs/codec.hpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'src/codecs') diff --git a/src/codecs/codec.hpp b/src/codecs/codec.hpp index 24ba9cfe..5e8763a6 100644 --- a/src/codecs/codec.hpp +++ b/src/codecs/codec.hpp @@ -2,16 +2,28 @@ #include #include + +#include "result.hpp" + namespace codecs { - class IAudioDecoder { + enum CreateCodecError {}; + + auto CreateCodecForExtension(std::string extension) -> cpp::result, CreateCodecError>; + + class ICodec { public: - virtual ~IAudioDecoder() {} + virtual ~ICodec() {} + + virtual auto CanHandleExtension(std::string extension) -> bool = 0; + + enum Error {}; - virtual auto ProcessData( + virtual auto Process( uint8_t *input, - size_t input_len, - uint8_t *output) -> size_t = 0; + std::size_t input_len, + uint8_t *output, + std::size_t output_length) -> cpp::result = 0; }; } // namespace codecs -- cgit v1.2.3