/// \file stream.h /// Utilities for handling streams. #pragma once #include #include "socket.h" #include "json.h" #include "dtsc.h" #include "shared_memory.h" #include "util.h" namespace Util { std::string getTmpFolder(); void sanitizeName(std::string & streamname); bool streamAlive(std::string & streamname); bool startInput(std::string streamname, std::string filename = "", bool forkFirst = true, bool isProvider = false, const std::map & overrides = std::map(), pid_t * spawn_pid = NULL); JSON::Value getStreamConfig(const std::string & streamname); JSON::Value getInputBySource(const std::string & filename, bool isProvider = false); DTSC::Meta getStreamMeta(const std::string & streamname); uint8_t getStreamStatus(const std::string & streamname); bool checkException(const JSON::Value & ex, const std::string & useragent); std::string codecString(const std::string & codec, const std::string & initData = ""); class DTSCShmReader{ public: DTSCShmReader(const std::string &pageName); DTSC::Scan getMember(const std::string &indice); DTSC::Scan getScan(); private: IPC::sharedPage rPage; Util::RelAccX rAcc; }; }