<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 10, 2017, at 6:43 PM, kaiduan xie <<a href="mailto:kaiduanx@yahoo.ca" class="">kaiduanx@yahoo.ca</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><div style="background-color: rgb(255, 255, 255); font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;" class=""><div id="yui_3_16_0_ym19_1_1494455847038_9888" dir="ltr" class="">Thanks Michael and Moises.</div><div id="yui_3_16_0_ym19_1_1494455847038_9888" dir="ltr" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1494455847038_9888" dir="ltr" class="">Is frame synchronisation important when mixing frames from different sources?</div></div></div></div></blockquote><div><br class=""></div><div>It’s complicated to answer, but yes it is… in some situations at least… if doing video too, those need to be in sync. Using video or not you need to handle where different clock sources can be sending at slightly different rates (or have a different reference for what a rate is)… that case will give you underflow, or overflow in reference to each other.. underflow you might be able to get away with just silence for a frame or partial frame, overflow you need to do something with or a buffer will fill. There are multiple approaches to deal with this. All of the approaches end up with a balance trying to have the effect barely perceivable, but still effective. Trimming out packets that are silence (effectively shortening the silence periods) is one way for example… a much more expensive way that has even better sound results would be to insert or remove individual samples (requires some approach to keep things in phase)… On video you have similar issues where you might want to drop or “freeze” for a frame… Lots of research on the best ways to do this.</div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><div style="background-color: rgb(255, 255, 255); font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;" class=""><div id="yui_3_16_0_ym19_1_1494455847038_9888" dir="ltr" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1494455847038_9888" dir="ltr" class="">/Kaiduan</div><div id="yui_3_16_0_ym19_1_1494455847038_9888" dir="ltr" class=""><br class=""></div> <div class="qtdSeparateBR"><br class=""><br class=""></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 13px;" class=""> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" class=""> <div dir="ltr" class=""><font size="2" face="Arial" class=""> On Wednesday, May 10, 2017 12:15 PM, Moises Silva <<a href="mailto:moises.silva@gmail.com" class="">moises.silva@gmail.com</a>> wrote:<br class=""></font></div> <br class=""><br class=""> <div class="y_msg_container"><div id="yiv9432194075" class=""><div class=""><div dir="ltr" class=""><div class="yiv9432194075gmail_extra"><div class="yiv9432194075gmail_quote">On Thu, May 4, 2017 at 1:36 PM, Michael Jerris <span dir="ltr" class=""><<a rel="nofollow" shape="rect" ymailto="mailto:mike@jerris.com" target="_blank" href="mailto:mike@jerris.com" class="">mike@jerris.com</a>></span> wrote:<br clear="none" class=""><div class="yiv9432194075yqt5346233025" id="yiv9432194075yqt13665"><blockquote class="yiv9432194075gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;"><div style="word-wrap:break-word;" class="">you add signed linear samples together.<div class=""><br clear="none" class=""><div class=""><blockquote type="cite" class=""><div class="">On Apr 12, 2017, at 10:05 AM, kaiduan xie <<a rel="nofollow" shape="rect" ymailto="mailto:kaiduanx@yahoo.ca" target="_blank" href="mailto:kaiduanx@yahoo.ca" class="">kaiduanx@yahoo.ca</a>> wrote:</div><br clear="none" class="yiv9432194075gmail-m_-3823273267362388654Apple-interchange-newline"><div class=""><div class=""><div style="background-color:rgb(255,255,255);" class=""><div id="yiv9432194075gmail-m_-3823273267362388654yui_3_16_0_ym19_1_1492005708998_10471" class="">Hi,</div><div id="yiv9432194075gmail-m_-3823273267362388654yui_3_16_0_ym19_1_1492005708998_10471" class=""><br clear="none" class=""></div><div id="yiv9432194075gmail-m_-3823273267362388654yui_3_16_0_ym19_1_1492005708998_10471" class="">Can anyone explain how audio mixing works in Freeswitch audio conference and where is the source code?</div><div id="yiv9432194075gmail-m_-3823273267362388654yui_3_16_0_ym19_1_1492005708998_10471" class=""><br clear="none" class=""></div><div id="yiv9432194075gmail-m_-3823273267362388654yui_3_16_0_ym19_1_1492005708998_10471" class="">Thanks a lot in advance,</div><div id="yiv9432194075gmail-m_-3823273267362388654yui_3_16_0_ym19_1_1492005708998_10471" class=""><br clear="none" class=""></div><div id="yiv9432194075gmail-m_-3823273267362388654yui_3_16_0_ym19_1_1492005708998_10471" class="">/Kaiduan</div></div></div></div></blockquote></div><br clear="none" class=""></div></div></blockquote></div><div class=""><br clear="none" class=""></div><div class="">And to be more precise and answer your second question:</div><div class=""><br clear="none" class=""></div><div class=""><a rel="nofollow" shape="rect" target="_blank" href="https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/src/mod/applications/mod_conference/mod_conference.c?at=f691d139eab#576" class="">https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/src/mod/applications/mod_conference/mod_conference.c?at=f691d139eab#576</a></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote></div><br class=""></body></html>