<p><a href="https://gerrit.asterisk.org/c/asterisk/+/12869">View Change</a></p><p>3 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.asterisk.org/#/c/12869/1/main/abstract_jb.c">File main/abstract_jb.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/12869/1/main/abstract_jb.c@948">Patch Set #1, Line 948:</a> <code style="font-family:monospace,monospace">    timestamp_diff = (frame->ts * (rtp_get_rate(frame->subclass.format) / 1000)) - stream_sync->timestamp;</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Should this be using 'rate' vs rtp_get_rate?</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Alas, no. The specific part converts the timestamp into the "proper" timestamp. Audio differs from what is received in RTP, while video does not. Using rtp_get_rate ensures that the video part calculates correctly.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/12869/1/main/abstract_jb.c@1009">Patch Set #1, Line 1009:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;">                     struct ast_rtp_rtcp_report *rtcp_report = frame->data.ptr;<br>                 struct jb_stream_sync *stream_sync = NULL;<br><br>                  /* Determine which stream this RTCP is in regards to */<br>                       if (framedata->audio_stream_id == frame->stream_num) {<br>                          stream_sync = &framedata->audio_stream_sync;<br>                   } else if (framedata->video_stream_id == frame->stream_num) {<br>                           stream_sync = &framedata->video_stream_sync;<br>                   }<br><br>                   if (stream_sync) {<br>                            /* Store the RTP and NTP timestamp mapping so we can derive an NTP timestamp for each frame */<br>                                stream_sync->timestamp = rtcp_report->sender_information.rtp_timestamp;<br>                         stream_sync->ntp = rtcp_report->sender_information.ntp_timestamp;<br>                       }<br></pre></blockquote></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Not a fan of the rtp engine dependency introduced here. […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Yeah, not really possible except by defining some generic mechanism to indicate synchronization from the various sources with a timing clock source. If we get to that point this logic could be moved there and this updated to use the new functionality.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/12869/1/main/abstract_jb.c@1034">Patch Set #1, Line 1034:</a> <code style="font-family:monospace,monospace">                                ast_log(LOG_NOTICE, "Returned %d\n", frame->seqno);</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">This seems potentially spammy? Maybe should be a debug message? Also you might want to add more info […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Debug, yo. Will remove.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/12869">change 12869</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/c/asterisk/+/12869"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I3fd75160426465e6d46bb2e198c07b9d314a4492 </div>
<div style="display:none"> Gerrit-Change-Number: 12869 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Joshua Colp <jcolp@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Mon, 16 Sep 2019 17:47:24 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: No </div>
<div style="display:none"> Comment-In-Reply-To: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-MessageType: comment </div>