
- Fixed segfault when attempting to initialseek on disconnected streams - Fix 100% CPU bug in controller's stats code - WebRTC UDP bind socket improvements - Several segfault fixes - Increased packet reordering buffer size from 30 to 150 packets - Tweaks to default output/buffer behaviour for incoming pushes - Added message for load balancer checks - Fixed HLS content type - Stats fixes - Exit reason fixes - Fixed socket IP address detection - Fixed non-string arguments for stream settings - Added caching for getConnectedBinHost() - Added WebRTC playback rate control - Added/completed VP8/VP9 support to WebRTC/RTSP - Added live seek option to WebRTC - Fixed seek to exactly newest timestamp - Fixed HLS input # Conflicts: # lib/defines.h # src/input/input.cpp
45 lines
1.9 KiB
C++
45 lines
1.9 KiB
C++
#include <mist/config.h>
|
|
#include <mist/json.h>
|
|
#include <mist/tinythread.h>
|
|
#include <mist/util.h>
|
|
#include <string>
|
|
|
|
namespace Controller{
|
|
extern std::string instanceId; ///< global storage of instanceId (previously uniqID) is set in controller.cpp
|
|
extern std::string prometheus; ///< Prometheus access string
|
|
extern std::string accesslog; ///< Where to write the access log
|
|
extern Util::Config conf; ///< Global storage of configuration.
|
|
extern JSON::Value Storage; ///< Global storage of data.
|
|
extern tthread::mutex logMutex; ///< Mutex for log thread.
|
|
extern tthread::mutex configMutex; ///< Mutex for server config access.
|
|
extern bool configChanged; ///< Bool that indicates config must be written to SHM.
|
|
extern bool isTerminal; ///< True if connected to a terminal and not a log file.
|
|
extern bool isColorized; ///< True if we colorize the output
|
|
extern uint64_t logCounter; ///< Count of logged messages since boot
|
|
|
|
Util::RelAccX *logAccessor();
|
|
Util::RelAccX *accesslogAccessor();
|
|
Util::RelAccX *streamsAccessor();
|
|
|
|
/// Store and print a log message.
|
|
void Log(const std::string &kind, const std::string &message, const std::string &stream = "", uint64_t progPid = 0,
|
|
bool noWriteToLog = false);
|
|
void logAccess(const std::string &sessId, const std::string &strm, const std::string &conn,
|
|
const std::string &host, uint64_t duration, uint64_t up, uint64_t down,
|
|
const std::string &tags);
|
|
|
|
void normalizeTrustedProxies(JSON::Value &tp);
|
|
|
|
/// Write contents to Filename.
|
|
bool WriteFile(std::string Filename, std::string contents);
|
|
void writeConfigToDisk();
|
|
|
|
void handleMsg(void *err);
|
|
void initState();
|
|
void deinitState(bool leaveBehind);
|
|
void writeConfig();
|
|
void writeStream(const std::string &sName, const JSON::Value &sConf);
|
|
void writeCapabilities();
|
|
void writeProtocols();
|
|
|
|
}// namespace Controller
|