Fork of Tangara with customizations
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tangara-fw/src/codecs/include/mad.hpp

27 lines
545 B

#pragma once
#include "codec.hpp"
namespace codecs {
class MadMp3Decoder : public ICodec {
public:
MadMp3Decoder();
~MadMp3Decoder();
auto ProcessInput(Result *res, uint8_t *input, std::size_t input_len) -> void;
auto WriteOutputSamples(Result *res, uint8_t *output, std::size_t output_length) -> void;
private:
mad_stream stream_;
mad_frame frame_;
mad_synth synth_;
mad_header header_;
bool has_decoded_header_;
int current_sample_ = -1;
};
} // namespace codecs