Skip to content

Commit edcf39f

Browse files
mstyurarobwalch
authored andcommitted
[Debug]: Log playback rate adjustments.
1 parent d41ac0d commit edcf39f

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/controller/latency-controller.ts

+16-2
Original file line numberDiff line numberDiff line change
@@ -256,12 +256,26 @@ export default class LatencyController implements ComponentAPI {
256256
(2 / (1 + Math.exp(-0.75 * distanceFromTarget - this.edgeStalled))) *
257257
20,
258258
) / 20;
259-
media.playbackRate = Math.min(max, Math.max(1, rate));
259+
const playbackRate = Math.min(max, Math.max(1, rate));
260+
this.changeMediaPlaybackRate(media, playbackRate);
260261
} else if (media.playbackRate !== 1 && media.playbackRate !== 0) {
261-
media.playbackRate = 1;
262+
this.changeMediaPlaybackRate(media, 1);
262263
}
263264
};
264265

266+
private changeMediaPlaybackRate(
267+
media: HTMLMediaElement,
268+
playbackRate: number,
269+
) {
270+
if (media.playbackRate === playbackRate) {
271+
return;
272+
}
273+
this.hls?.logger.debug(
274+
`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${this.targetLatency?.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${media.playbackRate} to ${playbackRate}`,
275+
);
276+
media.playbackRate = playbackRate;
277+
}
278+
265279
private estimateLiveEdge(): number | null {
266280
const levelDetails = this.levelDetails;
267281
if (levelDetails === null) {

0 commit comments

Comments
 (0)