diff --git a/packages/rrweb/src/record/observers/canvas/canvas-manager.ts b/packages/rrweb/src/record/observers/canvas/canvas-manager.ts index 33624653..cd617d98 100644 --- a/packages/rrweb/src/record/observers/canvas/canvas-manager.ts +++ b/packages/rrweb/src/record/observers/canvas/canvas-manager.ts @@ -446,17 +446,14 @@ export class CanvasManager { // video is not yet ready... this retry on the next sampling iteration. // we don't want to crash the worker by sending an undefined bitmap // if the video is not yet rendered. - if ( - video.width === 0 || - video.height === 0 || - actualWidth === 0 || - actualHeight === 0 || - boxWidth === 0 || - boxHeight === 0 - ) { + if (maxDim === 0) { this.debug(video, 'not yet ready', { width: video.width, height: video.height, + actualWidth, + actualHeight, + boxWidth, + boxHeight, }); return; } diff --git a/packages/rrweb/src/replay/media/index.ts b/packages/rrweb/src/replay/media/index.ts index 4009cd6d..3cc4ce83 100644 --- a/packages/rrweb/src/replay/media/index.ts +++ b/packages/rrweb/src/replay/media/index.ts @@ -52,7 +52,7 @@ export class MediaManager { private syncAllMediaElements(options = { pause: false }) { this.mediaMap.forEach((_mediaState, target) => { this.syncTargetWithState(target); - if (options.pause) { + if (options.pause && target.pause) { target.pause(); } });