Set of fixes impacting playout delay, max SAP message size and minor enhancements to WebUI.

This commit is contained in:
Andrea Bondavalli 2020-02-10 21:32:02 +01:00
parent 8fbfbf9869
commit 4c8b225c44
5 changed files with 14 additions and 11 deletions

View File

@ -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.

View File

@ -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()); };

View File

@ -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;

View File

@ -168,14 +168,14 @@ class SinkEdit extends Component {
<th align="left"> <textarea rows='15' cols='55' value={this.state.sdp} onChange={e => this.setState({sdp: e.target.value})} disabled={this.state.useSdp ? undefined : true} required/> </th>
</tr>
<tr>
<th align="left"> <label>Delay (samples)</label> </th>
<th align="left"> <label>Delay (samples) </label> </th>
<th align="left">
<select value={this.state.delay} onChange={e => this.setState({delay: e.target.value})}>
<option value="192">192</option>
<option value="384">384</option>
<option value="576">576</option>
<option value="768">768</option>
<option value="960">960</option>
<option value="192">192 - 4ms@48KHz</option>
<option value="384">384 - 8ms@48KHz</option>
<option value="576">576 - 12ms@48KHz</option>
<option value="768">768 - 16ms@48KHz</option>
<option value="960">960 - 20ms@48KHz</option>
</select>
</th>
</tr>

View File

@ -186,8 +186,8 @@ class SourceEdit extends Component {
<th align="left"> <label>Max samples per packet </label> </th>
<th align="left">
<select value={this.state.maxSamplesPerPacket} onChange={this.onChangeMaxSamplesPerPacket}>
<option value="12">12 - 250us@48Khz</option>
<option value="16">16 - 333us@48Khz</option>
<option value="12">12 - 250&mu;s@48Khz</option>
<option value="16">16 - 333&mu;s@48Khz</option>
<option value="48">48 - 1ms@48Khz</option>
<option value="96">96 - 2ms@48Khz</option>
<option value="192">192 - 4ms@48Khz</option>