Dispatch load events for mp4/mjpeg from go2rtc.
This commit is contained in:
@@ -1,13 +1,13 @@
|
|||||||
import { mayHaveAudio } from '../../../utils/audio';
|
import { mayHaveAudio } from '../../../utils/audio';
|
||||||
import {
|
import {
|
||||||
hideMediaControlsTemporarily,
|
hideMediaControlsTemporarily,
|
||||||
MEDIA_LOAD_CONTROLS_HIDE_SECONDS
|
MEDIA_LOAD_CONTROLS_HIDE_SECONDS,
|
||||||
} from '../../../utils/media';
|
} from '../../../utils/media';
|
||||||
import {
|
import {
|
||||||
dispatchMediaLoadedEvent,
|
dispatchMediaLoadedEvent,
|
||||||
dispatchMediaPauseEvent,
|
dispatchMediaPauseEvent,
|
||||||
dispatchMediaPlayEvent,
|
dispatchMediaPlayEvent,
|
||||||
dispatchMediaVolumeChangeEvent
|
dispatchMediaVolumeChangeEvent,
|
||||||
} from '../../../utils/media-info';
|
} from '../../../utils/media-info';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -630,9 +630,18 @@ export class VideoRTC extends HTMLElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onmjpeg() {
|
onmjpeg() {
|
||||||
|
let receivedFirstFrame = false;
|
||||||
|
|
||||||
this.ondata = (data) => {
|
this.ondata = (data) => {
|
||||||
this.video.controls = false;
|
this.video.controls = false;
|
||||||
this.video.poster = 'data:image/jpeg;base64,' + VideoRTC.btoa(data);
|
this.video.poster = 'data:image/jpeg;base64,' + VideoRTC.btoa(data);
|
||||||
|
|
||||||
|
if (!receivedFirstFrame) {
|
||||||
|
receivedFirstFrame = true;
|
||||||
|
dispatchMediaLoadedEvent(this, this.video, {
|
||||||
|
player: this.containingPlayer,
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.send({ type: 'mjpeg' });
|
this.send({ type: 'mjpeg' });
|
||||||
@@ -655,6 +664,10 @@ export class VideoRTC extends HTMLElement {
|
|||||||
canvas.width = video2.videoWidth;
|
canvas.width = video2.videoWidth;
|
||||||
canvas.height = video2.videoHeight;
|
canvas.height = video2.videoHeight;
|
||||||
context = canvas.getContext('2d');
|
context = canvas.getContext('2d');
|
||||||
|
|
||||||
|
dispatchMediaLoadedEvent(this, video2, {
|
||||||
|
player: this.containingPlayer,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
context.drawImage(video2, 0, 0, canvas.width, canvas.height);
|
context.drawImage(video2, 0, 0, canvas.width, canvas.height);
|
||||||
|
|||||||
Reference in New Issue
Block a user