summaryrefslogtreecommitdiff
path: root/src/codecs/codec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/codecs/codec.cpp')
-rw-r--r--src/codecs/codec.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/codecs/codec.cpp b/src/codecs/codec.cpp
index 4f9e8892..73bc9032 100644
--- a/src/codecs/codec.cpp
+++ b/src/codecs/codec.cpp
@@ -7,13 +7,19 @@
#include "codec.hpp"
#include <memory>
+#include <optional>
#include "mad.hpp"
+#include "types.hpp"
namespace codecs {
-auto CreateCodecForType(StreamType type)
- -> cpp::result<std::unique_ptr<ICodec>, CreateCodecError> {
- return std::make_unique<MadMp3Decoder>(); // TODO.
+auto CreateCodecForType(StreamType type) -> std::optional<ICodec*> {
+ switch (type) {
+ case StreamType::kMp3:
+ return new MadMp3Decoder();
+ default:
+ return {};
+ }
}
} // namespace codecs