parent
52e0318292
commit
5f7444d795
@ -0,0 +1,6 @@ |
||||
idf_component_register( |
||||
SRCS "audio_decoder.cpp" "fatfs_audio_input.cpp" "audio_task.cpp" |
||||
INCLUDE_DIRS "include" |
||||
REQUIRES "codecs" "drivers") |
||||
|
||||
target_compile_options(${COMPONENT_LIB} PRIVATE ${EXTRA_WARNINGS}) |
@ -0,0 +1,29 @@ |
||||
#pragma once |
||||
|
||||
#include <cstddef> |
||||
#include <cstdint> |
||||
|
||||
#include "result.hpp" |
||||
|
||||
namespace codecs { |
||||
|
||||
enum CreateCodecError {}; |
||||
|
||||
auto CreateCodecForExtension(std::string extension) -> cpp::result<std::unique_ptr<ICodec>, CreateCodecError>; |
||||
|
||||
class ICodec { |
||||
public: |
||||
virtual ~ICodec() {} |
||||
|
||||
virtual auto CanHandleExtension(std::string extension) -> bool = 0; |
||||
|
||||
enum Error {}; |
||||
|
||||
virtual auto Process( |
||||
uint8_t *input, |
||||
std::size_t input_len, |
||||
uint8_t *output, |
||||
std::size_t output_length) -> cpp::result<size_t, Error> = 0; |
||||
}; |
||||
|
||||
} // namespace codecs
|
Loading…
Reference in new issue