From 4c8b225c449f155705f555ca3543284e0ba20921 Mon Sep 17 00:00:00 2001 From: Andrea Bondavalli Date: Mon, 10 Feb 2020 21:32:02 +0100 Subject: [PATCH] Set of fixes impacting playout delay, max SAP message size and minor enhancements to WebUI. --- daemon/README.md | 1 + daemon/sap.hpp | 2 +- daemon/session_manager.cpp | 6 ++++-- webui/src/SinkEdit.js | 12 ++++++------ webui/src/SourceEdit.js | 4 ++-- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/daemon/README.md b/daemon/README.md index 19d6c7c..d70b782 100644 --- a/daemon/README.md +++ b/daemon/README.md @@ -193,6 +193,7 @@ where: > **playout\_delay** > JSON number specifying the default safety playout delay at 1FS in samples. +> **_NOTE:_** The specified delay cannot be less than the source max samples size announced by the SDP file. > **tic\_frame\_size\_at\_1fs** > JSON number specifying the RTP frame size at 1FS in samples. diff --git a/daemon/sap.hpp b/daemon/sap.hpp index 06e39dc..a13dda3 100644 --- a/daemon/sap.hpp +++ b/daemon/sap.hpp @@ -33,7 +33,7 @@ class SAP { constexpr static uint16_t bandwidth_limit = 4000; // bits x xsec constexpr static uint16_t min_interval = 300; // secs constexpr static uint16_t sap_header_len = 24; - constexpr static uint16_t max_length = 1024; + constexpr static uint16_t max_length = 4096; SAP() { socket_.open(boost::asio::ip::udp::v4()); }; diff --git a/daemon/session_manager.cpp b/daemon/session_manager.cpp index 46a34ce..724842d 100644 --- a/daemon/session_manager.cpp +++ b/daemon/session_manager.cpp @@ -689,16 +689,18 @@ std::error_code SessionManager::add_sink(const StreamSink& sink) { info.sink_source = sink.source; info.sink_use_sdp = true; // save back and use with SDP file - info.stream.m_ui32FrameSize = info.stream.m_ui32MaxSamplesPerPacket * - info.stream.m_byNbOfChannels * info.stream.m_byWordLength; + info.stream.m_ui32FrameSize = info.stream.m_ui32MaxSamplesPerPacket; if (!info.stream.m_ui32FrameSize) { // if not from SDP use config info.stream.m_ui32FrameSize = config_->get_max_tic_frame_size(); } + BOOST_LOG_TRIVIAL(info) << "session_manager:: sink samples per packet " << info.stream.m_ui32MaxSamplesPerPacket; BOOST_LOG_TRIVIAL(info) << "session_manager:: sink frame size " << info.stream.m_ui32FrameSize; + BOOST_LOG_TRIVIAL(info) << "session_manager:: playout delay " << + info.stream.m_ui32PlayOutDelay; // info.m_ui32SrcIP = addr; // only for Source // info.m_usSrcPort = 5004; diff --git a/webui/src/SinkEdit.js b/webui/src/SinkEdit.js index 3dbed0d..01ea4ad 100644 --- a/webui/src/SinkEdit.js +++ b/webui/src/SinkEdit.js @@ -168,14 +168,14 @@ class SinkEdit extends Component {