From 72a6816ec1b571e9b22889fd8a5385cce73e76d0 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sat, 3 Sep 2016 14:19:49 +0200 Subject: [PATCH] Added DTSC stdin input --- src/input/input_dtsc.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/input/input_dtsc.cpp b/src/input/input_dtsc.cpp index 6a5dee61..5cd5e52a 100644 --- a/src/input/input_dtsc.cpp +++ b/src/input/input_dtsc.cpp @@ -43,7 +43,7 @@ namespace Mist { } bool inputDTSC::needsLock(){ - return config->getString("input").substr(0, 7) != "dtsc://"; + return config->getString("input").substr(0, 7) != "dtsc://" && config->getString("input") != "-"; } void parseDTSCURI(const std::string & src, std::string & host, uint16_t & port, std::string & password, std::string & streamName) { @@ -106,7 +106,7 @@ namespace Mist { } void inputDTSC::parseStreamHeader() { - while (srcConn.connected()){ + while (srcConn.connected() && config->is_active){ srcConn.spool(); if (srcConn.Received().available(8)){ if (srcConn.Received().copy(4) == "DTCM" || srcConn.Received().copy(4) == "DTSC") { @@ -143,6 +143,10 @@ namespace Mist { bool inputDTSC::openStreamSource() { std::string source = config->getString("input"); + if (source == "-"){ + srcConn = Socket::Connection(fileno(stdout),fileno(stdin)); + return true; + } if (source.find("dtsc://") == 0) { source.erase(0, 7); } @@ -183,10 +187,6 @@ namespace Mist { if (!needsLock()) { return true; } else { - if (config->getString("input") == "-") { - std::cerr << "Input from stdin not yet supported" << std::endl; - return false; - } if (!config->getString("streamname").size()) { if (config->getString("output") == "-") { std::cerr << "Output to stdout not yet supported" << std::endl;