// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm // // Audio input def parser #pragma once #include #include #include #include "libvideostitch/audioPipeDef.hpp" #include "libvideostitch/audio.hpp" namespace VideoStitch { namespace Core { using namespace Audio; class AudioSourceDefinition::Pimpl { public: Pimpl(); ~Pimpl(); private: friend class AudioSourceDefinition; readerid_t readerId; size_t channelId; }; /** * Pimpl holder for AudioProcessortDef. */ class AudioProcessorDef::Pimpl { public: Pimpl(); ~Pimpl(); private: friend class AudioProcessorDef; std::string name; std::unique_ptr parameters; }; /** * Pimpl holder for InputDefinition. */ class AudioInputDefinition::Pimpl { public: Pimpl(); ~Pimpl(); private: friend class AudioInputDefinition; std::string name; bool isMaster; std::string layout; std::vector> sources; }; /** * Pimpl holder for AudioPipeDefinition. */ class AudioPipeDefinition::Pimpl { public: Pimpl(); ~Pimpl(); private: friend class AudioPipeDefinition; std::string debugFolder; std::string selectedAudio; int blockSize; int samplingRate; bool hasVuMeter; std::vector> audioInputs; std::vector> audioMixes; std::vector> audioProcessors; std::unique_ptr ambDecCoef; }; /** * Pimpl holder for AudioMixDefinition. */ class AudioMixDefinition::Pimpl { public: Pimpl(); ~Pimpl(); private: friend class AudioMixDefinition; std::string name; std::vector inputs; }; } // namespace Core } // namespace VideoStitch