Merge pull request 'BUR-58 исправлен import mpegts.' (#16) from bur-58 into dev

Reviewed-on: #16
This commit was merged in pull request #16.
This commit is contained in:
2026-07-05 10:05:03 +00:00

View File

@@ -1,3 +1,4 @@
import mpegts from 'mpegts.js';
import { useEffect, useRef, useState } from 'react';
type CameraViewProps = {
@@ -11,8 +12,7 @@ export function CameraView({ title = 'Камера', wsUrl }: CameraViewProps) {
useEffect(() => {
const video = videoRef.current;
let player: import('mpegts.js').default.Player | null = null;
let cancelled = false;
let player: ReturnType<typeof mpegts.createPlayer> | null = null;
if (!video) {
return;
@@ -22,14 +22,11 @@ export function CameraView({ title = 'Камера', wsUrl }: CameraViewProps) {
video.addEventListener('playing', clearError);
setError(null);
void import('mpegts.js').then(({ default: mpegts }) => {
if (cancelled) {
return;
}
if (!mpegts.isSupported()) {
setError('Браузер не поддерживает MPEG-TS поток');
return;
return () => {
video.removeEventListener('playing', clearError);
};
}
player = mpegts.createPlayer(
@@ -44,10 +41,8 @@ export function CameraView({ title = 'Камера', wsUrl }: CameraViewProps) {
if (playResult instanceof Promise) {
void playResult.then(() => setError(null)).catch(() => setError('Не удалось запустить воспроизведение'));
}
});
return () => {
cancelled = true;
video.removeEventListener('playing', clearError);
player?.pause();
player?.unload();