Minor fixes causing some post live DVR not to load
This commit is contained in:
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "Materialious",
|
||||
"version": "1.9.5",
|
||||
"version": "1.9.6",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "Materialious",
|
||||
"version": "1.9.5",
|
||||
"version": "1.9.6",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@capacitor-community/electron": "^5.0.0",
|
||||
|
||||
@@ -129,7 +129,7 @@ export function injectSABR(
|
||||
type === shaka.net.NetworkingEngine.RequestType.SEGMENT &&
|
||||
url.pathname.includes('videoplayback')
|
||||
) {
|
||||
if (!video.liveNow) {
|
||||
if (!video.liveNow && !video.ytjs?.video.basic_info.is_post_live_dvr) {
|
||||
const currentFormat = formatList.find(
|
||||
(format) =>
|
||||
fromFormat(format) === (new URL(request.uris[0]).searchParams.get('___key') || '')
|
||||
@@ -283,7 +283,17 @@ export function injectSABR(
|
||||
request.headers['X-Streaming-Context'] = btoa(JSON.stringify(sabrStreamingContext));
|
||||
delete headers.Range;
|
||||
} else {
|
||||
url.pathname += `/ump/1/srfvp/1/pot/${get(poTokenCacheStore)}`;
|
||||
if (!video.liveNow && !video.ytjs?.video.basic_info.is_post_live_dvr) {
|
||||
url.searchParams.set('ump', '1');
|
||||
url.searchParams.set('srfvp', '1');
|
||||
if (headers.Range) {
|
||||
url.searchParams.set('range', headers.Range?.split('=')[1]);
|
||||
delete headers.Range;
|
||||
}
|
||||
} else {
|
||||
url.pathname += '/ump/1';
|
||||
url.pathname += '/srfvp/1';
|
||||
}
|
||||
|
||||
request.headers['X-Streaming-Context'] = btoa(
|
||||
JSON.stringify({
|
||||
|
||||
@@ -112,33 +112,31 @@ export class SabrUmpParser {
|
||||
}
|
||||
|
||||
private handlePart(part: Part): shaka.extern.Response | undefined {
|
||||
switch (part.type) {
|
||||
case PART.FORMAT_INITIALIZATION_METADATA:
|
||||
this.handleFormatInitMetadata(part);
|
||||
break;
|
||||
case PART.NEXT_REQUEST_POLICY:
|
||||
this.handleNextRequestPolicy(part);
|
||||
break;
|
||||
case PART.MEDIA_HEADER:
|
||||
try {
|
||||
try {
|
||||
switch (part.type) {
|
||||
case PART.FORMAT_INITIALIZATION_METADATA:
|
||||
this.handleFormatInitMetadata(part);
|
||||
break;
|
||||
case PART.NEXT_REQUEST_POLICY:
|
||||
this.handleNextRequestPolicy(part);
|
||||
break;
|
||||
case PART.MEDIA_HEADER:
|
||||
this.handleMediaHeader(part);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
break;
|
||||
case PART.MEDIA:
|
||||
this.handleMedia(part);
|
||||
break;
|
||||
case PART.MEDIA_END:
|
||||
return this.handleMediaEnd(part);
|
||||
case PART.SABR_ERROR:
|
||||
return this.handleSabrError(part);
|
||||
case PART.STREAM_PROTECTION_STATUS:
|
||||
return this.handleStreamProtectionStatus(part);
|
||||
case PART.SABR_REDIRECT:
|
||||
return this.handleSabrRedirect(part);
|
||||
default:
|
||||
}
|
||||
break;
|
||||
case PART.MEDIA:
|
||||
this.handleMedia(part);
|
||||
break;
|
||||
case PART.MEDIA_END:
|
||||
return this.handleMediaEnd(part);
|
||||
case PART.SABR_ERROR:
|
||||
return this.handleSabrError(part);
|
||||
case PART.STREAM_PROTECTION_STATUS:
|
||||
return this.handleStreamProtectionStatus(part);
|
||||
case PART.SABR_REDIRECT:
|
||||
return this.handleSabrRedirect(part);
|
||||
default:
|
||||
}
|
||||
} catch {}
|
||||
}
|
||||
|
||||
private handleFormatInitMetadata(part: Part) {
|
||||
|
||||
Reference in New Issue
Block a user