/* * @file Encoder.cpp * @author Mateusz Piesta (mateusz.piesta@mudita.com) * @date 23.07.19 * @brief * @copyright Copyright (C) 2019 mudita.com * @details */ #include "Encoder.hpp" #include "EncoderWAV.hpp" #include #include #include #include namespace audio { Encoder::Encoder(const char *fileName, const Format &frmt) : filePath(fileName), format(frmt) { fd = vfs.fopen(fileName, "w"); if (fd == NULL) { return; } isInitialized = true; } Encoder::~Encoder() { if (fd) { vfs.fclose(fd); } } std::unique_ptr Encoder::Create(const char *file, const Format &frmt) { std::unique_ptr enc; if ((strstr(file, ".wav") != NULL) || (strstr(file, ".WAV") != NULL)) { enc = std::make_unique(file, frmt); } else{ return nullptr; } if (enc->isInitialized) { return enc; } else { return nullptr; } } }