Skip to content

Commit

Permalink
Clarify comment on previous fix (#1838)
Browse files Browse the repository at this point in the history
  • Loading branch information
hensmi-amazon authored Nov 29, 2021
1 parent 18e5821 commit b02ea34
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 13 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed

### Changed
- Clarified comment in `DefaultSimulcastUplinkPolicy`.

## [2.23.0] - 2021-11-22
### Added
Expand Down
24 changes: 12 additions & 12 deletions docs/classes/defaultsimulcastuplinkpolicy.html
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ <h3>add<wbr>Observer</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#addobserver">addObserver</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L388">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:388</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L395">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:395</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
Expand All @@ -259,7 +259,7 @@ <h3>choose<wbr>Capture<wbr>And<wbr>Encode<wbr>Parameters</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#choosecaptureandencodeparameters">chooseCaptureAndEncodeParameters</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L292">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:292</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L299">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:299</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">DefaultVideoAndEncodeParameter</span></h4>
Expand All @@ -277,7 +277,7 @@ <h3>choose<wbr>Encoding<wbr>Parameters</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#chooseencodingparameters">chooseEncodingParameters</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L202">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:202</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L209">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:209</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">RTCRtpEncodingParameters</span><span class="tsd-signature-symbol">&gt;</span></h4>
Expand All @@ -295,7 +295,7 @@ <h3>choose<wbr>Media<wbr>Track<wbr>Constraints</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#choosemediatrackconstraints">chooseMediaTrackConstraints</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L191">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:191</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L198">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:198</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">MediaTrackConstraints</span></h4>
Expand All @@ -312,7 +312,7 @@ <h3>for<wbr>Each<wbr>Observer</h3>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L398">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:398</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L405">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:405</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
Expand Down Expand Up @@ -353,7 +353,7 @@ <h3>get<wbr>Encoding<wbr>Simulcast<wbr>Layer</h3>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L366">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:366</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L373">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:373</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
Expand All @@ -377,7 +377,7 @@ <h3>max<wbr>Bandwidth<wbr>Kbps</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#maxbandwidthkbps">maxBandwidthKbps</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L315">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:315</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L322">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:322</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
Expand All @@ -395,7 +395,7 @@ <h3>remove<wbr>Observer</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#removeobserver">removeObserver</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L393">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:393</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L400">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:400</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
Expand All @@ -419,7 +419,7 @@ <h3>set<wbr>Has<wbr>Bandwidth<wbr>Priority</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#sethasbandwidthpriority">setHasBandwidthPriority</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L324">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:324</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L331">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:331</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
Expand All @@ -443,7 +443,7 @@ <h3>set<wbr>Ideal<wbr>Max<wbr>Bandwidth<wbr>Kbps</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#setidealmaxbandwidthkbps">setIdealMaxBandwidthKbps</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L320">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:320</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L327">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:327</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
Expand Down Expand Up @@ -495,7 +495,7 @@ <h3>update<wbr>Index</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#updateindex">updateIndex</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L212">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:212</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L219">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:219</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
Expand All @@ -519,7 +519,7 @@ <h3>wants<wbr>Resubscribe</h3>
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/simulcastuplinkpolicy.html">SimulcastUplinkPolicy</a>.<a href="../interfaces/simulcastuplinkpolicy.html#wantsresubscribe">wantsResubscribe</a></p>
<ul>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L239">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:239</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts#L246">src/videouplinkbandwidthpolicy/DefaultSimulcastUplinkPolicy.ts:246</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,21 @@ export default class DefaultSimulcastUplinkPolicy implements SimulcastUplinkPoli
// The value of `newActiveStreams` is somewhat irrelevant since this single
// stream will adapt based on both sender and receiver network conditions.
//
// We don't use top layer (middle vs. low doesn't matter) here to work around a bug in Chromium where
// We use middle layer here to work around a bug in Chromium where
// it seems when a transceiver is created when BWE is low (e.g. on a reconnection),
// it will never reset the encoder even when `setParameters` is called. WebRTC bug
// #12788 seems to call a similar issue out as fixed for VP8, it's not clear if this
// is the same issue for H.264. Additionally we are not able to force a keyframe
// request from the backend since it will only be sending padding (which also
// don't have MID due to #10822). Since we don't scale when simulcast is disabled
// this doesn't have any end-user effect.
//
// Note that this still relies on a little bit (5-6 packets) of padding on reconnect
// and that technically the browser will still eventually try to send all 3 streams.
//
// Also note that due to some uninvestigated logic in bitrate allocation, Chromium
// will skip the bottom layer if we try setting it to 1200 kbps instead so it will still take a while to
// recover (as it needs to send padding until it reaches around 1000 kbps).
this.newActiveStreams = ActiveStreams.kHi;
newBitrates[0].maxBitrateKbps = 0;
newBitrates[1].maxBitrateKbps = 1200;
Expand Down

0 comments on commit b02ea34

Please sign in to comment.