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