<div dir="ltr"><div dir="ltr">Hey guys,<div><br></div><div>we continued working on our largest changeset: <a href="https://gerrit.asterisk.org/#/c/3524/" target="_blank">https://gerrit.<wbr>asterisk.org/#/c/3524/</a></div><div>Besides the copyright of HRTFs (still under investigation from our side), the only issue on our side is the introduced `settings_lock` (defined in bridge.h:254).</div><div>This lock is used in addition to the bridge-lock in bridge_softmix:1093.</div><div><br></div><div>The issue the settings_lock solves is that during bridge startup (actually `softmix_mixing_thread()`) we need to know the configuration parameters (is binaural active or not?).</div><div>Since the startup of the mixing thread and parsing the configuration is asynchronous (at least our understanding: we saw race conditions), we use the 2nd lock to wait until configuration information is available before really starting the mixing thread.</div><div>We could avoid introducing the settings_lock by repeatedly checking in the mixing loop.</div><div>However, this doesn't sound like a good idea...</div><div>Thus, a bridge now has two locks (ast_bridge_lock and the settings_lock), which is some overengineering.<br></div><div><br></div><div>Is there a better solution to addressing this issue?</div></div><div class="gmail_extra"><br clear="all" style="font-size:12.8px"><div style="font-size:12.8px"><div class="gmail-m_-5985501027306409000gmail_signature">---<br>Dennis Guse</div></div><div class="gmail-yj6qo gmail-ajU" style="font-size:12.8px"></div></div></div><div class="gmail_extra"><br clear="all"><div><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature">---<br>Dennis Guse</div></div>
</div>
<br><div class="gmail_quote">On Tue, Oct 25, 2016 at 5:31 PM, Joshua Colp <span dir="ltr"><<a href="mailto:jcolp@digium.com" target="_blank">jcolp@digium.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Dennis Guse wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks Joshua,<br>
<br>
just to be clear that I understood it correctly.<br>
1. We would extend ast_format [2] with the additional field `uint<br>
channel_count:1`<br>
2. We would modify `opus_parse_sdp_fmtp` [1] to set<br>
`cloned->channel_count=2`on the `ast_format` to be returned.<br>
<br>
Would this be acceptable or is this conceptually an issue?<br>
</blockquote>
<br></span>
The format structure is opaque so you will need to use set and get functions on the format, but that is acceptable.<div class="HOEnZb"><div class="h5"><br>
<br>
-- <br>
Joshua Colp<br>
Digium, Inc. | Senior Software Developer<br>
445 Jan Davis Drive NW - Huntsville, AL 35806 - US<br>
Check us out at: <a href="http://www.digium.com" rel="noreferrer" target="_blank">www.digium.com</a> & <a href="http://www.asterisk.org" rel="noreferrer" target="_blank">www.asterisk.org</a><br>
<br>
<br>
-- <br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
  <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" rel="noreferrer" target="_blank">http://lists.digium.com/mailma<wbr>n/listinfo/asterisk-dev</a><br>
</div></div></blockquote></div><br></div>