aboutsummaryrefslogtreecommitdiff
path: root/web/script/player/mediacaps.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-04-16 00:09:35 +0200
committermetamuffin <metamuffin@disroot.org>2025-04-16 00:09:35 +0200
commit39dee6820db4581fa41cfac8bcfdd399a96f5319 (patch)
treec605156a6757e5623fae36635722758947e0db65 /web/script/player/mediacaps.ts
parent50dc0e7bea02d7fc5b38edb7f943e19bd8c0285b (diff)
downloadjellything-39dee6820db4581fa41cfac8bcfdd399a96f5319.tar
jellything-39dee6820db4581fa41cfac8bcfdd399a96f5319.tar.bz2
jellything-39dee6820db4581fa41cfac8bcfdd399a96f5319.tar.zst
transcode impl but broken
Diffstat (limited to 'web/script/player/mediacaps.ts')
-rw-r--r--web/script/player/mediacaps.ts11
1 files changed, 6 insertions, 5 deletions
diff --git a/web/script/player/mediacaps.ts b/web/script/player/mediacaps.ts
index 037a84b..29cd64a 100644
--- a/web/script/player/mediacaps.ts
+++ b/web/script/player/mediacaps.ts
@@ -22,9 +22,9 @@ export async function test_media_capability(format: FormatInfo, container: Strea
return r
}
async function test_media_capability_inner(format: FormatInfo, container: StreamContainer) {
- if (format.codec.startsWith("S_") || format.codec.startsWith("V_") || format.codec.startsWith("D_")) {
+ if (format.codec.startsWith("S_") || format.codec.startsWith("D_")) {
// TODO do we need to check this?
- return format.codec == "V_TEXT/WEBVTT" || format.codec == "D_WEBVTT/SUBTITLES"
+ return format.codec == "S_TEXT/WEBVTT" || format.codec == "S_TEXT/UTF8" || format.codec == "D_WEBVTT/SUBTITLES"
}
let res;
if (format.codec.startsWith("A_")) {
@@ -50,19 +50,20 @@ async function test_media_capability_inner(format: FormatInfo, container: Stream
}
})
}
- console.log(format, res);
return res?.supported ?? false
}
export function track_to_content_type(format: FormatInfo, container: StreamContainer): string {
- return `${CONTAINER_TO_MIME_TYPE[container]}; codecs="${MASTROSKA_CODEC_MAP[format.codec]}"`
+ let c = CONTAINER_TO_MIME_TYPE[container];
+ if (format.codec.startsWith("A_")) c = c.replace("video/", "audio/")
+ return `${c}; codecs="${MASTROSKA_CODEC_MAP[format.codec]}"`
}
const MASTROSKA_CODEC_MAP: { [key: string]: string } = {
"V_VP9": "vp9",
"V_VP8": "vp8",
"V_AV1": "av1",
- "V_MPEG4/ISO/AVC": "h264",
+ "V_MPEG4/ISO/AVC": "avc1.4d002a",
"V_MPEGH/ISO/HEVC": "h265",
"A_OPUS": "opus",
"A_VORBIS": "vorbis",