Skip to content

Commit

Permalink
Fix flaky AV1 e2e
Browse files Browse the repository at this point in the history
  • Loading branch information
streamer45 committed Dec 20, 2024
1 parent 892145d commit 69a0afe
Showing 1 changed file with 27 additions and 45 deletions.
72 changes: 27 additions & 45 deletions e2e/tests/media.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,46 +160,35 @@ test.describe('screen sharing', () => {

type rtcCodecStats = {
type: string,
mimeType: string,
codecId: string,
};

type rtcCodecs = {
vp8?: rtcCodecStats,
av1?: rtcCodecStats,
};

let rxCodecs = await receiverPage.page.evaluate(async () => {
let rxCodec = await receiverPage.page.evaluate(async () => {
const stats = await window.callsClient.peer.pc.getStats();
const codecs: rtcCodecs = {};
let codec = '';
stats.forEach((report: rtcCodecStats) => {
if (report.type === 'codec') {
if (report.mimeType === 'video/VP8') {
codecs.vp8 = report;
} else if (report.mimeType === 'video/AV1') {
codecs.av1 = report;
}
if (report.type !== 'inbound-rtp') {
return;
}
codec = report.codecId;
});
return codecs;
return codec;
});
expect(rxCodecs.av1).toBeDefined();
expect(rxCodec).toBe('CIT01_45_level-idx=5;profile=0;tier=0');

let txCodecs = await senderPage.page.evaluate(async () => {
const stats = await window.callsClient.peer.pc.getStats();
const codecs: rtcCodecs = {};
const codecs: string[] = [];
stats.forEach((report: rtcCodecStats) => {
if (report.type === 'codec') {
if (report.mimeType === 'video/VP8') {
codecs.vp8 = report;
} else if (report.mimeType === 'video/AV1') {
codecs.av1 = report;
}
if (report.type !== 'outbound-rtp') {
return;
}
codecs.push(report.codecId);
});
return codecs;
});
expect(txCodecs.vp8).toBeDefined();
expect(txCodecs.av1).toBeDefined();
expect(txCodecs).toContain('COT01_39_level-idx=5;profile=0;tier=0');
expect(txCodecs).toContain('COT01_96');

await page.getByTestId('calls-widget-stop-screenshare').click();

Expand Down Expand Up @@ -234,39 +223,32 @@ test.describe('screen sharing', () => {
// Give it a couple of seconds for encoders/decoders stats to be available.
await senderPage.wait(2000);

rxCodecs = await receiverPage.page.evaluate(async () => {
rxCodec = await receiverPage.page.evaluate(async () => {
const stats = await window.callsClient.peer.pc.getStats();
const codecs: rtcCodecs = {};
let codec = '';
stats.forEach((report: rtcCodecStats) => {
if (report.type === 'codec') {
if (report.mimeType === 'video/VP8') {
codecs.vp8 = report;
} else if (report.mimeType === 'video/AV1') {
codecs.av1 = report;
}
if (report.type !== 'inbound-rtp') {
return;
}
codec = report.codecId;
});
return codecs;
return codec;
});
expect(rxCodecs.vp8).toBeDefined();
expect(rxCodecs.av1).not.toBeDefined();
expect(rxCodec).toBe('CIT01_96');

txCodecs = await senderPage.page.evaluate(async () => {
const stats = await window.callsClient.peer.pc.getStats();
const codecs: rtcCodecs = {};
const codecs: string[] = [];
stats.forEach((report: rtcCodecStats) => {
if (report.type === 'codec') {
if (report.mimeType === 'video/VP8') {
codecs.vp8 = report;
} else if (report.mimeType === 'video/AV1') {
codecs.av1 = report;
}
if (report.type !== 'outbound-rtp') {
return;
}
codecs.push(report.codecId);
});
return codecs;
});
expect(txCodecs.vp8).toBeDefined();
expect(txCodecs.av1).not.toBeDefined();
expect(txCodecs).toHaveLength(1);
expect(txCodecs[0]).toBe('COT01_96');

await page.getByTestId('calls-widget-stop-screenshare').click();

Expand Down

0 comments on commit 69a0afe

Please sign in to comment.