Skip to content

Commit

Permalink
Add error log when attendeeId is null and return empty video metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
ldai1 committed May 19, 2021
1 parent c1a2e35 commit 7e0b48c
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 8 deletions.
10 changes: 5 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add support for `WKWebView` on iOS.
- Output a warning message when the volume adapter cleans up the self-attendee after reconnection.
- Add FAQ for more information on `AudioJoinFromAnotherDevice` meeting session status code.
- Add downstream audio webrtc metrics in `observableMetricSpec`
- Add `getObservableVideoMetrics` and in ClientMetricReport to expose video stream metrics in webrtc
- Update `SignalingProtocol` with optional video metric fields
- Add downstream audio webrtc metrics in `observableMetricSpec`.
- Add `getObservableVideoMetrics` and in `ClientMetricReport` to expose video stream metrics in webrtc.
- Update `SignalingProtocol` with optional video metric fields.

### Changed
- Bump version for lodash, y18n, and ssri dependencies
- Mark `getObservableVideoMetrics` optional in ClientMetricReprt and `videoStreamIndex` and `selfAttendeeId` optional in DefaultClientMetricReport
- Bump version for lodash, y18n, and ssri dependencies.
- Mark `getObservableVideoMetrics` optional in ClientMetricReprt and `videoStreamIndex` and `selfAttendeeId` optional in `DefaultClientMetricReport`.

### Removed

Expand Down
6 changes: 3 additions & 3 deletions docs/classes/defaultclientmetricreport.html
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ <h3>clone</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/clientmetricreport/DefaultClientMetricReport.ts#L591">src/clientmetricreport/DefaultClientMetricReport.ts:591</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/clientmetricreport/DefaultClientMetricReport.ts#L597">src/clientmetricreport/DefaultClientMetricReport.ts:597</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
Expand Down Expand Up @@ -569,7 +569,7 @@ <h3>print</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/clientmetricreport/DefaultClientMetricReport.ts#L604">src/clientmetricreport/DefaultClientMetricReport.ts:604</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/clientmetricreport/DefaultClientMetricReport.ts#L610">src/clientmetricreport/DefaultClientMetricReport.ts:610</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
Expand All @@ -586,7 +586,7 @@ <h3>remove<wbr>Destroyed<wbr>Ssrcs</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/clientmetricreport/DefaultClientMetricReport.ts#L616">src/clientmetricreport/DefaultClientMetricReport.ts:616</a></li>
<li>Defined in <a href="https://github.com/aws/amazon-chime-sdk-js/blob/master/src/clientmetricreport/DefaultClientMetricReport.ts#L622">src/clientmetricreport/DefaultClientMetricReport.ts:622</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
Expand Down
6 changes: 6 additions & 0 deletions src/clientmetricreport/DefaultClientMetricReport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -557,6 +557,12 @@ export default class DefaultClientMetricReport implements ClientMetricReport {

getObservableVideoMetrics(): { [id: string]: { [id: string]: {} } } {
const videoStreamMetrics: { [id: string]: { [id: string]: {} } } = {};
if (!this.videoStreamIndex || !this.selfAttendeeId) {
this.logger.error(
'Need to define VideoStreamIndex and selfAttendeeId if using getObservableVideoMetrics API'
);
return;
}
for (const ssrc in this.streamMetricReports) {
if (this.streamMetricReports[ssrc].mediaType === MediaType.VIDEO) {
const metric: { [id: string]: number } = {};
Expand Down
14 changes: 14 additions & 0 deletions test/clientmetricreport/DefaultClientMetricReport.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -478,4 +478,18 @@ describe('DefaultClientMetricReport', () => {
expect(clientMetricReport.streamMetricReports[ssrc1]).to.equal(undefined);
});
});

describe('error logging', () => {
it('returns undefined observable video metrics if no VideoStreamIndex and selfAttendeeId defined stream metric reports', () => {
clientMetricReport = new DefaultClientMetricReport(new NoOpDebugLogger());
const ssrc = 1;
const report = new StreamMetricReport();
report.mediaType = MediaType.VIDEO;
report.direction = Direction.UPSTREAM;
report.currentMetrics['framesEncoded'] = 10;
clientMetricReport.streamMetricReports[ssrc] = report;
const videoStreamMetrics = clientMetricReport.getObservableVideoMetrics();
expect(videoStreamMetrics).to.equal(undefined);
});
});
});

0 comments on commit 7e0b48c

Please sign in to comment.