Skip to content

Commit

Permalink
Fix bug to allow use of Video Simulcast and Redundant Audio Encoding …
Browse files Browse the repository at this point in the history
…at the same time (#2766)
  • Loading branch information
dinmin-amzn authored Sep 29, 2023
1 parent a19b0b3 commit bdb14b4
Show file tree
Hide file tree
Showing 11 changed files with 2,562 additions and 2,239 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

## [3.18.1] - 2023-09-29

### Added

### Removed

### Changed

### Fixed
- Fixed bug that prevented sending and receiving audio, video, and content share when using Simulcast and Redundant Audio at the same time

## [3.18.0] - 2023-09-11

### Added
Expand Down
2 changes: 1 addition & 1 deletion demos/browser/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4,488 changes: 2,260 additions & 2,228 deletions docs/assets/js/search.js

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions docs/classes/defaulttransceivercontroller.html
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ <h3>Properties</h3>
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#addredundantaudiorecoverymetricsobserver" class="tsd-kind-icon">add<wbr>Redundant<wbr>Audio<wbr>Recovery<wbr>Metrics<wbr>Observer</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="defaulttransceivercontroller.html#addtransceiver" class="tsd-kind-icon">add<wbr>Transceiver</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#getmidforgroupid" class="tsd-kind-icon">get<wbr>Mid<wbr>For<wbr>Group<wbr>Id</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#getmidforstreamid" class="tsd-kind-icon">get<wbr>Mid<wbr>For<wbr>Stream<wbr>Id</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#hasvideoinput" class="tsd-kind-icon">has<wbr>Video<wbr>Input</a></li>
Expand All @@ -133,6 +134,7 @@ <h3>Methods</h3>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#setstreamidformid" class="tsd-kind-icon">set<wbr>Stream<wbr>IdFor<wbr>Mid</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#setvideoinput" class="tsd-kind-icon">set<wbr>Video<wbr>Input</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#setvideosendingbitratekbps" class="tsd-kind-icon">set<wbr>Video<wbr>Sending<wbr>Bitrate<wbr>Kbps</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="defaulttransceivercontroller.html#setupaudioredworker" class="tsd-kind-icon">setup<wbr>Audio<wbr>Red<wbr>Worker</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#setuplocaltransceivers" class="tsd-kind-icon">setup<wbr>Local<wbr>Transceivers</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="defaulttransceivercontroller.html#trackisvideoinput" class="tsd-kind-icon">track<wbr>IsVideo<wbr>Input</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="defaulttransceivercontroller.html#transceiverisvideo" class="tsd-kind-icon">transceiver<wbr>IsVideo</a></li>
Expand Down Expand Up @@ -301,6 +303,37 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</spa
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="addtransceiver" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> add<wbr>Transceiver</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">add<wbr>Transceiver<span class="tsd-signature-symbol">(</span>trackOrKind<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MediaStreamTrack</span>, init<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">RTCRtpTransceiverInit</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">RTCRtpTransceiver</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/main/src/transceivercontroller/DefaultTransceiverController.ts#L591">src/transceivercontroller/DefaultTransceiverController.ts:591</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Adds a transceiver to the peer connection and performs additional necessary setup.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>trackOrKind: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MediaStreamTrack</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> init: <span class="tsd-signature-type">RTCRtpTransceiverInit</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">RTCRtpTransceiver</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="getmidforgroupid" class="tsd-anchor"></a>
<h3>get<wbr>Mid<wbr>For<wbr>Group<wbr>Id</h3>
Expand Down Expand Up @@ -763,6 +796,23 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="setupaudioredworker" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> setup<wbr>Audio<wbr>Red<wbr>Worker</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">setup<wbr>Audio<wbr>Red<wbr>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/main/src/transceivercontroller/DefaultTransceiverController.ts#L469">src/transceivercontroller/DefaultTransceiverController.ts:469</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="setuplocaltransceivers" class="tsd-anchor"></a>
<h3>setup<wbr>Local<wbr>Transceivers</h3>
Expand Down Expand Up @@ -946,6 +996,9 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="defaulttransceivercontroller.html#addredundantaudiorecoverymetricsobserver" class="tsd-kind-icon">add<wbr>Redundant<wbr>Audio<wbr>Recovery<wbr>Metrics<wbr>Observer</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="defaulttransceivercontroller.html#addtransceiver" class="tsd-kind-icon">add<wbr>Transceiver</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="defaulttransceivercontroller.html#getmidforgroupid" class="tsd-kind-icon">get<wbr>Mid<wbr>For<wbr>Group<wbr>Id</a>
</li>
Expand Down Expand Up @@ -994,6 +1047,9 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="defaulttransceivercontroller.html#setvideosendingbitratekbps" class="tsd-kind-icon">set<wbr>Video<wbr>Sending<wbr>Bitrate<wbr>Kbps</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="defaulttransceivercontroller.html#setupaudioredworker" class="tsd-kind-icon">setup<wbr>Audio<wbr>Red<wbr>Worker</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="defaulttransceivercontroller.html#setuplocaltransceivers" class="tsd-kind-icon">setup<wbr>Local<wbr>Transceivers</a>
</li>
Expand Down
62 changes: 60 additions & 2 deletions docs/classes/simulcastcontentsharetransceivercontroller.html
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ <h3>Properties</h3>
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="simulcastcontentsharetransceivercontroller.html#addredundantaudiorecoverymetricsobserver" class="tsd-kind-icon">add<wbr>Redundant<wbr>Audio<wbr>Recovery<wbr>Metrics<wbr>Observer</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="simulcastcontentsharetransceivercontroller.html#addtransceiver" class="tsd-kind-icon">add<wbr>Transceiver</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="simulcastcontentsharetransceivercontroller.html#copyencodingparams" class="tsd-kind-icon">copy<wbr>Encoding<wbr>Params</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="simulcastcontentsharetransceivercontroller.html#getmidforgroupid" class="tsd-kind-icon">get<wbr>Mid<wbr>For<wbr>Group<wbr>Id</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="simulcastcontentsharetransceivercontroller.html#getmidforstreamid" class="tsd-kind-icon">get<wbr>Mid<wbr>For<wbr>Stream<wbr>Id</a></li>
Expand All @@ -131,6 +132,7 @@ <h3>Methods</h3>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="simulcastcontentsharetransceivercontroller.html#setstreamidformid" class="tsd-kind-icon">set<wbr>Stream<wbr>IdFor<wbr>Mid</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="simulcastcontentsharetransceivercontroller.html#setvideoinput" class="tsd-kind-icon">set<wbr>Video<wbr>Input</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="simulcastcontentsharetransceivercontroller.html#setvideosendingbitratekbps" class="tsd-kind-icon">set<wbr>Video<wbr>Sending<wbr>Bitrate<wbr>Kbps</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="simulcastcontentsharetransceivercontroller.html#setupaudioredworker" class="tsd-kind-icon">setup<wbr>Audio<wbr>Red<wbr>Worker</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="simulcastcontentsharetransceivercontroller.html#setuplocaltransceivers" class="tsd-kind-icon">setup<wbr>Local<wbr>Transceivers</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="simulcastcontentsharetransceivercontroller.html#trackisvideoinput" class="tsd-kind-icon">track<wbr>IsVideo<wbr>Input</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="simulcastcontentsharetransceivercontroller.html#transceiverisvideo" class="tsd-kind-icon">transceiver<wbr>IsVideo</a></li>
Expand Down Expand Up @@ -376,6 +378,38 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</spa
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected">
<a name="addtransceiver" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> add<wbr>Transceiver</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">add<wbr>Transceiver<span class="tsd-signature-symbol">(</span>trackOrKind<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MediaStreamTrack</span>, init<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">RTCRtpTransceiverInit</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">RTCRtpTransceiver</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="simulcasttransceivercontroller.html">SimulcastTransceiverController</a>.<a href="simulcasttransceivercontroller.html#addtransceiver">addTransceiver</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/main/src/transceivercontroller/DefaultTransceiverController.ts#L591">src/transceivercontroller/DefaultTransceiverController.ts:591</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Adds a transceiver to the peer connection and performs additional necessary setup.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>trackOrKind: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MediaStreamTrack</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> init: <span class="tsd-signature-type">RTCRtpTransceiverInit</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">RTCRtpTransceiver</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected">
<a name="copyencodingparams" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> copy<wbr>Encoding<wbr>Params</h3>
Expand All @@ -387,7 +421,7 @@ <h3><span class="tsd-flag ts-flagProtected">Protected</span> copy<wbr>Encoding<w
<aside class="tsd-sources">
<p>Inherited from <a href="simulcasttransceivercontroller.html">SimulcastTransceiverController</a>.<a href="simulcasttransceivercontroller.html#copyencodingparams">copyEncodingParams</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/main/src/transceivercontroller/SimulcastTransceiverController.ts#L123">src/transceivercontroller/SimulcastTransceiverController.ts:123</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/main/src/transceivercontroller/SimulcastTransceiverController.ts#L128">src/transceivercontroller/SimulcastTransceiverController.ts:128</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
Expand Down Expand Up @@ -547,7 +581,7 @@ <h3><span class="tsd-flag ts-flagProtected">Protected</span> log<wbr>Video<wbr>T
<aside class="tsd-sources">
<p>Inherited from <a href="simulcasttransceivercontroller.html">SimulcastTransceiverController</a>.<a href="simulcasttransceivercontroller.html#logvideotransceiverparameters">logVideoTransceiverParameters</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/main/src/transceivercontroller/SimulcastTransceiverController.ts#L113">src/transceivercontroller/SimulcastTransceiverController.ts:113</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/main/src/transceivercontroller/SimulcastTransceiverController.ts#L118">src/transceivercontroller/SimulcastTransceiverController.ts:118</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
Expand Down Expand Up @@ -883,6 +917,24 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected">
<a name="setupaudioredworker" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> setup<wbr>Audio<wbr>Red<wbr>Worker</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">setup<wbr>Audio<wbr>Red<wbr>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="simulcasttransceivercontroller.html">SimulcastTransceiverController</a>.<a href="simulcasttransceivercontroller.html#setupaudioredworker">setupAudioRedWorker</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/main/src/transceivercontroller/DefaultTransceiverController.ts#L469">src/transceivercontroller/DefaultTransceiverController.ts:469</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="setuplocaltransceivers" class="tsd-anchor"></a>
<h3>setup<wbr>Local<wbr>Transceivers</h3>
Expand Down Expand Up @@ -1085,6 +1137,9 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="simulcastcontentsharetransceivercontroller.html#addredundantaudiorecoverymetricsobserver" class="tsd-kind-icon">add<wbr>Redundant<wbr>Audio<wbr>Recovery<wbr>Metrics<wbr>Observer</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected">
<a href="simulcastcontentsharetransceivercontroller.html#addtransceiver" class="tsd-kind-icon">add<wbr>Transceiver</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected">
<a href="simulcastcontentsharetransceivercontroller.html#copyencodingparams" class="tsd-kind-icon">copy<wbr>Encoding<wbr>Params</a>
</li>
Expand Down Expand Up @@ -1139,6 +1194,9 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="simulcastcontentsharetransceivercontroller.html#setvideosendingbitratekbps" class="tsd-kind-icon">set<wbr>Video<wbr>Sending<wbr>Bitrate<wbr>Kbps</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected">
<a href="simulcastcontentsharetransceivercontroller.html#setupaudioredworker" class="tsd-kind-icon">setup<wbr>Audio<wbr>Red<wbr>Worker</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="simulcastcontentsharetransceivercontroller.html#setuplocaltransceivers" class="tsd-kind-icon">setup<wbr>Local<wbr>Transceivers</a>
</li>
Expand Down
Loading

0 comments on commit bdb14b4

Please sign in to comment.