summaryrefslogtreecommitdiff
path: root/src/codecs/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-06-07 15:39:28 +1000
committerjacqueline <me@jacqueline.id.au>2023-06-07 15:39:28 +1000
commite12ac1d9632856237388614bf393c7338500e00a (patch)
tree9f353c516427225906eafa9704f312dd12174a46 /src/codecs/include
parent7e96482087632278c3d9e4a5db6bad25374ada8f (diff)
downloadtangara-fw-e12ac1d9632856237388614bf393c7338500e00a.tar.gz
Do some prep cleanup for multiple filetypes
Diffstat (limited to 'src/codecs/include')
-rw-r--r--src/codecs/include/codec.hpp9
-rw-r--r--src/codecs/include/mad.hpp2
-rw-r--r--src/codecs/include/types.hpp8
3 files changed, 6 insertions, 13 deletions
diff --git a/src/codecs/include/codec.hpp b/src/codecs/include/codec.hpp
index c8a68ff3..31c67e13 100644
--- a/src/codecs/include/codec.hpp
+++ b/src/codecs/include/codec.hpp
@@ -25,8 +25,6 @@ class ICodec {
public:
virtual ~ICodec() {}
- virtual auto CanHandleType(StreamType type) -> bool = 0;
-
struct OutputFormat {
uint8_t num_channels;
uint8_t bits_per_sample;
@@ -37,8 +35,6 @@ class ICodec {
enum ProcessingError { MALFORMED_DATA };
- virtual auto ResetForNewStream() -> void = 0;
-
virtual auto SetInput(cpp::span<const std::byte> input) -> void = 0;
/*
@@ -69,9 +65,6 @@ class ICodec {
-> std::pair<std::size_t, bool> = 0;
};
-enum CreateCodecError { UNKNOWN_EXTENSION };
-
-auto CreateCodecForType(StreamType type)
- -> cpp::result<std::unique_ptr<ICodec>, CreateCodecError>;
+auto CreateCodecForType(StreamType type) -> std::optional<ICodec*>;
} // namespace codecs
diff --git a/src/codecs/include/mad.hpp b/src/codecs/include/mad.hpp
index ea16cdc8..5ba4db84 100644
--- a/src/codecs/include/mad.hpp
+++ b/src/codecs/include/mad.hpp
@@ -24,9 +24,7 @@ class MadMp3Decoder : public ICodec {
MadMp3Decoder();
~MadMp3Decoder();
- auto CanHandleType(StreamType type) -> bool override;
auto GetOutputFormat() -> std::optional<OutputFormat> override;
- auto ResetForNewStream() -> void override;
auto SetInput(cpp::span<const std::byte> input) -> void override;
auto GetInputPosition() -> std::size_t override;
auto ProcessNextFrame() -> cpp::result<bool, ProcessingError> override;
diff --git a/src/codecs/include/types.hpp b/src/codecs/include/types.hpp
index 66f0c840..61d36a28 100644
--- a/src/codecs/include/types.hpp
+++ b/src/codecs/include/types.hpp
@@ -10,9 +10,11 @@
namespace codecs {
-enum StreamType {
- STREAM_MP3,
+enum class StreamType {
+ kMp3,
+ kPcm,
+ kOgg,
+ kFlac,
};
-auto GetStreamTypeFromFilename(std::string filename);
} // namespace codecs