another attempt at fixing mpd streams

This commit is contained in:
arabcoders 2025-05-02 19:49:13 +03:00
parent 1754841df0
commit 99a2f60ad7
3 changed files with 724 additions and 651 deletions

View file

@ -60,18 +60,16 @@ def _patched_prepare_live_from_start_formats(
with lock: with lock:
refetch_manifest(format_id, delay) refetch_manifest(format_id, delay)
# only pick formats that actually have a manifest_url f = next((f for f in formats if f.get("format_id") == format_id), None)
f = next((f for f in formats if f.get("format_id") == format_id and "manifest_url" in f), None)
if not f: if not f:
if f and isinstance(f, dict) and "manifest_url" not in f: if not is_live:
retry.error = f"{video_id}: In post manifest-less mode"
elif not is_live:
retry.error = f"{video_id}: Video is no longer live" retry.error = f"{video_id}: Video is no longer live"
else: else:
retry.error = f"Cannot find refreshed manifest for format {format_id}{bug_reports_message()}" retry.error = f"Cannot find refreshed manifest for format {format_id}{bug_reports_message()}"
continue continue
return f.get("manifest_url"), f.get("manifest_stream_number"), is_live return (f["manifest_url"], f["manifest_stream_number"], is_live) if f else None
return None return None
for f in formats: for f in formats:

View file

@ -12,17 +12,17 @@
"web-types": "./web-types.json", "web-types": "./web-types.json",
"dependencies": { "dependencies": {
"@pinia/nuxt": "^0.11.0", "@pinia/nuxt": "^0.11.0",
"@sentry/nuxt": "^9.14.0", "@sentry/nuxt": "^9.15.0",
"@vueuse/core": "^13.1.0", "@vueuse/core": "^13.1.0",
"@vueuse/nuxt": "^13.1.0", "@vueuse/nuxt": "^13.1.0",
"@xterm/addon-fit": "^0.10.0", "@xterm/addon-fit": "^0.10.0",
"@xterm/xterm": "^5.5.0", "@xterm/xterm": "^5.5.0",
"cron-parser": "^5.1.1", "cron-parser": "^5.1.1",
"cronstrue": "^2.59.0", "cronstrue": "^2.60.0",
"floating-vue": "^5.2.2", "floating-vue": "^5.2.2",
"hls.js": "^1.6.2", "hls.js": "^1.6.2",
"moment": "^2.30.1", "moment": "^2.30.1",
"nuxt": "^3.16.2", "nuxt": "^3.17.1",
"pinia": "^3.0.2", "pinia": "^3.0.2",
"socket.io-client": "^4.7.2", "socket.io-client": "^4.7.2",
"vue": "^3.4", "vue": "^3.4",

File diff suppressed because it is too large Load diff