From 47a22b6540e478446f1df612b74ad6ae34c92611 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Tue, 13 Jun 2023 11:10:31 +0900 Subject: [PATCH] Always name audio tracks --- front/packages/ui/src/player/index.tsx | 1 - front/packages/ui/src/player/state.tsx | 18 ++++++++++-------- transcoder/src/state.rs | 7 ++++++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/front/packages/ui/src/player/index.tsx b/front/packages/ui/src/player/index.tsx index a638554d..6e395ba0 100644 --- a/front/packages/ui/src/player/index.tsx +++ b/front/packages/ui/src/player/index.tsx @@ -165,7 +165,6 @@ export const Player: QueryPage<{ slug: string }> = ({ slug }) => { e.preventDefault(); displayControls ? setMouseMoved(false) : show(); }} - onStartShouldSetResponder={(e) => true} onPointerDown={(e) => { e.preventDefault(); if (e.nativeEvent.pointerType !== "mouse") { diff --git a/front/packages/ui/src/player/state.tsx b/front/packages/ui/src/player/state.tsx index 594f415b..ff61d7f9 100644 --- a/front/packages/ui/src/player/state.tsx +++ b/front/packages/ui/src/player/state.tsx @@ -65,7 +65,7 @@ export const fullscreenAtom = atom( set(privateFullscreen, false); screen.orientation.unlock(); } - } catch(e) { + } catch (e) { console.error(e); } }, @@ -134,7 +134,10 @@ export const Video = memo(function _Video({ volume={volume} resizeMode="contain" onBuffer={({ isBuffering }) => setLoad(isBuffering)} - onError={(status) => setError(status.error.errorString)} + onError={(status) => { + console.error(status); + setError(status.error.errorString); + }} onProgress={(progress) => { setPrivateProgress(progress.currentTime); setBuffered(progress.playableDuration); @@ -146,17 +149,16 @@ export const Video = memo(function _Video({ selectedTextTrack={ subtitle ? { - type: "index", - value: subtitle.trackIndex, - } + type: "index", + value: subtitle.trackIndex, + } : { type: "disabled" } } fonts={fonts} onMediaUnsupported={() => { - if (mode == PlayMode.Direct) - setPlayMode(PlayMode.Hls); + if (mode == PlayMode.Direct) setPlayMode(PlayMode.Hls); }} - // TODO: textTracks: external subtitles + // TODO: textTracks: external subtitles /> ); }); diff --git a/transcoder/src/state.rs b/transcoder/src/state.rs index 6df4deec..ecfacb0b 100644 --- a/transcoder/src/state.rs +++ b/transcoder/src/state.rs @@ -70,11 +70,16 @@ impl Transcoder { // The group-id allows to distinguish multiple qualities from multiple variants. // We could create another quality set and use group-ids hiqual and lowqual. master.push_str("GROUP-ID=\"audio\","); - if let Some(language) = audio.language { + if let Some(language) = audio.language.clone() { master.push_str(format!("LANGUAGE=\"{}\",", language).as_str()); } + // Exoplayer throws if audio tracks dont have names so we always add one. if let Some(title) = audio.title { master.push_str(format!("NAME=\"{}\",", title).as_str()); + } else if let Some(language) = audio.language { + master.push_str(format!("NAME=\"{}\"", language).as_str()); + } else { + master.push_str(format!("NAME=\"Audio {}\"", audio.index).as_str()); } // TODO: Support aac5.1 (and specify the number of channel bellow) // master.push_str(format!("CHANNELS=\"{}\",", 2).as_str());