diff --git a/materialious/electron/package-lock.json b/materialious/electron/package-lock.json index 670214df..4a1451a0 100644 --- a/materialious/electron/package-lock.json +++ b/materialious/electron/package-lock.json @@ -1,12 +1,12 @@ { "name": "Materialious", - "version": "1.10.9", + "version": "1.10.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "Materialious", - "version": "1.10.9", + "version": "1.10.10", "license": "MIT", "dependencies": { "@capacitor-community/electron": "^5.0.0", diff --git a/materialious/package-lock.json b/materialious/package-lock.json index 3ef2eaa2..1aeae27d 100644 --- a/materialious/package-lock.json +++ b/materialious/package-lock.json @@ -1,12 +1,12 @@ { "name": "materialious", - "version": "1.10.9", + "version": "1.10.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "materialious", - "version": "1.10.9", + "version": "1.10.10", "hasInstallScript": true, "dependencies": { "@capacitor-community/electron": "^5.0.1", diff --git a/materialious/src/lib/components/Player.svelte b/materialious/src/lib/components/Player.svelte index 48ac9721..d2db685e 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -428,7 +428,6 @@ player = new shaka.Player(); - // YouTube's defaults player.configure({ abr: { enabled: true, @@ -438,18 +437,18 @@ } }, streaming: { + failureCallback: (error: shaka.util.Error) => { + console.error('Streaming failure:', error); + player.retryStreaming(5); + }, bufferingGoal: 120, rebufferingGoal: 0.01, bufferBehind: 300, retryParameters: { - maxAttempts: 30, - baseDelay: 1500, - backoffFactor: 2.5, - fuzzFactor: 0.7, - timeout: 120000 - }, - stallThreshold: 2, - stallSkip: 0.5 + maxAttempts: 8, + fuzzFactor: 0.5, + timeout: 30 * 1000 + } } }); playerElement = document.getElementById('player') as HTMLMediaElement; diff --git a/materialious/src/lib/patches/youtubejs.ts b/materialious/src/lib/patches/youtubejs.ts index 6431e047..514d0bb1 100644 --- a/materialious/src/lib/patches/youtubejs.ts +++ b/materialious/src/lib/patches/youtubejs.ts @@ -39,12 +39,6 @@ export async function patchYoutubeJs(videoId: string): Promise { ? androidPoTokenMinter : window.electronAPI.generatePoToken; - poTokenCacheStore.set(BG.PoToken.generateColdStartToken(visitorData)); - - platformMinter(challengeResponse.bg_challenge, requestKey, visitorData).then((poToken) => - poTokenCacheStore.set(poToken) - ); - const extraArgs: Record = { playbackContext: { contentPlaybackContext: { @@ -78,6 +72,18 @@ export async function patchYoutubeJs(videoId: string): Promise { throw new Error('Unable to pull video info from youtube.js'); } + if (video.basic_info.is_live) { + poTokenCacheStore.set( + await platformMinter(challengeResponse.bg_challenge, requestKey, visitorData) + ); + } else { + poTokenCacheStore.set(BG.PoToken.generateColdStartToken(visitorData)); + + platformMinter(challengeResponse.bg_challenge, requestKey, visitorData).then((poToken) => + poTokenCacheStore.set(poToken) + ); + } + let dashUri: string | undefined; if (video.streaming_data) {