<p>Jenkins2 <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/6030">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Benjamin Keith Ford: Looks good to me, but someone else must approve
  George Joseph: Looks good to me, approved
  Jenkins2: Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bridge_softmix: Don't reorder streams on participant leaving.<br><br>When a participant leaves a bridge while operating in SFU mode<br>their respective stream on every other participant needs to be<br>removed. Leaving the stream out of the new topology results in<br>every stream after it being moved and reordered. This causes<br>problems with clients. Instead simply mark the stream as removed<br>which leaves it in place in the SDP and doesn't reorder or touch<br>any other streams.<br><br>ASTERISK-27136<br><br>Change-Id: I4b3f840adcdf69b83842b0d8a737665ba0ef9cb1<br>---<br>M bridges/bridge_softmix.c<br>1 file changed, 13 insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/bridges/bridge_softmix.c b/bridges/bridge_softmix.c<br>index ae877eb..9aa8a7a 100644<br>--- a/bridges/bridge_softmix.c<br>+++ b/bridges/bridge_softmix.c<br>@@ -701,14 +701,15 @@<br> <br>           stream = ast_stream_topology_get_stream(source, i);<br> <br>-               if (is_video_dest(stream, channel_name, NULL)) {<br>-                     continue;<br>-            }<br>-<br>          stream_clone = ast_stream_clone(stream, NULL);<br>                if (!stream_clone) {<br>                  continue;<br>             }<br>+<br>+         if (is_video_dest(stream, channel_name, NULL)) {<br>+                     ast_stream_set_state(stream_clone, AST_STREAM_STATE_REMOVED);<br>+                }<br>+<br>          if (ast_stream_topology_append_stream(dest, stream_clone) < 0) {<br>                   ast_stream_free(stream_clone);<br>                }<br>@@ -1964,9 +1965,9 @@<br>              int num_streams;<br>              int params_index[4];<br>  } removal_results[] = {<br>-              { "PJSIP/Bob-00000001", 3, { 0, 1, 3, -1 }, },<br>+             { "PJSIP/Bob-00000001", 4, { 0, 1, 2, 3 }, },<br>               { "PJSIP/Edward-00000004", 4, { 0, 1, 2, 3 }, },<br>-           { "", 2, { 0, 1, -1, -1 }, },<br>+              { "", 4, { 0, 1, 2, 3 }, },<br>         };<br>    struct ast_stream_topology *orig = NULL;<br>      struct ast_stream_topology *result = NULL;<br>@@ -2033,6 +2034,12 @@<br>                                    ast_format_cap_get_names(ast_stream_get_formats(actual), &actual_str));<br>                           goto end;<br>                     }<br>+<br>+                 if (is_video_dest(actual, removal_results[i].channel_name, NULL) &&<br>+                          ast_stream_get_state(actual) != AST_STREAM_STATE_REMOVED) {<br>+                          ast_test_status_update(test, "Removed stream %s does not have a state of removed\n", ast_stream_get_name(actual));<br>+                         goto end;<br>+                    }<br>             }<br>     }<br> <br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/6030">change 6030</a>. To unsubscribe, 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/6030"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I4b3f840adcdf69b83842b0d8a737665ba0ef9cb1 </div>
<div style="display:none"> Gerrit-Change-Number: 6030 </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: Benjamin Keith Ford <bford@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 </div>