Commit 00830a20 authored by Max Kellermann's avatar Max Kellermann

decoder/mad: convert to class, make almost everything private

parent d39d2874
...@@ -106,7 +106,7 @@ mad_plugin_init(const ConfigBlock &block) ...@@ -106,7 +106,7 @@ mad_plugin_init(const ConfigBlock &block)
return true; return true;
} }
struct MadDecoder { class MadDecoder {
static constexpr size_t READ_BUFFER_SIZE = 40960; static constexpr size_t READ_BUFFER_SIZE = 40960;
static constexpr size_t MP3_DATA_OUTPUT_BUFFER_SIZE = 2048; static constexpr size_t MP3_DATA_OUTPUT_BUFFER_SIZE = 2048;
...@@ -136,12 +136,14 @@ struct MadDecoder { ...@@ -136,12 +136,14 @@ struct MadDecoder {
InputStream &input_stream; InputStream &input_stream;
enum mad_layer layer = mad_layer(0); enum mad_layer layer = mad_layer(0);
public:
MadDecoder(DecoderClient *client, InputStream &input_stream) noexcept; MadDecoder(DecoderClient *client, InputStream &input_stream) noexcept;
~MadDecoder() noexcept; ~MadDecoder() noexcept;
void RunDecoder() noexcept; void RunDecoder() noexcept;
bool RunScan(TagHandler &handler) noexcept; bool RunScan(TagHandler &handler) noexcept;
private:
bool Seek(long offset) noexcept; bool Seek(long offset) noexcept;
bool FillBuffer() noexcept; bool FillBuffer() noexcept;
void ParseId3(size_t tagsize, Tag *tag) noexcept; void ParseId3(size_t tagsize, Tag *tag) noexcept;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment