Added extra fields to RECORDING_END trigger:
- time of connection start - time of connection end - duration of media - first media timestamp - last media timestamp
This commit is contained in:
parent
9bdc6fd7c3
commit
422caafde2
2 changed files with 19 additions and 1 deletions
|
@ -58,6 +58,8 @@ namespace Mist{
|
||||||
Output::Output(Socket::Connection & conn) : myConn(conn){
|
Output::Output(Socket::Connection & conn) : myConn(conn){
|
||||||
pushing = false;
|
pushing = false;
|
||||||
firstTime = 0;
|
firstTime = 0;
|
||||||
|
firstPacketTime = 0xFFFFFFFFFFFFFFFFull;
|
||||||
|
lastPacketTime = 0;
|
||||||
crc = getpid();
|
crc = getpid();
|
||||||
parseData = false;
|
parseData = false;
|
||||||
wantRequest = true;
|
wantRequest = true;
|
||||||
|
@ -839,6 +841,10 @@ namespace Mist{
|
||||||
}
|
}
|
||||||
if (prepareNext()){
|
if (prepareNext()){
|
||||||
if (thisPacket){
|
if (thisPacket){
|
||||||
|
lastPacketTime = thisPacket.getTime();
|
||||||
|
if (firstPacketTime == 0xFFFFFFFFFFFFFFFFull){
|
||||||
|
firstPacketTime = lastPacketTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//slow down processing, if real time speed is wanted
|
//slow down processing, if real time speed is wanted
|
||||||
|
@ -904,12 +910,22 @@ namespace Mist{
|
||||||
Triggers::doTrigger("CONN_CLOSE", payload, streamName);
|
Triggers::doTrigger("CONN_CLOSE", payload, streamName);
|
||||||
}
|
}
|
||||||
if (isRecordingToFile && config->hasOption("target") && Triggers::shouldTrigger("RECORDING_END", streamName)){
|
if (isRecordingToFile && config->hasOption("target") && Triggers::shouldTrigger("RECORDING_END", streamName)){
|
||||||
|
uint64_t rightNow = Util::epoch();
|
||||||
std::stringstream payl;
|
std::stringstream payl;
|
||||||
payl << streamName << '\n';
|
payl << streamName << '\n';
|
||||||
payl << config->getString("target") << '\n';
|
payl << config->getString("target") << '\n';
|
||||||
payl << capa["name"].asStringRef() << '\n';
|
payl << capa["name"].asStringRef() << '\n';
|
||||||
payl << myConn.dataUp() << '\n';
|
payl << myConn.dataUp() << '\n';
|
||||||
payl << (Util::epoch() - myConn.connTime()) << '\n';
|
payl << (rightNow - myConn.connTime()) << '\n';
|
||||||
|
payl << myConn.connTime() << '\n';
|
||||||
|
payl << rightNow << '\n';
|
||||||
|
if (firstPacketTime != 0xFFFFFFFFFFFFFFFFull){
|
||||||
|
payl << (lastPacketTime - firstPacketTime) << '\n';
|
||||||
|
}else{
|
||||||
|
payl << 0 << '\n';
|
||||||
|
}
|
||||||
|
payl << firstPacketTime << '\n';
|
||||||
|
payl << lastPacketTime << '\n';
|
||||||
Triggers::doTrigger("RECORDING_END", payl.str(), streamName);
|
Triggers::doTrigger("RECORDING_END", payl.str(), streamName);
|
||||||
}
|
}
|
||||||
/*LTS-END*/
|
/*LTS-END*/
|
||||||
|
|
|
@ -133,6 +133,8 @@ namespace Mist {
|
||||||
virtual bool isPushing(){return pushing;};
|
virtual bool isPushing(){return pushing;};
|
||||||
bool allowPush(const std::string & passwd);
|
bool allowPush(const std::string & passwd);
|
||||||
void bufferLivePacket(DTSC::Packet & packet);
|
void bufferLivePacket(DTSC::Packet & packet);
|
||||||
|
uint64_t firstPacketTime;
|
||||||
|
uint64_t lastPacketTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue