From dde8a55a61c46ac5ff602ea470b4aba244e01c63 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 31 May 2016 16:34:25 +0200 Subject: [PATCH] Stats/events: identify by stream ID (host:port) --- src/hd-rum-translator/hd-rum-decompress.cpp | 2 +- src/hd-rum-translator/hd-rum-recompress.cpp | 8 ++++++-- src/hd-rum-translator/hd-rum-recompress.h | 3 ++- src/video_rxtx.cpp | 2 +- src/video_rxtx.h | 2 +- src/video_rxtx/ultragrid_rtp.cpp | 9 +++------ 6 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/hd-rum-translator/hd-rum-decompress.cpp b/src/hd-rum-translator/hd-rum-decompress.cpp index d6f21ef7c..314c73e27 100644 --- a/src/hd-rum-translator/hd-rum-decompress.cpp +++ b/src/hd-rum-translator/hd-rum-decompress.cpp @@ -173,7 +173,7 @@ void state_transcoder_decompress::worker() case message::FRAME: for (unsigned int i = 0; i < output_ports.size(); ++i) { if (output_ports[i].active) - recompress_process_async(output_ports[i].state, msg.frame, i); + recompress_process_async(output_ports[i].state, msg.frame); } break; } diff --git a/src/hd-rum-translator/hd-rum-recompress.cpp b/src/hd-rum-translator/hd-rum-recompress.cpp index 680364cc1..3b520068b 100644 --- a/src/hd-rum-translator/hd-rum-recompress.cpp +++ b/src/hd-rum-translator/hd-rum-recompress.cpp @@ -67,6 +67,11 @@ void *recompress_init(struct module *parent, try { auto rxtx = video_rxtx::create("ultragrid_rtp", params); + if (strchr(host, ':') != NULL) { + rxtx->m_port_id = string("[") + host + "]:" + to_string(tx_port); + } else { + rxtx->m_port_id = string(host) + ":" + to_string(tx_port); + } return new state_recompress( decltype(state_recompress::video_rxtx)(dynamic_cast(rxtx)), @@ -78,7 +83,7 @@ void *recompress_init(struct module *parent, } } -void recompress_process_async(void *state, shared_ptr frame, int port_id) +void recompress_process_async(void *state, shared_ptr frame) { auto s = static_cast(state); @@ -97,7 +102,6 @@ void recompress_process_async(void *state, shared_ptr frame, int po s->frames = 0; } - s->video_rxtx->m_port_id = port_id; s->video_rxtx->send(frame); } diff --git a/src/hd-rum-translator/hd-rum-recompress.h b/src/hd-rum-translator/hd-rum-recompress.h index 145947f14..3e3c80f72 100644 --- a/src/hd-rum-translator/hd-rum-recompress.h +++ b/src/hd-rum-translator/hd-rum-recompress.h @@ -24,5 +24,6 @@ uint32_t recompress_get_ssrc(void *state); #ifdef __cplusplus #include -void recompress_process_async(void *state, std::shared_ptr frame, int port_id); +#include +void recompress_process_async(void *state, std::shared_ptr frame); #endif diff --git a/src/video_rxtx.cpp b/src/video_rxtx.cpp index 655937545..9204bbded 100644 --- a/src/video_rxtx.cpp +++ b/src/video_rxtx.cpp @@ -69,7 +69,7 @@ using namespace std; -video_rxtx::video_rxtx(map const ¶ms): m_port_id(-1), m_paused(params.at("paused").b), +video_rxtx::video_rxtx(map const ¶ms): m_port_id("default"), m_paused(params.at("paused").b), m_report_paused_play(false), m_rxtx_mode(params.at("rxtx_mode").i), m_parent(static_cast(params.at("parent").ptr)), m_compression(nullptr), diff --git a/src/video_rxtx.h b/src/video_rxtx.h index 4150b1cf2..e07682e5c 100644 --- a/src/video_rxtx.h +++ b/src/video_rxtx.h @@ -83,7 +83,7 @@ public: } virtual void join(); static video_rxtx *create(std::string const & name, std::map const &); - int m_port_id; + std::string m_port_id; protected: video_rxtx(std::map const &); int check_sender_messages(); diff --git a/src/video_rxtx/ultragrid_rtp.cpp b/src/video_rxtx/ultragrid_rtp.cpp index ef4d9ecea..f991a7454 100644 --- a/src/video_rxtx/ultragrid_rtp.cpp +++ b/src/video_rxtx/ultragrid_rtp.cpp @@ -211,20 +211,17 @@ after_send: // report events and stats auto new_desc = video_desc_from_frame(tx_frame.get()); if (new_desc != m_video_desc) { - control_report_event(m_control, (m_port_id != -1 ? (string("-") + to_string(m_port_id) + " ") : string("")) + + control_report_event(m_control, m_port_id + " " + string("captured video changed - ") + (string) new_desc); m_video_desc = new_desc; } if (tx_frame->paused_play) { - control_report_event(m_control, (m_port_id != -1 ? (string("-") + to_string(m_port_id) + " ") : string("")) + + control_report_event(m_control, m_port_id + " " + string("play")); } ostringstream oss; - if (m_port_id != -1) { - oss << "-" << m_port_id << " "; - } - oss << "bufferId " << buffer_id << + oss << m_port_id << " bufferId " << buffer_id << " droppedFrames " << dropped_frames << " nanoPerFrameActual " << (m_nano_per_frame_actual_cumul += nano_actual) << " nanoPerFrameExpected " << (m_nano_per_frame_expected_cumul += nano_expected) <<