#pragma once #include #include #include "../base/BaseTask.hpp" namespace drp::task { /** * the audio Server. * Read and broadcast audio data. */ class ServerTask : public BaseTask { public: explicit ServerTask(); ~ServerTask() override; /** * Set this task as the current one. * @param context the context to apply the state on. * @param server the server to use. */ static void use(Context& context, const std::shared_ptr& server); void handle(Context& context) override; private: mpg123_handle* mpgHandle; long sampleRate; int channels; int encoding; }; }