From 851cf1b1ea508487f7db1bcb5bf897ea3af2a286 Mon Sep 17 00:00:00 2001 From: Tashrik Anam Date: Mon, 16 Oct 2023 12:09:40 +0600 Subject: [PATCH] Fix-1692: Error event not triggering when using array of urls For array of URLs, we are rendering tags. Errors on these tags do not trigger the parent players error event. So created a handleSourceError function which simply creates an Error event and dispatches that event on the player. --- src/players/FilePlayer.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/players/FilePlayer.js b/src/players/FilePlayer.js index a9750fc5..74802d2c 100644 --- a/src/players/FilePlayer.js +++ b/src/players/FilePlayer.js @@ -330,11 +330,19 @@ export default class FilePlayer extends Component { return url } + // As errors on the `source` tag does not trigger the error event of the + // parent video/audio tag (player). We have to manully trigger + // the players error event. + handleSourceError = () => { + const event = new Event('error', { bubbles: true }) + this.player.dispatchEvent(event) + } + renderSourceElement = (source, index) => { if (typeof source === 'string') { - return + return } - return + return } renderTrack = (track, index) => {