From 801e67860b87ce2f40a107fad6165732c6de99b2 Mon Sep 17 00:00:00 2001 From: nklhrstv Date: Thu, 2 Apr 2020 12:32:56 +0300 Subject: [PATCH] addon mapped as a stream prop in usePlayer --- src/routes/Player/Player.js | 9 ++++++++- src/routes/Player/usePlayer.js | 22 ++++++---------------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/routes/Player/Player.js b/src/routes/Player/Player.js index bd295caca..fab0793ea 100644 --- a/src/routes/Player/Player.js +++ b/src/routes/Player/Player.js @@ -221,7 +221,14 @@ const Player = ({ urlParams }) => { dispatch({ commandName: 'addSubtitlesTracks', commandArgs: { - tracks: player.selected.stream.subtitles + tracks: player.selected.stream.subtitles.map(({ url, lang }) => ({ + url, + lang, + origin: player.selected.stream.addon !== null ? + player.selected.stream.addon.manifest.name + : + 'EMBEDDED IN STREAM' + })) } }); } diff --git a/src/routes/Player/usePlayer.js b/src/routes/Player/usePlayer.js index 82f89dde5..36beda83e 100644 --- a/src/routes/Player/usePlayer.js +++ b/src/routes/Player/usePlayer.js @@ -16,23 +16,13 @@ const mapPlayerStateWithCtx = (player, ctx) => { { stream: { ...player.selected.stream, - subtitles: Array.isArray(player.selected.stream.subtitles) ? - player.selected.stream.subtitles.map(({ url, lang }) => ({ - url, - lang, - origin: ctx.profile.addons.reduce((origin, addon) => { - if (player.selected.stream_resource_request !== null && addon.transportUrl === player.selected.stream_resource_request.base) { - return typeof addon.manifest.name === 'string' && addon.manifest.name.length > 0 ? - addon.manifest.name - : - addon.manifest.id; - } + addon: ctx.profile.addons.reduce((result, addon) => { + if (player.selected.stream_resource_request !== null && addon.transportUrl === player.selected.stream_resource_request.base) { + return addon; + } - return origin; - }, player.selected.stream_resource_request !== null ? player.selected.stream_resource_request.base : 'Stream') - })) - : - [] + return result; + }, null) }, stream_resource_request: player.selected.stream_resource_request, meta_resource_request: player.selected.meta_resource_request,