From af179c6184fa15c313e165efef3127f4106f04bd Mon Sep 17 00:00:00 2001 From: Sangwon Oh Date: Fri, 19 Jan 2024 17:09:04 +0900 Subject: [PATCH] Fix the issue where playback was not possible when reloading after stopping webrtc playback. https://github.com/AirenSoft/OvenPlayer/issues/370 --- .../provider/html5/providers/WebRTCLoader.js | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/js/api/provider/html5/providers/WebRTCLoader.js b/src/js/api/provider/html5/providers/WebRTCLoader.js index 0242736c..6b486f22 100644 --- a/src/js/api/provider/html5/providers/WebRTCLoader.js +++ b/src/js/api/provider/html5/providers/WebRTCLoader.js @@ -1,5 +1,5 @@ import _ from "utils/underscore"; -import {analUserAgent} from "utils/browser"; +import { analUserAgent } from "utils/browser"; import { ERRORS, PLAYER_WEBRTC_WS_ERROR, @@ -15,17 +15,17 @@ import { PEER_CONNECTION_PREPARED } from "api/constants"; import sizeHumanizer from "../../../../utils/sizeHumanizer"; -import {PEER_CONNECTION_DESTROYED} from "../../../constants"; +import { PEER_CONNECTION_DESTROYED } from "../../../constants"; const WebRTCLoader = function (provider, - webSocketUrl, - loadCallback, - connectedCallback, - internalErrorCallback, - errorTrigger, - playerConfig, - spec) { + webSocketUrl, + loadCallback, + connectedCallback, + internalErrorCallback, + errorTrigger, + playerConfig, + spec) { let defaultConnectionConfig = {}; @@ -673,7 +673,7 @@ const WebRTCLoader = function (provider, if (message.command === 'ping') { - sendMessage(ws, {command: 'pong'}); + sendMessage(ws, { command: 'pong' }); return; } @@ -759,9 +759,9 @@ const WebRTCLoader = function (provider, let qualityIndex = -1; - for (let i = 0; i < playlistFromOme.renditions.length; i ++) { + for (let i = 0; i < playlistFromOme.renditions.length; i++) { - if (rendition.rendition_name === playlistFromOme.renditions[i].name) { + if (rendition.rendition_name === playlistFromOme.renditions[i].name) { qualityIndex = i; spec.currentQuality = i; break; @@ -949,6 +949,10 @@ const WebRTCLoader = function (provider, return -1; } + if (!mainPeerConnectionInfo) { + return -1; + } + let rendition = playlistFromOme.renditions[qualityIndex]; if (!rendition) { @@ -975,6 +979,10 @@ const WebRTCLoader = function (provider, provider.setAutoQuality = (auto) => { + if (!mainPeerConnectionInfo) { + return; + } + sendMessage(ws, { command: 'change_rendition', id: mainPeerConnectionInfo.id,