mirror of
https://github.com/LuanRT/googlevideo.git
synced 2026-06-13 08:42:31 +00:00
chore: update protos
This commit is contained in:
494
protos/generated/video_streaming/buffered_range.ts
Normal file
494
protos/generated/video_streaming/buffered_range.ts
Normal file
@@ -0,0 +1,494 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.2.0
|
||||
// protoc v5.28.0
|
||||
// source: video_streaming/buffered_range.proto
|
||||
|
||||
/* eslint-disable */
|
||||
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
||||
import { FormatId } from "../misc/common.js";
|
||||
import { TimeRange } from "./time_range.js";
|
||||
|
||||
export const protobufPackage = "video_streaming";
|
||||
|
||||
export interface BufferedRange {
|
||||
formatId: FormatId | undefined;
|
||||
startTimeMs: number;
|
||||
durationMs: number;
|
||||
startSegmentIndex: number;
|
||||
endSegmentIndex: number;
|
||||
timeRange?: TimeRange | undefined;
|
||||
field9?: Kob | undefined;
|
||||
field11?: YPa | undefined;
|
||||
field12?: YPa | undefined;
|
||||
}
|
||||
|
||||
export interface Kob {
|
||||
EW: Kob_Pa[];
|
||||
}
|
||||
|
||||
export interface Kob_Pa {
|
||||
videoId?: string | undefined;
|
||||
lmt?: number | undefined;
|
||||
}
|
||||
|
||||
export interface YPa {
|
||||
field1?: number | undefined;
|
||||
field2?: number | undefined;
|
||||
field3?: number | undefined;
|
||||
}
|
||||
|
||||
function createBaseBufferedRange(): BufferedRange {
|
||||
return {
|
||||
formatId: undefined,
|
||||
startTimeMs: 0,
|
||||
durationMs: 0,
|
||||
startSegmentIndex: 0,
|
||||
endSegmentIndex: 0,
|
||||
timeRange: undefined,
|
||||
field9: undefined,
|
||||
field11: undefined,
|
||||
field12: undefined,
|
||||
};
|
||||
}
|
||||
|
||||
export const BufferedRange: MessageFns<BufferedRange> = {
|
||||
encode(message: BufferedRange, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.formatId !== undefined) {
|
||||
FormatId.encode(message.formatId, writer.uint32(10).fork()).join();
|
||||
}
|
||||
if (message.startTimeMs !== 0) {
|
||||
writer.uint32(16).int64(message.startTimeMs);
|
||||
}
|
||||
if (message.durationMs !== 0) {
|
||||
writer.uint32(24).int64(message.durationMs);
|
||||
}
|
||||
if (message.startSegmentIndex !== 0) {
|
||||
writer.uint32(32).int32(message.startSegmentIndex);
|
||||
}
|
||||
if (message.endSegmentIndex !== 0) {
|
||||
writer.uint32(40).int32(message.endSegmentIndex);
|
||||
}
|
||||
if (message.timeRange !== undefined) {
|
||||
TimeRange.encode(message.timeRange, writer.uint32(50).fork()).join();
|
||||
}
|
||||
if (message.field9 !== undefined) {
|
||||
Kob.encode(message.field9, writer.uint32(74).fork()).join();
|
||||
}
|
||||
if (message.field11 !== undefined) {
|
||||
YPa.encode(message.field11, writer.uint32(90).fork()).join();
|
||||
}
|
||||
if (message.field12 !== undefined) {
|
||||
YPa.encode(message.field12, writer.uint32(98).fork()).join();
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): BufferedRange {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseBufferedRange();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 10) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.formatId = FormatId.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 16) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.startTimeMs = longToNumber(reader.int64());
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 24) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.durationMs = longToNumber(reader.int64());
|
||||
continue;
|
||||
case 4:
|
||||
if (tag !== 32) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.startSegmentIndex = reader.int32();
|
||||
continue;
|
||||
case 5:
|
||||
if (tag !== 40) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.endSegmentIndex = reader.int32();
|
||||
continue;
|
||||
case 6:
|
||||
if (tag !== 50) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.timeRange = TimeRange.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 9:
|
||||
if (tag !== 74) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field9 = Kob.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 11:
|
||||
if (tag !== 90) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field11 = YPa.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 12:
|
||||
if (tag !== 98) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field12 = YPa.decode(reader, reader.uint32());
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): BufferedRange {
|
||||
return {
|
||||
formatId: isSet(object.formatId) ? FormatId.fromJSON(object.formatId) : undefined,
|
||||
startTimeMs: isSet(object.startTimeMs) ? globalThis.Number(object.startTimeMs) : 0,
|
||||
durationMs: isSet(object.durationMs) ? globalThis.Number(object.durationMs) : 0,
|
||||
startSegmentIndex: isSet(object.startSegmentIndex) ? globalThis.Number(object.startSegmentIndex) : 0,
|
||||
endSegmentIndex: isSet(object.endSegmentIndex) ? globalThis.Number(object.endSegmentIndex) : 0,
|
||||
timeRange: isSet(object.timeRange) ? TimeRange.fromJSON(object.timeRange) : undefined,
|
||||
field9: isSet(object.field9) ? Kob.fromJSON(object.field9) : undefined,
|
||||
field11: isSet(object.field11) ? YPa.fromJSON(object.field11) : undefined,
|
||||
field12: isSet(object.field12) ? YPa.fromJSON(object.field12) : undefined,
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: BufferedRange): unknown {
|
||||
const obj: any = {};
|
||||
if (message.formatId !== undefined) {
|
||||
obj.formatId = FormatId.toJSON(message.formatId);
|
||||
}
|
||||
if (message.startTimeMs !== 0) {
|
||||
obj.startTimeMs = Math.round(message.startTimeMs);
|
||||
}
|
||||
if (message.durationMs !== 0) {
|
||||
obj.durationMs = Math.round(message.durationMs);
|
||||
}
|
||||
if (message.startSegmentIndex !== 0) {
|
||||
obj.startSegmentIndex = Math.round(message.startSegmentIndex);
|
||||
}
|
||||
if (message.endSegmentIndex !== 0) {
|
||||
obj.endSegmentIndex = Math.round(message.endSegmentIndex);
|
||||
}
|
||||
if (message.timeRange !== undefined) {
|
||||
obj.timeRange = TimeRange.toJSON(message.timeRange);
|
||||
}
|
||||
if (message.field9 !== undefined) {
|
||||
obj.field9 = Kob.toJSON(message.field9);
|
||||
}
|
||||
if (message.field11 !== undefined) {
|
||||
obj.field11 = YPa.toJSON(message.field11);
|
||||
}
|
||||
if (message.field12 !== undefined) {
|
||||
obj.field12 = YPa.toJSON(message.field12);
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<BufferedRange>, I>>(base?: I): BufferedRange {
|
||||
return BufferedRange.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<BufferedRange>, I>>(object: I): BufferedRange {
|
||||
const message = createBaseBufferedRange();
|
||||
message.formatId = (object.formatId !== undefined && object.formatId !== null)
|
||||
? FormatId.fromPartial(object.formatId)
|
||||
: undefined;
|
||||
message.startTimeMs = object.startTimeMs ?? 0;
|
||||
message.durationMs = object.durationMs ?? 0;
|
||||
message.startSegmentIndex = object.startSegmentIndex ?? 0;
|
||||
message.endSegmentIndex = object.endSegmentIndex ?? 0;
|
||||
message.timeRange = (object.timeRange !== undefined && object.timeRange !== null)
|
||||
? TimeRange.fromPartial(object.timeRange)
|
||||
: undefined;
|
||||
message.field9 = (object.field9 !== undefined && object.field9 !== null)
|
||||
? Kob.fromPartial(object.field9)
|
||||
: undefined;
|
||||
message.field11 = (object.field11 !== undefined && object.field11 !== null)
|
||||
? YPa.fromPartial(object.field11)
|
||||
: undefined;
|
||||
message.field12 = (object.field12 !== undefined && object.field12 !== null)
|
||||
? YPa.fromPartial(object.field12)
|
||||
: undefined;
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function createBaseKob(): Kob {
|
||||
return { EW: [] };
|
||||
}
|
||||
|
||||
export const Kob: MessageFns<Kob> = {
|
||||
encode(message: Kob, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
for (const v of message.EW) {
|
||||
Kob_Pa.encode(v!, writer.uint32(10).fork()).join();
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): Kob {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseKob();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 10) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.EW.push(Kob_Pa.decode(reader, reader.uint32()));
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): Kob {
|
||||
return { EW: globalThis.Array.isArray(object?.EW) ? object.EW.map((e: any) => Kob_Pa.fromJSON(e)) : [] };
|
||||
},
|
||||
|
||||
toJSON(message: Kob): unknown {
|
||||
const obj: any = {};
|
||||
if (message.EW?.length) {
|
||||
obj.EW = message.EW.map((e) => Kob_Pa.toJSON(e));
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<Kob>, I>>(base?: I): Kob {
|
||||
return Kob.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<Kob>, I>>(object: I): Kob {
|
||||
const message = createBaseKob();
|
||||
message.EW = object.EW?.map((e) => Kob_Pa.fromPartial(e)) || [];
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function createBaseKob_Pa(): Kob_Pa {
|
||||
return { videoId: "", lmt: 0 };
|
||||
}
|
||||
|
||||
export const Kob_Pa: MessageFns<Kob_Pa> = {
|
||||
encode(message: Kob_Pa, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.videoId !== undefined && message.videoId !== "") {
|
||||
writer.uint32(10).string(message.videoId);
|
||||
}
|
||||
if (message.lmt !== undefined && message.lmt !== 0) {
|
||||
writer.uint32(16).uint64(message.lmt);
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): Kob_Pa {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseKob_Pa();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 10) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.videoId = reader.string();
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 16) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.lmt = longToNumber(reader.uint64());
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): Kob_Pa {
|
||||
return {
|
||||
videoId: isSet(object.videoId) ? globalThis.String(object.videoId) : "",
|
||||
lmt: isSet(object.lmt) ? globalThis.Number(object.lmt) : 0,
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: Kob_Pa): unknown {
|
||||
const obj: any = {};
|
||||
if (message.videoId !== undefined && message.videoId !== "") {
|
||||
obj.videoId = message.videoId;
|
||||
}
|
||||
if (message.lmt !== undefined && message.lmt !== 0) {
|
||||
obj.lmt = Math.round(message.lmt);
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<Kob_Pa>, I>>(base?: I): Kob_Pa {
|
||||
return Kob_Pa.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<Kob_Pa>, I>>(object: I): Kob_Pa {
|
||||
const message = createBaseKob_Pa();
|
||||
message.videoId = object.videoId ?? "";
|
||||
message.lmt = object.lmt ?? 0;
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function createBaseYPa(): YPa {
|
||||
return { field1: 0, field2: 0, field3: 0 };
|
||||
}
|
||||
|
||||
export const YPa: MessageFns<YPa> = {
|
||||
encode(message: YPa, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.field1 !== undefined && message.field1 !== 0) {
|
||||
writer.uint32(8).int32(message.field1);
|
||||
}
|
||||
if (message.field2 !== undefined && message.field2 !== 0) {
|
||||
writer.uint32(16).int32(message.field2);
|
||||
}
|
||||
if (message.field3 !== undefined && message.field3 !== 0) {
|
||||
writer.uint32(24).int32(message.field3);
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): YPa {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseYPa();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 8) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field1 = reader.int32();
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 16) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field2 = reader.int32();
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 24) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field3 = reader.int32();
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): YPa {
|
||||
return {
|
||||
field1: isSet(object.field1) ? globalThis.Number(object.field1) : 0,
|
||||
field2: isSet(object.field2) ? globalThis.Number(object.field2) : 0,
|
||||
field3: isSet(object.field3) ? globalThis.Number(object.field3) : 0,
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: YPa): unknown {
|
||||
const obj: any = {};
|
||||
if (message.field1 !== undefined && message.field1 !== 0) {
|
||||
obj.field1 = Math.round(message.field1);
|
||||
}
|
||||
if (message.field2 !== undefined && message.field2 !== 0) {
|
||||
obj.field2 = Math.round(message.field2);
|
||||
}
|
||||
if (message.field3 !== undefined && message.field3 !== 0) {
|
||||
obj.field3 = Math.round(message.field3);
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<YPa>, I>>(base?: I): YPa {
|
||||
return YPa.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<YPa>, I>>(object: I): YPa {
|
||||
const message = createBaseYPa();
|
||||
message.field1 = object.field1 ?? 0;
|
||||
message.field2 = object.field2 ?? 0;
|
||||
message.field3 = object.field3 ?? 0;
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
||||
|
||||
export type DeepPartial<T> = T extends Builtin ? T
|
||||
: T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
|
||||
: T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
|
||||
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
|
||||
: Partial<T>;
|
||||
|
||||
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
||||
export type Exact<P, I extends P> = P extends Builtin ? P
|
||||
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
|
||||
|
||||
function longToNumber(int64: { toString(): string }): number {
|
||||
const num = globalThis.Number(int64.toString());
|
||||
if (num > globalThis.Number.MAX_SAFE_INTEGER) {
|
||||
throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
|
||||
}
|
||||
if (num < globalThis.Number.MIN_SAFE_INTEGER) {
|
||||
throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
function isSet(value: any): boolean {
|
||||
return value !== null && value !== undefined;
|
||||
}
|
||||
|
||||
export interface MessageFns<T> {
|
||||
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
||||
fromJSON(object: any): T;
|
||||
toJSON(message: T): unknown;
|
||||
create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
|
||||
fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
|
||||
}
|
||||
@@ -2,30 +2,35 @@
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.2.0
|
||||
// protoc v5.28.0
|
||||
// source: video_streaming/encrypted_request.proto
|
||||
// source: video_streaming/encrypted_player_request.proto
|
||||
|
||||
/* eslint-disable */
|
||||
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
||||
|
||||
export const protobufPackage = "video_streaming";
|
||||
|
||||
export interface EncryptedRequest {
|
||||
encryptedOnesieRequest?: Uint8Array | undefined;
|
||||
export interface EncryptedPlayerRequest {
|
||||
/** InnerTubeContext proto? */
|
||||
context?: Uint8Array | undefined;
|
||||
encryptedOnesiePlayerRequest?: Uint8Array | undefined;
|
||||
encryptedClientKey?: Uint8Array | undefined;
|
||||
iv?: Uint8Array | undefined;
|
||||
hmac?: Uint8Array | undefined;
|
||||
reverseProxyConfig?: string | undefined;
|
||||
YP?: boolean | undefined;
|
||||
pM?: boolean | undefined;
|
||||
enableCompression?: boolean | undefined;
|
||||
TQ?: boolean | undefined;
|
||||
}
|
||||
|
||||
function createBaseEncryptedRequest(): EncryptedRequest {
|
||||
function createBaseEncryptedPlayerRequest(): EncryptedPlayerRequest {
|
||||
return {
|
||||
encryptedOnesieRequest: new Uint8Array(0),
|
||||
context: new Uint8Array(0),
|
||||
encryptedOnesiePlayerRequest: new Uint8Array(0),
|
||||
encryptedClientKey: new Uint8Array(0),
|
||||
iv: new Uint8Array(0),
|
||||
hmac: new Uint8Array(0),
|
||||
reverseProxyConfig: "",
|
||||
YP: false,
|
||||
pM: false,
|
||||
enableCompression: false,
|
||||
@@ -33,10 +38,13 @@ function createBaseEncryptedRequest(): EncryptedRequest {
|
||||
};
|
||||
}
|
||||
|
||||
export const EncryptedRequest: MessageFns<EncryptedRequest> = {
|
||||
encode(message: EncryptedRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.encryptedOnesieRequest !== undefined && message.encryptedOnesieRequest.length !== 0) {
|
||||
writer.uint32(18).bytes(message.encryptedOnesieRequest);
|
||||
export const EncryptedPlayerRequest: MessageFns<EncryptedPlayerRequest> = {
|
||||
encode(message: EncryptedPlayerRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.context !== undefined && message.context.length !== 0) {
|
||||
writer.uint32(10).bytes(message.context);
|
||||
}
|
||||
if (message.encryptedOnesiePlayerRequest !== undefined && message.encryptedOnesiePlayerRequest.length !== 0) {
|
||||
writer.uint32(18).bytes(message.encryptedOnesiePlayerRequest);
|
||||
}
|
||||
if (message.encryptedClientKey !== undefined && message.encryptedClientKey.length !== 0) {
|
||||
writer.uint32(42).bytes(message.encryptedClientKey);
|
||||
@@ -47,6 +55,9 @@ export const EncryptedRequest: MessageFns<EncryptedRequest> = {
|
||||
if (message.hmac !== undefined && message.hmac.length !== 0) {
|
||||
writer.uint32(58).bytes(message.hmac);
|
||||
}
|
||||
if (message.reverseProxyConfig !== undefined && message.reverseProxyConfig !== "") {
|
||||
writer.uint32(74).string(message.reverseProxyConfig);
|
||||
}
|
||||
if (message.YP !== undefined && message.YP !== false) {
|
||||
writer.uint32(80).bool(message.YP);
|
||||
}
|
||||
@@ -62,19 +73,26 @@ export const EncryptedRequest: MessageFns<EncryptedRequest> = {
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): EncryptedRequest {
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): EncryptedPlayerRequest {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseEncryptedRequest();
|
||||
const message = createBaseEncryptedPlayerRequest();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 10) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.context = reader.bytes();
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 18) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.encryptedOnesieRequest = reader.bytes();
|
||||
message.encryptedOnesiePlayerRequest = reader.bytes();
|
||||
continue;
|
||||
case 5:
|
||||
if (tag !== 42) {
|
||||
@@ -97,6 +115,13 @@ export const EncryptedRequest: MessageFns<EncryptedRequest> = {
|
||||
|
||||
message.hmac = reader.bytes();
|
||||
continue;
|
||||
case 9:
|
||||
if (tag !== 74) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.reverseProxyConfig = reader.string();
|
||||
continue;
|
||||
case 10:
|
||||
if (tag !== 80) {
|
||||
break;
|
||||
@@ -134,16 +159,18 @@ export const EncryptedRequest: MessageFns<EncryptedRequest> = {
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): EncryptedRequest {
|
||||
fromJSON(object: any): EncryptedPlayerRequest {
|
||||
return {
|
||||
encryptedOnesieRequest: isSet(object.encryptedOnesieRequest)
|
||||
? bytesFromBase64(object.encryptedOnesieRequest)
|
||||
context: isSet(object.context) ? bytesFromBase64(object.context) : new Uint8Array(0),
|
||||
encryptedOnesiePlayerRequest: isSet(object.encryptedOnesiePlayerRequest)
|
||||
? bytesFromBase64(object.encryptedOnesiePlayerRequest)
|
||||
: new Uint8Array(0),
|
||||
encryptedClientKey: isSet(object.encryptedClientKey)
|
||||
? bytesFromBase64(object.encryptedClientKey)
|
||||
: new Uint8Array(0),
|
||||
iv: isSet(object.iv) ? bytesFromBase64(object.iv) : new Uint8Array(0),
|
||||
hmac: isSet(object.hmac) ? bytesFromBase64(object.hmac) : new Uint8Array(0),
|
||||
reverseProxyConfig: isSet(object.reverseProxyConfig) ? globalThis.String(object.reverseProxyConfig) : "",
|
||||
YP: isSet(object.YP) ? globalThis.Boolean(object.YP) : false,
|
||||
pM: isSet(object.pM) ? globalThis.Boolean(object.pM) : false,
|
||||
enableCompression: isSet(object.enableCompression) ? globalThis.Boolean(object.enableCompression) : false,
|
||||
@@ -151,10 +178,13 @@ export const EncryptedRequest: MessageFns<EncryptedRequest> = {
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: EncryptedRequest): unknown {
|
||||
toJSON(message: EncryptedPlayerRequest): unknown {
|
||||
const obj: any = {};
|
||||
if (message.encryptedOnesieRequest !== undefined && message.encryptedOnesieRequest.length !== 0) {
|
||||
obj.encryptedOnesieRequest = base64FromBytes(message.encryptedOnesieRequest);
|
||||
if (message.context !== undefined && message.context.length !== 0) {
|
||||
obj.context = base64FromBytes(message.context);
|
||||
}
|
||||
if (message.encryptedOnesiePlayerRequest !== undefined && message.encryptedOnesiePlayerRequest.length !== 0) {
|
||||
obj.encryptedOnesiePlayerRequest = base64FromBytes(message.encryptedOnesiePlayerRequest);
|
||||
}
|
||||
if (message.encryptedClientKey !== undefined && message.encryptedClientKey.length !== 0) {
|
||||
obj.encryptedClientKey = base64FromBytes(message.encryptedClientKey);
|
||||
@@ -165,6 +195,9 @@ export const EncryptedRequest: MessageFns<EncryptedRequest> = {
|
||||
if (message.hmac !== undefined && message.hmac.length !== 0) {
|
||||
obj.hmac = base64FromBytes(message.hmac);
|
||||
}
|
||||
if (message.reverseProxyConfig !== undefined && message.reverseProxyConfig !== "") {
|
||||
obj.reverseProxyConfig = message.reverseProxyConfig;
|
||||
}
|
||||
if (message.YP !== undefined && message.YP !== false) {
|
||||
obj.YP = message.YP;
|
||||
}
|
||||
@@ -180,15 +213,17 @@ export const EncryptedRequest: MessageFns<EncryptedRequest> = {
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<EncryptedRequest>, I>>(base?: I): EncryptedRequest {
|
||||
return EncryptedRequest.fromPartial(base ?? ({} as any));
|
||||
create<I extends Exact<DeepPartial<EncryptedPlayerRequest>, I>>(base?: I): EncryptedPlayerRequest {
|
||||
return EncryptedPlayerRequest.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<EncryptedRequest>, I>>(object: I): EncryptedRequest {
|
||||
const message = createBaseEncryptedRequest();
|
||||
message.encryptedOnesieRequest = object.encryptedOnesieRequest ?? new Uint8Array(0);
|
||||
fromPartial<I extends Exact<DeepPartial<EncryptedPlayerRequest>, I>>(object: I): EncryptedPlayerRequest {
|
||||
const message = createBaseEncryptedPlayerRequest();
|
||||
message.context = object.context ?? new Uint8Array(0);
|
||||
message.encryptedOnesiePlayerRequest = object.encryptedOnesiePlayerRequest ?? new Uint8Array(0);
|
||||
message.encryptedClientKey = object.encryptedClientKey ?? new Uint8Array(0);
|
||||
message.iv = object.iv ?? new Uint8Array(0);
|
||||
message.hmac = object.hmac ?? new Uint8Array(0);
|
||||
message.reverseProxyConfig = object.reverseProxyConfig ?? "";
|
||||
message.YP = object.YP ?? false;
|
||||
message.pM = object.pM ?? false;
|
||||
message.enableCompression = object.enableCompression ?? false;
|
||||
@@ -1,179 +0,0 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.2.0
|
||||
// protoc v5.28.0
|
||||
// source: video_streaming/onesie_innertube_request.proto
|
||||
|
||||
/* eslint-disable */
|
||||
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
||||
import { ClientAbrState } from "./client_abr_state.js";
|
||||
import { EncryptedRequest } from "./encrypted_request.js";
|
||||
import { StreamerContext } from "./streamer_context.js";
|
||||
|
||||
export const protobufPackage = "video_streaming";
|
||||
|
||||
export interface OnesieInnertubeRequest {
|
||||
clientAbrState?: ClientAbrState | undefined;
|
||||
encryptedRequest?: EncryptedRequest | undefined;
|
||||
onesieUstreamerConfig?: Uint8Array | undefined;
|
||||
streamerContext?: StreamerContext | undefined;
|
||||
}
|
||||
|
||||
function createBaseOnesieInnertubeRequest(): OnesieInnertubeRequest {
|
||||
return {
|
||||
clientAbrState: undefined,
|
||||
encryptedRequest: undefined,
|
||||
onesieUstreamerConfig: new Uint8Array(0),
|
||||
streamerContext: undefined,
|
||||
};
|
||||
}
|
||||
|
||||
export const OnesieInnertubeRequest: MessageFns<OnesieInnertubeRequest> = {
|
||||
encode(message: OnesieInnertubeRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.clientAbrState !== undefined) {
|
||||
ClientAbrState.encode(message.clientAbrState, writer.uint32(18).fork()).join();
|
||||
}
|
||||
if (message.encryptedRequest !== undefined) {
|
||||
EncryptedRequest.encode(message.encryptedRequest, writer.uint32(26).fork()).join();
|
||||
}
|
||||
if (message.onesieUstreamerConfig !== undefined && message.onesieUstreamerConfig.length !== 0) {
|
||||
writer.uint32(34).bytes(message.onesieUstreamerConfig);
|
||||
}
|
||||
if (message.streamerContext !== undefined) {
|
||||
StreamerContext.encode(message.streamerContext, writer.uint32(82).fork()).join();
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): OnesieInnertubeRequest {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseOnesieInnertubeRequest();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 2:
|
||||
if (tag !== 18) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.clientAbrState = ClientAbrState.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 26) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.encryptedRequest = EncryptedRequest.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 4:
|
||||
if (tag !== 34) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.onesieUstreamerConfig = reader.bytes();
|
||||
continue;
|
||||
case 10:
|
||||
if (tag !== 82) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.streamerContext = StreamerContext.decode(reader, reader.uint32());
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): OnesieInnertubeRequest {
|
||||
return {
|
||||
clientAbrState: isSet(object.clientAbrState) ? ClientAbrState.fromJSON(object.clientAbrState) : undefined,
|
||||
encryptedRequest: isSet(object.encryptedRequest) ? EncryptedRequest.fromJSON(object.encryptedRequest) : undefined,
|
||||
onesieUstreamerConfig: isSet(object.onesieUstreamerConfig)
|
||||
? bytesFromBase64(object.onesieUstreamerConfig)
|
||||
: new Uint8Array(0),
|
||||
streamerContext: isSet(object.streamerContext) ? StreamerContext.fromJSON(object.streamerContext) : undefined,
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: OnesieInnertubeRequest): unknown {
|
||||
const obj: any = {};
|
||||
if (message.clientAbrState !== undefined) {
|
||||
obj.clientAbrState = ClientAbrState.toJSON(message.clientAbrState);
|
||||
}
|
||||
if (message.encryptedRequest !== undefined) {
|
||||
obj.encryptedRequest = EncryptedRequest.toJSON(message.encryptedRequest);
|
||||
}
|
||||
if (message.onesieUstreamerConfig !== undefined && message.onesieUstreamerConfig.length !== 0) {
|
||||
obj.onesieUstreamerConfig = base64FromBytes(message.onesieUstreamerConfig);
|
||||
}
|
||||
if (message.streamerContext !== undefined) {
|
||||
obj.streamerContext = StreamerContext.toJSON(message.streamerContext);
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<OnesieInnertubeRequest>, I>>(base?: I): OnesieInnertubeRequest {
|
||||
return OnesieInnertubeRequest.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<OnesieInnertubeRequest>, I>>(object: I): OnesieInnertubeRequest {
|
||||
const message = createBaseOnesieInnertubeRequest();
|
||||
message.clientAbrState = (object.clientAbrState !== undefined && object.clientAbrState !== null)
|
||||
? ClientAbrState.fromPartial(object.clientAbrState)
|
||||
: undefined;
|
||||
message.encryptedRequest = (object.encryptedRequest !== undefined && object.encryptedRequest !== null)
|
||||
? EncryptedRequest.fromPartial(object.encryptedRequest)
|
||||
: undefined;
|
||||
message.onesieUstreamerConfig = object.onesieUstreamerConfig ?? new Uint8Array(0);
|
||||
message.streamerContext = (object.streamerContext !== undefined && object.streamerContext !== null)
|
||||
? StreamerContext.fromPartial(object.streamerContext)
|
||||
: undefined;
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function bytesFromBase64(b64: string): Uint8Array {
|
||||
const bin = globalThis.atob(b64);
|
||||
const arr = new Uint8Array(bin.length);
|
||||
for (let i = 0; i < bin.length; ++i) {
|
||||
arr[i] = bin.charCodeAt(i);
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
function base64FromBytes(arr: Uint8Array): string {
|
||||
const bin: string[] = [];
|
||||
arr.forEach((byte) => {
|
||||
bin.push(globalThis.String.fromCharCode(byte));
|
||||
});
|
||||
return globalThis.btoa(bin.join(""));
|
||||
}
|
||||
|
||||
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
||||
|
||||
export type DeepPartial<T> = T extends Builtin ? T
|
||||
: T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
|
||||
: T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
|
||||
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
|
||||
: Partial<T>;
|
||||
|
||||
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
||||
export type Exact<P, I extends P> = P extends Builtin ? P
|
||||
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
|
||||
|
||||
function isSet(value: any): boolean {
|
||||
return value !== null && value !== undefined;
|
||||
}
|
||||
|
||||
export interface MessageFns<T> {
|
||||
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
||||
fromJSON(object: any): T;
|
||||
toJSON(message: T): unknown;
|
||||
create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
|
||||
fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
|
||||
}
|
||||
168
protos/generated/video_streaming/onesie_player_request.ts
Normal file
168
protos/generated/video_streaming/onesie_player_request.ts
Normal file
@@ -0,0 +1,168 @@
|
||||
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.2.0
|
||||
// protoc v5.28.0
|
||||
// source: video_streaming/onesie_player_request.proto
|
||||
|
||||
/* eslint-disable */
|
||||
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
||||
import { HttpHeader } from "../misc/common.js";
|
||||
|
||||
export const protobufPackage = "video_streaming";
|
||||
|
||||
export interface OnesiePlayerRequest {
|
||||
url?: string | undefined;
|
||||
headers: HttpHeader[];
|
||||
body?: string | undefined;
|
||||
proxiedByTrustedBandaid?:
|
||||
| boolean
|
||||
| undefined;
|
||||
/** Seen this on youtube.com and the YTMusic protos. Not sure what it is yet. */
|
||||
field6?: boolean | undefined;
|
||||
}
|
||||
|
||||
function createBaseOnesiePlayerRequest(): OnesiePlayerRequest {
|
||||
return { url: "", headers: [], body: "", proxiedByTrustedBandaid: false, field6: false };
|
||||
}
|
||||
|
||||
export const OnesiePlayerRequest: MessageFns<OnesiePlayerRequest> = {
|
||||
encode(message: OnesiePlayerRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.url !== undefined && message.url !== "") {
|
||||
writer.uint32(10).string(message.url);
|
||||
}
|
||||
for (const v of message.headers) {
|
||||
HttpHeader.encode(v!, writer.uint32(18).fork()).join();
|
||||
}
|
||||
if (message.body !== undefined && message.body !== "") {
|
||||
writer.uint32(26).string(message.body);
|
||||
}
|
||||
if (message.proxiedByTrustedBandaid !== undefined && message.proxiedByTrustedBandaid !== false) {
|
||||
writer.uint32(32).bool(message.proxiedByTrustedBandaid);
|
||||
}
|
||||
if (message.field6 !== undefined && message.field6 !== false) {
|
||||
writer.uint32(48).bool(message.field6);
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): OnesiePlayerRequest {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseOnesiePlayerRequest();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 10) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.url = reader.string();
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 18) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.headers.push(HttpHeader.decode(reader, reader.uint32()));
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 26) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.body = reader.string();
|
||||
continue;
|
||||
case 4:
|
||||
if (tag !== 32) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.proxiedByTrustedBandaid = reader.bool();
|
||||
continue;
|
||||
case 6:
|
||||
if (tag !== 48) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field6 = reader.bool();
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): OnesiePlayerRequest {
|
||||
return {
|
||||
url: isSet(object.url) ? globalThis.String(object.url) : "",
|
||||
headers: globalThis.Array.isArray(object?.headers) ? object.headers.map((e: any) => HttpHeader.fromJSON(e)) : [],
|
||||
body: isSet(object.body) ? globalThis.String(object.body) : "",
|
||||
proxiedByTrustedBandaid: isSet(object.proxiedByTrustedBandaid)
|
||||
? globalThis.Boolean(object.proxiedByTrustedBandaid)
|
||||
: false,
|
||||
field6: isSet(object.field6) ? globalThis.Boolean(object.field6) : false,
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: OnesiePlayerRequest): unknown {
|
||||
const obj: any = {};
|
||||
if (message.url !== undefined && message.url !== "") {
|
||||
obj.url = message.url;
|
||||
}
|
||||
if (message.headers?.length) {
|
||||
obj.headers = message.headers.map((e) => HttpHeader.toJSON(e));
|
||||
}
|
||||
if (message.body !== undefined && message.body !== "") {
|
||||
obj.body = message.body;
|
||||
}
|
||||
if (message.proxiedByTrustedBandaid !== undefined && message.proxiedByTrustedBandaid !== false) {
|
||||
obj.proxiedByTrustedBandaid = message.proxiedByTrustedBandaid;
|
||||
}
|
||||
if (message.field6 !== undefined && message.field6 !== false) {
|
||||
obj.field6 = message.field6;
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<OnesiePlayerRequest>, I>>(base?: I): OnesiePlayerRequest {
|
||||
return OnesiePlayerRequest.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<OnesiePlayerRequest>, I>>(object: I): OnesiePlayerRequest {
|
||||
const message = createBaseOnesiePlayerRequest();
|
||||
message.url = object.url ?? "";
|
||||
message.headers = object.headers?.map((e) => HttpHeader.fromPartial(e)) || [];
|
||||
message.body = object.body ?? "";
|
||||
message.proxiedByTrustedBandaid = object.proxiedByTrustedBandaid ?? false;
|
||||
message.field6 = object.field6 ?? false;
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
||||
|
||||
export type DeepPartial<T> = T extends Builtin ? T
|
||||
: T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
|
||||
: T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
|
||||
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
|
||||
: Partial<T>;
|
||||
|
||||
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
||||
export type Exact<P, I extends P> = P extends Builtin ? P
|
||||
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
|
||||
|
||||
function isSet(value: any): boolean {
|
||||
return value !== null && value !== undefined;
|
||||
}
|
||||
|
||||
export interface MessageFns<T> {
|
||||
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
||||
fromJSON(object: any): T;
|
||||
toJSON(message: T): unknown;
|
||||
create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
|
||||
fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
|
||||
}
|
||||
@@ -2,33 +2,32 @@
|
||||
// versions:
|
||||
// protoc-gen-ts_proto v2.2.0
|
||||
// protoc v5.28.0
|
||||
// source: video_streaming/onesie_innertube_response.proto
|
||||
// source: video_streaming/onesie_player_response.proto
|
||||
|
||||
/* eslint-disable */
|
||||
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
||||
import { HttpHeader } from "../misc/common.js";
|
||||
import { ProxyStatus, proxyStatusFromJSON, proxyStatusToJSON } from "./proxy_status.js";
|
||||
|
||||
export const protobufPackage = "video_streaming";
|
||||
|
||||
export interface OnesieInnertubeResponse {
|
||||
proxyStatus?: ProxyStatus | undefined;
|
||||
status?: number | undefined;
|
||||
export interface OnesiePlayerResponse {
|
||||
onesieProxyStatus?: number | undefined;
|
||||
httpStatus?: number | undefined;
|
||||
headers: HttpHeader[];
|
||||
body?: Uint8Array | undefined;
|
||||
}
|
||||
|
||||
function createBaseOnesieInnertubeResponse(): OnesieInnertubeResponse {
|
||||
return { proxyStatus: 0, status: 0, headers: [], body: new Uint8Array(0) };
|
||||
function createBaseOnesiePlayerResponse(): OnesiePlayerResponse {
|
||||
return { onesieProxyStatus: 0, httpStatus: 0, headers: [], body: new Uint8Array(0) };
|
||||
}
|
||||
|
||||
export const OnesieInnertubeResponse: MessageFns<OnesieInnertubeResponse> = {
|
||||
encode(message: OnesieInnertubeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.proxyStatus !== undefined && message.proxyStatus !== 0) {
|
||||
writer.uint32(8).int32(message.proxyStatus);
|
||||
export const OnesiePlayerResponse: MessageFns<OnesiePlayerResponse> = {
|
||||
encode(message: OnesiePlayerResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.onesieProxyStatus !== undefined && message.onesieProxyStatus !== 0) {
|
||||
writer.uint32(8).int32(message.onesieProxyStatus);
|
||||
}
|
||||
if (message.status !== undefined && message.status !== 0) {
|
||||
writer.uint32(16).int32(message.status);
|
||||
if (message.httpStatus !== undefined && message.httpStatus !== 0) {
|
||||
writer.uint32(16).int32(message.httpStatus);
|
||||
}
|
||||
for (const v of message.headers) {
|
||||
HttpHeader.encode(v!, writer.uint32(26).fork()).join();
|
||||
@@ -39,10 +38,10 @@ export const OnesieInnertubeResponse: MessageFns<OnesieInnertubeResponse> = {
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): OnesieInnertubeResponse {
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): OnesiePlayerResponse {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseOnesieInnertubeResponse();
|
||||
const message = createBaseOnesiePlayerResponse();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
@@ -51,14 +50,14 @@ export const OnesieInnertubeResponse: MessageFns<OnesieInnertubeResponse> = {
|
||||
break;
|
||||
}
|
||||
|
||||
message.proxyStatus = reader.int32() as any;
|
||||
message.onesieProxyStatus = reader.int32();
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 16) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.status = reader.int32();
|
||||
message.httpStatus = reader.int32();
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 26) {
|
||||
@@ -83,22 +82,22 @@ export const OnesieInnertubeResponse: MessageFns<OnesieInnertubeResponse> = {
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): OnesieInnertubeResponse {
|
||||
fromJSON(object: any): OnesiePlayerResponse {
|
||||
return {
|
||||
proxyStatus: isSet(object.proxyStatus) ? proxyStatusFromJSON(object.proxyStatus) : 0,
|
||||
status: isSet(object.status) ? globalThis.Number(object.status) : 0,
|
||||
onesieProxyStatus: isSet(object.onesieProxyStatus) ? globalThis.Number(object.onesieProxyStatus) : 0,
|
||||
httpStatus: isSet(object.httpStatus) ? globalThis.Number(object.httpStatus) : 0,
|
||||
headers: globalThis.Array.isArray(object?.headers) ? object.headers.map((e: any) => HttpHeader.fromJSON(e)) : [],
|
||||
body: isSet(object.body) ? bytesFromBase64(object.body) : new Uint8Array(0),
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: OnesieInnertubeResponse): unknown {
|
||||
toJSON(message: OnesiePlayerResponse): unknown {
|
||||
const obj: any = {};
|
||||
if (message.proxyStatus !== undefined && message.proxyStatus !== 0) {
|
||||
obj.proxyStatus = proxyStatusToJSON(message.proxyStatus);
|
||||
if (message.onesieProxyStatus !== undefined && message.onesieProxyStatus !== 0) {
|
||||
obj.onesieProxyStatus = Math.round(message.onesieProxyStatus);
|
||||
}
|
||||
if (message.status !== undefined && message.status !== 0) {
|
||||
obj.status = Math.round(message.status);
|
||||
if (message.httpStatus !== undefined && message.httpStatus !== 0) {
|
||||
obj.httpStatus = Math.round(message.httpStatus);
|
||||
}
|
||||
if (message.headers?.length) {
|
||||
obj.headers = message.headers.map((e) => HttpHeader.toJSON(e));
|
||||
@@ -109,13 +108,13 @@ export const OnesieInnertubeResponse: MessageFns<OnesieInnertubeResponse> = {
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<OnesieInnertubeResponse>, I>>(base?: I): OnesieInnertubeResponse {
|
||||
return OnesieInnertubeResponse.fromPartial(base ?? ({} as any));
|
||||
create<I extends Exact<DeepPartial<OnesiePlayerResponse>, I>>(base?: I): OnesiePlayerResponse {
|
||||
return OnesiePlayerResponse.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<OnesieInnertubeResponse>, I>>(object: I): OnesieInnertubeResponse {
|
||||
const message = createBaseOnesieInnertubeResponse();
|
||||
message.proxyStatus = object.proxyStatus ?? 0;
|
||||
message.status = object.status ?? 0;
|
||||
fromPartial<I extends Exact<DeepPartial<OnesiePlayerResponse>, I>>(object: I): OnesiePlayerResponse {
|
||||
const message = createBaseOnesiePlayerResponse();
|
||||
message.onesieProxyStatus = object.onesieProxyStatus ?? 0;
|
||||
message.httpStatus = object.httpStatus ?? 0;
|
||||
message.headers = object.headers?.map((e) => HttpHeader.fromPartial(e)) || [];
|
||||
message.body = object.body ?? new Uint8Array(0);
|
||||
return message;
|
||||
@@ -6,38 +6,62 @@
|
||||
|
||||
/* eslint-disable */
|
||||
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
||||
import { HttpHeader } from "../misc/common.js";
|
||||
import { BufferedRange } from "./buffered_range.js";
|
||||
import { ClientAbrState } from "./client_abr_state.js";
|
||||
import { EncryptedPlayerRequest } from "./encrypted_player_request.js";
|
||||
import { StreamerContext } from "./streamer_context.js";
|
||||
|
||||
export const protobufPackage = "video_streaming";
|
||||
|
||||
export interface OnesieRequest {
|
||||
url?: string | undefined;
|
||||
headers: HttpHeader[];
|
||||
body?: string | undefined;
|
||||
field4?: boolean | undefined;
|
||||
field6?: boolean | undefined;
|
||||
urls: string[];
|
||||
clientAbrState?: ClientAbrState | undefined;
|
||||
playerRequest?: EncryptedPlayerRequest | undefined;
|
||||
onesieUstreamerConfig?: Uint8Array | undefined;
|
||||
maxVp9Height?: number | undefined;
|
||||
clientDisplayHeight?: number | undefined;
|
||||
streamerContext?: StreamerContext | undefined;
|
||||
bufferedRanges: BufferedRange[];
|
||||
}
|
||||
|
||||
function createBaseOnesieRequest(): OnesieRequest {
|
||||
return { url: "", headers: [], body: "", field4: false, field6: false };
|
||||
return {
|
||||
urls: [],
|
||||
clientAbrState: undefined,
|
||||
playerRequest: undefined,
|
||||
onesieUstreamerConfig: new Uint8Array(0),
|
||||
maxVp9Height: 0,
|
||||
clientDisplayHeight: 0,
|
||||
streamerContext: undefined,
|
||||
bufferedRanges: [],
|
||||
};
|
||||
}
|
||||
|
||||
export const OnesieRequest: MessageFns<OnesieRequest> = {
|
||||
encode(message: OnesieRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.url !== undefined && message.url !== "") {
|
||||
writer.uint32(10).string(message.url);
|
||||
for (const v of message.urls) {
|
||||
writer.uint32(10).string(v!);
|
||||
}
|
||||
for (const v of message.headers) {
|
||||
HttpHeader.encode(v!, writer.uint32(18).fork()).join();
|
||||
if (message.clientAbrState !== undefined) {
|
||||
ClientAbrState.encode(message.clientAbrState, writer.uint32(18).fork()).join();
|
||||
}
|
||||
if (message.body !== undefined && message.body !== "") {
|
||||
writer.uint32(26).string(message.body);
|
||||
if (message.playerRequest !== undefined) {
|
||||
EncryptedPlayerRequest.encode(message.playerRequest, writer.uint32(26).fork()).join();
|
||||
}
|
||||
if (message.field4 !== undefined && message.field4 !== false) {
|
||||
writer.uint32(32).bool(message.field4);
|
||||
if (message.onesieUstreamerConfig !== undefined && message.onesieUstreamerConfig.length !== 0) {
|
||||
writer.uint32(34).bytes(message.onesieUstreamerConfig);
|
||||
}
|
||||
if (message.field6 !== undefined && message.field6 !== false) {
|
||||
writer.uint32(48).bool(message.field6);
|
||||
if (message.maxVp9Height !== undefined && message.maxVp9Height !== 0) {
|
||||
writer.uint32(40).int32(message.maxVp9Height);
|
||||
}
|
||||
if (message.clientDisplayHeight !== undefined && message.clientDisplayHeight !== 0) {
|
||||
writer.uint32(48).int32(message.clientDisplayHeight);
|
||||
}
|
||||
if (message.streamerContext !== undefined) {
|
||||
StreamerContext.encode(message.streamerContext, writer.uint32(82).fork()).join();
|
||||
}
|
||||
for (const v of message.bufferedRanges) {
|
||||
BufferedRange.encode(v!, writer.uint32(114).fork()).join();
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
@@ -54,35 +78,56 @@ export const OnesieRequest: MessageFns<OnesieRequest> = {
|
||||
break;
|
||||
}
|
||||
|
||||
message.url = reader.string();
|
||||
message.urls.push(reader.string());
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 18) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.headers.push(HttpHeader.decode(reader, reader.uint32()));
|
||||
message.clientAbrState = ClientAbrState.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 26) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.body = reader.string();
|
||||
message.playerRequest = EncryptedPlayerRequest.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 4:
|
||||
if (tag !== 32) {
|
||||
if (tag !== 34) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field4 = reader.bool();
|
||||
message.onesieUstreamerConfig = reader.bytes();
|
||||
continue;
|
||||
case 5:
|
||||
if (tag !== 40) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.maxVp9Height = reader.int32();
|
||||
continue;
|
||||
case 6:
|
||||
if (tag !== 48) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field6 = reader.bool();
|
||||
message.clientDisplayHeight = reader.int32();
|
||||
continue;
|
||||
case 10:
|
||||
if (tag !== 82) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.streamerContext = StreamerContext.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 14:
|
||||
if (tag !== 114) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.bufferedRanges.push(BufferedRange.decode(reader, reader.uint32()));
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
@@ -95,30 +140,46 @@ export const OnesieRequest: MessageFns<OnesieRequest> = {
|
||||
|
||||
fromJSON(object: any): OnesieRequest {
|
||||
return {
|
||||
url: isSet(object.url) ? globalThis.String(object.url) : "",
|
||||
headers: globalThis.Array.isArray(object?.headers) ? object.headers.map((e: any) => HttpHeader.fromJSON(e)) : [],
|
||||
body: isSet(object.body) ? globalThis.String(object.body) : "",
|
||||
field4: isSet(object.field4) ? globalThis.Boolean(object.field4) : false,
|
||||
field6: isSet(object.field6) ? globalThis.Boolean(object.field6) : false,
|
||||
urls: globalThis.Array.isArray(object?.urls) ? object.urls.map((e: any) => globalThis.String(e)) : [],
|
||||
clientAbrState: isSet(object.clientAbrState) ? ClientAbrState.fromJSON(object.clientAbrState) : undefined,
|
||||
playerRequest: isSet(object.playerRequest) ? EncryptedPlayerRequest.fromJSON(object.playerRequest) : undefined,
|
||||
onesieUstreamerConfig: isSet(object.onesieUstreamerConfig)
|
||||
? bytesFromBase64(object.onesieUstreamerConfig)
|
||||
: new Uint8Array(0),
|
||||
maxVp9Height: isSet(object.maxVp9Height) ? globalThis.Number(object.maxVp9Height) : 0,
|
||||
clientDisplayHeight: isSet(object.clientDisplayHeight) ? globalThis.Number(object.clientDisplayHeight) : 0,
|
||||
streamerContext: isSet(object.streamerContext) ? StreamerContext.fromJSON(object.streamerContext) : undefined,
|
||||
bufferedRanges: globalThis.Array.isArray(object?.bufferedRanges)
|
||||
? object.bufferedRanges.map((e: any) => BufferedRange.fromJSON(e))
|
||||
: [],
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: OnesieRequest): unknown {
|
||||
const obj: any = {};
|
||||
if (message.url !== undefined && message.url !== "") {
|
||||
obj.url = message.url;
|
||||
if (message.urls?.length) {
|
||||
obj.urls = message.urls;
|
||||
}
|
||||
if (message.headers?.length) {
|
||||
obj.headers = message.headers.map((e) => HttpHeader.toJSON(e));
|
||||
if (message.clientAbrState !== undefined) {
|
||||
obj.clientAbrState = ClientAbrState.toJSON(message.clientAbrState);
|
||||
}
|
||||
if (message.body !== undefined && message.body !== "") {
|
||||
obj.body = message.body;
|
||||
if (message.playerRequest !== undefined) {
|
||||
obj.playerRequest = EncryptedPlayerRequest.toJSON(message.playerRequest);
|
||||
}
|
||||
if (message.field4 !== undefined && message.field4 !== false) {
|
||||
obj.field4 = message.field4;
|
||||
if (message.onesieUstreamerConfig !== undefined && message.onesieUstreamerConfig.length !== 0) {
|
||||
obj.onesieUstreamerConfig = base64FromBytes(message.onesieUstreamerConfig);
|
||||
}
|
||||
if (message.field6 !== undefined && message.field6 !== false) {
|
||||
obj.field6 = message.field6;
|
||||
if (message.maxVp9Height !== undefined && message.maxVp9Height !== 0) {
|
||||
obj.maxVp9Height = Math.round(message.maxVp9Height);
|
||||
}
|
||||
if (message.clientDisplayHeight !== undefined && message.clientDisplayHeight !== 0) {
|
||||
obj.clientDisplayHeight = Math.round(message.clientDisplayHeight);
|
||||
}
|
||||
if (message.streamerContext !== undefined) {
|
||||
obj.streamerContext = StreamerContext.toJSON(message.streamerContext);
|
||||
}
|
||||
if (message.bufferedRanges?.length) {
|
||||
obj.bufferedRanges = message.bufferedRanges.map((e) => BufferedRange.toJSON(e));
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
@@ -128,15 +189,41 @@ export const OnesieRequest: MessageFns<OnesieRequest> = {
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<OnesieRequest>, I>>(object: I): OnesieRequest {
|
||||
const message = createBaseOnesieRequest();
|
||||
message.url = object.url ?? "";
|
||||
message.headers = object.headers?.map((e) => HttpHeader.fromPartial(e)) || [];
|
||||
message.body = object.body ?? "";
|
||||
message.field4 = object.field4 ?? false;
|
||||
message.field6 = object.field6 ?? false;
|
||||
message.urls = object.urls?.map((e) => e) || [];
|
||||
message.clientAbrState = (object.clientAbrState !== undefined && object.clientAbrState !== null)
|
||||
? ClientAbrState.fromPartial(object.clientAbrState)
|
||||
: undefined;
|
||||
message.playerRequest = (object.playerRequest !== undefined && object.playerRequest !== null)
|
||||
? EncryptedPlayerRequest.fromPartial(object.playerRequest)
|
||||
: undefined;
|
||||
message.onesieUstreamerConfig = object.onesieUstreamerConfig ?? new Uint8Array(0);
|
||||
message.maxVp9Height = object.maxVp9Height ?? 0;
|
||||
message.clientDisplayHeight = object.clientDisplayHeight ?? 0;
|
||||
message.streamerContext = (object.streamerContext !== undefined && object.streamerContext !== null)
|
||||
? StreamerContext.fromPartial(object.streamerContext)
|
||||
: undefined;
|
||||
message.bufferedRanges = object.bufferedRanges?.map((e) => BufferedRange.fromPartial(e)) || [];
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function bytesFromBase64(b64: string): Uint8Array {
|
||||
const bin = globalThis.atob(b64);
|
||||
const arr = new Uint8Array(bin.length);
|
||||
for (let i = 0; i < bin.length; ++i) {
|
||||
arr[i] = bin.charCodeAt(i);
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
function base64FromBytes(arr: Uint8Array): string {
|
||||
const bin: string[] = [];
|
||||
arr.forEach((byte) => {
|
||||
bin.push(globalThis.String.fromCharCode(byte));
|
||||
});
|
||||
return globalThis.btoa(bin.join(""));
|
||||
}
|
||||
|
||||
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
||||
|
||||
export type DeepPartial<T> = T extends Builtin ? T
|
||||
|
||||
@@ -7,20 +7,20 @@
|
||||
/* eslint-disable */
|
||||
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
||||
import { FormatId } from "../misc/common.js";
|
||||
import { BufferedRange } from "./buffered_range.js";
|
||||
import { ClientAbrState } from "./client_abr_state.js";
|
||||
import { StreamerContext } from "./streamer_context.js";
|
||||
import { TimeRange } from "./time_range.js";
|
||||
|
||||
export const protobufPackage = "video_streaming";
|
||||
|
||||
export interface VideoPlaybackAbrRequest {
|
||||
clientAbrState?: ClientAbrState | undefined;
|
||||
selectedFormats: FormatId[];
|
||||
bufferedRange: BufferedRange[];
|
||||
selectedFormatIds: FormatId[];
|
||||
bufferedRanges: BufferedRange[];
|
||||
videoPlaybackUstreamerConfig?: Uint8Array | undefined;
|
||||
lo?: Lo | undefined;
|
||||
audioFormats: FormatId[];
|
||||
videoFormats: FormatId[];
|
||||
selectedAudioFormatIds: FormatId[];
|
||||
selectedVideoFormatIds: FormatId[];
|
||||
streamerContext?: StreamerContext | undefined;
|
||||
field21?: OQa | undefined;
|
||||
field22?: number | undefined;
|
||||
@@ -42,33 +42,6 @@ export interface Lo_Field4 {
|
||||
field3?: number | undefined;
|
||||
}
|
||||
|
||||
export interface Kob {
|
||||
EW: Kob_Pa[];
|
||||
}
|
||||
|
||||
export interface Kob_Pa {
|
||||
videoId?: string | undefined;
|
||||
lmt?: number | undefined;
|
||||
}
|
||||
|
||||
export interface YPa {
|
||||
field1?: number | undefined;
|
||||
field2?: number | undefined;
|
||||
field3?: number | undefined;
|
||||
}
|
||||
|
||||
export interface BufferedRange {
|
||||
formatId: FormatId | undefined;
|
||||
startTimeMs: number;
|
||||
durationMs: number;
|
||||
startSegmentIndex: number;
|
||||
endSegmentIndex: number;
|
||||
timeRange?: TimeRange | undefined;
|
||||
field9?: Kob | undefined;
|
||||
field11?: YPa | undefined;
|
||||
field12?: YPa | undefined;
|
||||
}
|
||||
|
||||
export interface OQa {
|
||||
field1: string[];
|
||||
field2?: Uint8Array | undefined;
|
||||
@@ -87,12 +60,12 @@ export interface Pqa {
|
||||
function createBaseVideoPlaybackAbrRequest(): VideoPlaybackAbrRequest {
|
||||
return {
|
||||
clientAbrState: undefined,
|
||||
selectedFormats: [],
|
||||
bufferedRange: [],
|
||||
selectedFormatIds: [],
|
||||
bufferedRanges: [],
|
||||
videoPlaybackUstreamerConfig: new Uint8Array(0),
|
||||
lo: undefined,
|
||||
audioFormats: [],
|
||||
videoFormats: [],
|
||||
selectedAudioFormatIds: [],
|
||||
selectedVideoFormatIds: [],
|
||||
streamerContext: undefined,
|
||||
field21: undefined,
|
||||
field22: 0,
|
||||
@@ -106,10 +79,10 @@ export const VideoPlaybackAbrRequest: MessageFns<VideoPlaybackAbrRequest> = {
|
||||
if (message.clientAbrState !== undefined) {
|
||||
ClientAbrState.encode(message.clientAbrState, writer.uint32(10).fork()).join();
|
||||
}
|
||||
for (const v of message.selectedFormats) {
|
||||
for (const v of message.selectedFormatIds) {
|
||||
FormatId.encode(v!, writer.uint32(18).fork()).join();
|
||||
}
|
||||
for (const v of message.bufferedRange) {
|
||||
for (const v of message.bufferedRanges) {
|
||||
BufferedRange.encode(v!, writer.uint32(26).fork()).join();
|
||||
}
|
||||
if (message.videoPlaybackUstreamerConfig !== undefined && message.videoPlaybackUstreamerConfig.length !== 0) {
|
||||
@@ -118,10 +91,10 @@ export const VideoPlaybackAbrRequest: MessageFns<VideoPlaybackAbrRequest> = {
|
||||
if (message.lo !== undefined) {
|
||||
Lo.encode(message.lo, writer.uint32(50).fork()).join();
|
||||
}
|
||||
for (const v of message.audioFormats) {
|
||||
for (const v of message.selectedAudioFormatIds) {
|
||||
FormatId.encode(v!, writer.uint32(130).fork()).join();
|
||||
}
|
||||
for (const v of message.videoFormats) {
|
||||
for (const v of message.selectedVideoFormatIds) {
|
||||
FormatId.encode(v!, writer.uint32(138).fork()).join();
|
||||
}
|
||||
if (message.streamerContext !== undefined) {
|
||||
@@ -161,14 +134,14 @@ export const VideoPlaybackAbrRequest: MessageFns<VideoPlaybackAbrRequest> = {
|
||||
break;
|
||||
}
|
||||
|
||||
message.selectedFormats.push(FormatId.decode(reader, reader.uint32()));
|
||||
message.selectedFormatIds.push(FormatId.decode(reader, reader.uint32()));
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 26) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.bufferedRange.push(BufferedRange.decode(reader, reader.uint32()));
|
||||
message.bufferedRanges.push(BufferedRange.decode(reader, reader.uint32()));
|
||||
continue;
|
||||
case 5:
|
||||
if (tag !== 42) {
|
||||
@@ -189,14 +162,14 @@ export const VideoPlaybackAbrRequest: MessageFns<VideoPlaybackAbrRequest> = {
|
||||
break;
|
||||
}
|
||||
|
||||
message.audioFormats.push(FormatId.decode(reader, reader.uint32()));
|
||||
message.selectedAudioFormatIds.push(FormatId.decode(reader, reader.uint32()));
|
||||
continue;
|
||||
case 17:
|
||||
if (tag !== 138) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.videoFormats.push(FormatId.decode(reader, reader.uint32()));
|
||||
message.selectedVideoFormatIds.push(FormatId.decode(reader, reader.uint32()));
|
||||
continue;
|
||||
case 19:
|
||||
if (tag !== 154) {
|
||||
@@ -245,21 +218,21 @@ export const VideoPlaybackAbrRequest: MessageFns<VideoPlaybackAbrRequest> = {
|
||||
fromJSON(object: any): VideoPlaybackAbrRequest {
|
||||
return {
|
||||
clientAbrState: isSet(object.clientAbrState) ? ClientAbrState.fromJSON(object.clientAbrState) : undefined,
|
||||
selectedFormats: globalThis.Array.isArray(object?.selectedFormats)
|
||||
? object.selectedFormats.map((e: any) => FormatId.fromJSON(e))
|
||||
selectedFormatIds: globalThis.Array.isArray(object?.selectedFormatIds)
|
||||
? object.selectedFormatIds.map((e: any) => FormatId.fromJSON(e))
|
||||
: [],
|
||||
bufferedRange: globalThis.Array.isArray(object?.bufferedRange)
|
||||
? object.bufferedRange.map((e: any) => BufferedRange.fromJSON(e))
|
||||
bufferedRanges: globalThis.Array.isArray(object?.bufferedRanges)
|
||||
? object.bufferedRanges.map((e: any) => BufferedRange.fromJSON(e))
|
||||
: [],
|
||||
videoPlaybackUstreamerConfig: isSet(object.videoPlaybackUstreamerConfig)
|
||||
? bytesFromBase64(object.videoPlaybackUstreamerConfig)
|
||||
: new Uint8Array(0),
|
||||
lo: isSet(object.lo) ? Lo.fromJSON(object.lo) : undefined,
|
||||
audioFormats: globalThis.Array.isArray(object?.audioFormats)
|
||||
? object.audioFormats.map((e: any) => FormatId.fromJSON(e))
|
||||
selectedAudioFormatIds: globalThis.Array.isArray(object?.selectedAudioFormatIds)
|
||||
? object.selectedAudioFormatIds.map((e: any) => FormatId.fromJSON(e))
|
||||
: [],
|
||||
videoFormats: globalThis.Array.isArray(object?.videoFormats)
|
||||
? object.videoFormats.map((e: any) => FormatId.fromJSON(e))
|
||||
selectedVideoFormatIds: globalThis.Array.isArray(object?.selectedVideoFormatIds)
|
||||
? object.selectedVideoFormatIds.map((e: any) => FormatId.fromJSON(e))
|
||||
: [],
|
||||
streamerContext: isSet(object.streamerContext) ? StreamerContext.fromJSON(object.streamerContext) : undefined,
|
||||
field21: isSet(object.field21) ? OQa.fromJSON(object.field21) : undefined,
|
||||
@@ -274,11 +247,11 @@ export const VideoPlaybackAbrRequest: MessageFns<VideoPlaybackAbrRequest> = {
|
||||
if (message.clientAbrState !== undefined) {
|
||||
obj.clientAbrState = ClientAbrState.toJSON(message.clientAbrState);
|
||||
}
|
||||
if (message.selectedFormats?.length) {
|
||||
obj.selectedFormats = message.selectedFormats.map((e) => FormatId.toJSON(e));
|
||||
if (message.selectedFormatIds?.length) {
|
||||
obj.selectedFormatIds = message.selectedFormatIds.map((e) => FormatId.toJSON(e));
|
||||
}
|
||||
if (message.bufferedRange?.length) {
|
||||
obj.bufferedRange = message.bufferedRange.map((e) => BufferedRange.toJSON(e));
|
||||
if (message.bufferedRanges?.length) {
|
||||
obj.bufferedRanges = message.bufferedRanges.map((e) => BufferedRange.toJSON(e));
|
||||
}
|
||||
if (message.videoPlaybackUstreamerConfig !== undefined && message.videoPlaybackUstreamerConfig.length !== 0) {
|
||||
obj.videoPlaybackUstreamerConfig = base64FromBytes(message.videoPlaybackUstreamerConfig);
|
||||
@@ -286,11 +259,11 @@ export const VideoPlaybackAbrRequest: MessageFns<VideoPlaybackAbrRequest> = {
|
||||
if (message.lo !== undefined) {
|
||||
obj.lo = Lo.toJSON(message.lo);
|
||||
}
|
||||
if (message.audioFormats?.length) {
|
||||
obj.audioFormats = message.audioFormats.map((e) => FormatId.toJSON(e));
|
||||
if (message.selectedAudioFormatIds?.length) {
|
||||
obj.selectedAudioFormatIds = message.selectedAudioFormatIds.map((e) => FormatId.toJSON(e));
|
||||
}
|
||||
if (message.videoFormats?.length) {
|
||||
obj.videoFormats = message.videoFormats.map((e) => FormatId.toJSON(e));
|
||||
if (message.selectedVideoFormatIds?.length) {
|
||||
obj.selectedVideoFormatIds = message.selectedVideoFormatIds.map((e) => FormatId.toJSON(e));
|
||||
}
|
||||
if (message.streamerContext !== undefined) {
|
||||
obj.streamerContext = StreamerContext.toJSON(message.streamerContext);
|
||||
@@ -318,12 +291,12 @@ export const VideoPlaybackAbrRequest: MessageFns<VideoPlaybackAbrRequest> = {
|
||||
message.clientAbrState = (object.clientAbrState !== undefined && object.clientAbrState !== null)
|
||||
? ClientAbrState.fromPartial(object.clientAbrState)
|
||||
: undefined;
|
||||
message.selectedFormats = object.selectedFormats?.map((e) => FormatId.fromPartial(e)) || [];
|
||||
message.bufferedRange = object.bufferedRange?.map((e) => BufferedRange.fromPartial(e)) || [];
|
||||
message.selectedFormatIds = object.selectedFormatIds?.map((e) => FormatId.fromPartial(e)) || [];
|
||||
message.bufferedRanges = object.bufferedRanges?.map((e) => BufferedRange.fromPartial(e)) || [];
|
||||
message.videoPlaybackUstreamerConfig = object.videoPlaybackUstreamerConfig ?? new Uint8Array(0);
|
||||
message.lo = (object.lo !== undefined && object.lo !== null) ? Lo.fromPartial(object.lo) : undefined;
|
||||
message.audioFormats = object.audioFormats?.map((e) => FormatId.fromPartial(e)) || [];
|
||||
message.videoFormats = object.videoFormats?.map((e) => FormatId.fromPartial(e)) || [];
|
||||
message.selectedAudioFormatIds = object.selectedAudioFormatIds?.map((e) => FormatId.fromPartial(e)) || [];
|
||||
message.selectedVideoFormatIds = object.selectedVideoFormatIds?.map((e) => FormatId.fromPartial(e)) || [];
|
||||
message.streamerContext = (object.streamerContext !== undefined && object.streamerContext !== null)
|
||||
? StreamerContext.fromPartial(object.streamerContext)
|
||||
: undefined;
|
||||
@@ -549,425 +522,6 @@ export const Lo_Field4: MessageFns<Lo_Field4> = {
|
||||
},
|
||||
};
|
||||
|
||||
function createBaseKob(): Kob {
|
||||
return { EW: [] };
|
||||
}
|
||||
|
||||
export const Kob: MessageFns<Kob> = {
|
||||
encode(message: Kob, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
for (const v of message.EW) {
|
||||
Kob_Pa.encode(v!, writer.uint32(10).fork()).join();
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): Kob {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseKob();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 10) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.EW.push(Kob_Pa.decode(reader, reader.uint32()));
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): Kob {
|
||||
return { EW: globalThis.Array.isArray(object?.EW) ? object.EW.map((e: any) => Kob_Pa.fromJSON(e)) : [] };
|
||||
},
|
||||
|
||||
toJSON(message: Kob): unknown {
|
||||
const obj: any = {};
|
||||
if (message.EW?.length) {
|
||||
obj.EW = message.EW.map((e) => Kob_Pa.toJSON(e));
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<Kob>, I>>(base?: I): Kob {
|
||||
return Kob.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<Kob>, I>>(object: I): Kob {
|
||||
const message = createBaseKob();
|
||||
message.EW = object.EW?.map((e) => Kob_Pa.fromPartial(e)) || [];
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function createBaseKob_Pa(): Kob_Pa {
|
||||
return { videoId: "", lmt: 0 };
|
||||
}
|
||||
|
||||
export const Kob_Pa: MessageFns<Kob_Pa> = {
|
||||
encode(message: Kob_Pa, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.videoId !== undefined && message.videoId !== "") {
|
||||
writer.uint32(10).string(message.videoId);
|
||||
}
|
||||
if (message.lmt !== undefined && message.lmt !== 0) {
|
||||
writer.uint32(16).uint64(message.lmt);
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): Kob_Pa {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseKob_Pa();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 10) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.videoId = reader.string();
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 16) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.lmt = longToNumber(reader.uint64());
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): Kob_Pa {
|
||||
return {
|
||||
videoId: isSet(object.videoId) ? globalThis.String(object.videoId) : "",
|
||||
lmt: isSet(object.lmt) ? globalThis.Number(object.lmt) : 0,
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: Kob_Pa): unknown {
|
||||
const obj: any = {};
|
||||
if (message.videoId !== undefined && message.videoId !== "") {
|
||||
obj.videoId = message.videoId;
|
||||
}
|
||||
if (message.lmt !== undefined && message.lmt !== 0) {
|
||||
obj.lmt = Math.round(message.lmt);
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<Kob_Pa>, I>>(base?: I): Kob_Pa {
|
||||
return Kob_Pa.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<Kob_Pa>, I>>(object: I): Kob_Pa {
|
||||
const message = createBaseKob_Pa();
|
||||
message.videoId = object.videoId ?? "";
|
||||
message.lmt = object.lmt ?? 0;
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function createBaseYPa(): YPa {
|
||||
return { field1: 0, field2: 0, field3: 0 };
|
||||
}
|
||||
|
||||
export const YPa: MessageFns<YPa> = {
|
||||
encode(message: YPa, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.field1 !== undefined && message.field1 !== 0) {
|
||||
writer.uint32(8).int32(message.field1);
|
||||
}
|
||||
if (message.field2 !== undefined && message.field2 !== 0) {
|
||||
writer.uint32(16).int32(message.field2);
|
||||
}
|
||||
if (message.field3 !== undefined && message.field3 !== 0) {
|
||||
writer.uint32(24).int32(message.field3);
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): YPa {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseYPa();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 8) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field1 = reader.int32();
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 16) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field2 = reader.int32();
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 24) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field3 = reader.int32();
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): YPa {
|
||||
return {
|
||||
field1: isSet(object.field1) ? globalThis.Number(object.field1) : 0,
|
||||
field2: isSet(object.field2) ? globalThis.Number(object.field2) : 0,
|
||||
field3: isSet(object.field3) ? globalThis.Number(object.field3) : 0,
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: YPa): unknown {
|
||||
const obj: any = {};
|
||||
if (message.field1 !== undefined && message.field1 !== 0) {
|
||||
obj.field1 = Math.round(message.field1);
|
||||
}
|
||||
if (message.field2 !== undefined && message.field2 !== 0) {
|
||||
obj.field2 = Math.round(message.field2);
|
||||
}
|
||||
if (message.field3 !== undefined && message.field3 !== 0) {
|
||||
obj.field3 = Math.round(message.field3);
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<YPa>, I>>(base?: I): YPa {
|
||||
return YPa.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<YPa>, I>>(object: I): YPa {
|
||||
const message = createBaseYPa();
|
||||
message.field1 = object.field1 ?? 0;
|
||||
message.field2 = object.field2 ?? 0;
|
||||
message.field3 = object.field3 ?? 0;
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function createBaseBufferedRange(): BufferedRange {
|
||||
return {
|
||||
formatId: undefined,
|
||||
startTimeMs: 0,
|
||||
durationMs: 0,
|
||||
startSegmentIndex: 0,
|
||||
endSegmentIndex: 0,
|
||||
timeRange: undefined,
|
||||
field9: undefined,
|
||||
field11: undefined,
|
||||
field12: undefined,
|
||||
};
|
||||
}
|
||||
|
||||
export const BufferedRange: MessageFns<BufferedRange> = {
|
||||
encode(message: BufferedRange, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||
if (message.formatId !== undefined) {
|
||||
FormatId.encode(message.formatId, writer.uint32(10).fork()).join();
|
||||
}
|
||||
if (message.startTimeMs !== 0) {
|
||||
writer.uint32(16).int64(message.startTimeMs);
|
||||
}
|
||||
if (message.durationMs !== 0) {
|
||||
writer.uint32(24).int64(message.durationMs);
|
||||
}
|
||||
if (message.startSegmentIndex !== 0) {
|
||||
writer.uint32(32).int32(message.startSegmentIndex);
|
||||
}
|
||||
if (message.endSegmentIndex !== 0) {
|
||||
writer.uint32(40).int32(message.endSegmentIndex);
|
||||
}
|
||||
if (message.timeRange !== undefined) {
|
||||
TimeRange.encode(message.timeRange, writer.uint32(50).fork()).join();
|
||||
}
|
||||
if (message.field9 !== undefined) {
|
||||
Kob.encode(message.field9, writer.uint32(74).fork()).join();
|
||||
}
|
||||
if (message.field11 !== undefined) {
|
||||
YPa.encode(message.field11, writer.uint32(90).fork()).join();
|
||||
}
|
||||
if (message.field12 !== undefined) {
|
||||
YPa.encode(message.field12, writer.uint32(98).fork()).join();
|
||||
}
|
||||
return writer;
|
||||
},
|
||||
|
||||
decode(input: BinaryReader | Uint8Array, length?: number): BufferedRange {
|
||||
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||
let end = length === undefined ? reader.len : reader.pos + length;
|
||||
const message = createBaseBufferedRange();
|
||||
while (reader.pos < end) {
|
||||
const tag = reader.uint32();
|
||||
switch (tag >>> 3) {
|
||||
case 1:
|
||||
if (tag !== 10) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.formatId = FormatId.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 2:
|
||||
if (tag !== 16) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.startTimeMs = longToNumber(reader.int64());
|
||||
continue;
|
||||
case 3:
|
||||
if (tag !== 24) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.durationMs = longToNumber(reader.int64());
|
||||
continue;
|
||||
case 4:
|
||||
if (tag !== 32) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.startSegmentIndex = reader.int32();
|
||||
continue;
|
||||
case 5:
|
||||
if (tag !== 40) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.endSegmentIndex = reader.int32();
|
||||
continue;
|
||||
case 6:
|
||||
if (tag !== 50) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.timeRange = TimeRange.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 9:
|
||||
if (tag !== 74) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field9 = Kob.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 11:
|
||||
if (tag !== 90) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field11 = YPa.decode(reader, reader.uint32());
|
||||
continue;
|
||||
case 12:
|
||||
if (tag !== 98) {
|
||||
break;
|
||||
}
|
||||
|
||||
message.field12 = YPa.decode(reader, reader.uint32());
|
||||
continue;
|
||||
}
|
||||
if ((tag & 7) === 4 || tag === 0) {
|
||||
break;
|
||||
}
|
||||
reader.skip(tag & 7);
|
||||
}
|
||||
return message;
|
||||
},
|
||||
|
||||
fromJSON(object: any): BufferedRange {
|
||||
return {
|
||||
formatId: isSet(object.formatId) ? FormatId.fromJSON(object.formatId) : undefined,
|
||||
startTimeMs: isSet(object.startTimeMs) ? globalThis.Number(object.startTimeMs) : 0,
|
||||
durationMs: isSet(object.durationMs) ? globalThis.Number(object.durationMs) : 0,
|
||||
startSegmentIndex: isSet(object.startSegmentIndex) ? globalThis.Number(object.startSegmentIndex) : 0,
|
||||
endSegmentIndex: isSet(object.endSegmentIndex) ? globalThis.Number(object.endSegmentIndex) : 0,
|
||||
timeRange: isSet(object.timeRange) ? TimeRange.fromJSON(object.timeRange) : undefined,
|
||||
field9: isSet(object.field9) ? Kob.fromJSON(object.field9) : undefined,
|
||||
field11: isSet(object.field11) ? YPa.fromJSON(object.field11) : undefined,
|
||||
field12: isSet(object.field12) ? YPa.fromJSON(object.field12) : undefined,
|
||||
};
|
||||
},
|
||||
|
||||
toJSON(message: BufferedRange): unknown {
|
||||
const obj: any = {};
|
||||
if (message.formatId !== undefined) {
|
||||
obj.formatId = FormatId.toJSON(message.formatId);
|
||||
}
|
||||
if (message.startTimeMs !== 0) {
|
||||
obj.startTimeMs = Math.round(message.startTimeMs);
|
||||
}
|
||||
if (message.durationMs !== 0) {
|
||||
obj.durationMs = Math.round(message.durationMs);
|
||||
}
|
||||
if (message.startSegmentIndex !== 0) {
|
||||
obj.startSegmentIndex = Math.round(message.startSegmentIndex);
|
||||
}
|
||||
if (message.endSegmentIndex !== 0) {
|
||||
obj.endSegmentIndex = Math.round(message.endSegmentIndex);
|
||||
}
|
||||
if (message.timeRange !== undefined) {
|
||||
obj.timeRange = TimeRange.toJSON(message.timeRange);
|
||||
}
|
||||
if (message.field9 !== undefined) {
|
||||
obj.field9 = Kob.toJSON(message.field9);
|
||||
}
|
||||
if (message.field11 !== undefined) {
|
||||
obj.field11 = YPa.toJSON(message.field11);
|
||||
}
|
||||
if (message.field12 !== undefined) {
|
||||
obj.field12 = YPa.toJSON(message.field12);
|
||||
}
|
||||
return obj;
|
||||
},
|
||||
|
||||
create<I extends Exact<DeepPartial<BufferedRange>, I>>(base?: I): BufferedRange {
|
||||
return BufferedRange.fromPartial(base ?? ({} as any));
|
||||
},
|
||||
fromPartial<I extends Exact<DeepPartial<BufferedRange>, I>>(object: I): BufferedRange {
|
||||
const message = createBaseBufferedRange();
|
||||
message.formatId = (object.formatId !== undefined && object.formatId !== null)
|
||||
? FormatId.fromPartial(object.formatId)
|
||||
: undefined;
|
||||
message.startTimeMs = object.startTimeMs ?? 0;
|
||||
message.durationMs = object.durationMs ?? 0;
|
||||
message.startSegmentIndex = object.startSegmentIndex ?? 0;
|
||||
message.endSegmentIndex = object.endSegmentIndex ?? 0;
|
||||
message.timeRange = (object.timeRange !== undefined && object.timeRange !== null)
|
||||
? TimeRange.fromPartial(object.timeRange)
|
||||
: undefined;
|
||||
message.field9 = (object.field9 !== undefined && object.field9 !== null)
|
||||
? Kob.fromPartial(object.field9)
|
||||
: undefined;
|
||||
message.field11 = (object.field11 !== undefined && object.field11 !== null)
|
||||
? YPa.fromPartial(object.field11)
|
||||
: undefined;
|
||||
message.field12 = (object.field12 !== undefined && object.field12 !== null)
|
||||
? YPa.fromPartial(object.field12)
|
||||
: undefined;
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
function createBaseOQa(): OQa {
|
||||
return { field1: [], field2: new Uint8Array(0), field3: "", field4: 0, field5: 0, field6: "" };
|
||||
}
|
||||
@@ -1220,17 +774,6 @@ type KeysOfUnion<T> = T extends T ? keyof T : never;
|
||||
export type Exact<P, I extends P> = P extends Builtin ? P
|
||||
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
|
||||
|
||||
function longToNumber(int64: { toString(): string }): number {
|
||||
const num = globalThis.Number(int64.toString());
|
||||
if (num > globalThis.Number.MAX_SAFE_INTEGER) {
|
||||
throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
|
||||
}
|
||||
if (num < globalThis.Number.MIN_SAFE_INTEGER) {
|
||||
throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
function isSet(value: any): boolean {
|
||||
return value !== null && value !== undefined;
|
||||
}
|
||||
|
||||
32
protos/video_streaming/buffered_range.proto
Normal file
32
protos/video_streaming/buffered_range.proto
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
syntax = "proto2";
|
||||
package video_streaming;
|
||||
|
||||
import "misc/common.proto";
|
||||
import "video_streaming/time_range.proto";
|
||||
|
||||
message BufferedRange {
|
||||
required .misc.FormatId format_id = 1;
|
||||
required int64 start_time_ms = 2;
|
||||
required int64 duration_ms = 3;
|
||||
required int32 start_segment_index = 4;
|
||||
required int32 end_segment_index = 5;
|
||||
optional TimeRange time_range = 6;
|
||||
optional Kob field9 = 9;
|
||||
optional YPa field11 = 11;
|
||||
optional YPa field12 = 12;
|
||||
}
|
||||
|
||||
message Kob {
|
||||
message Pa {
|
||||
optional string video_id = 1;
|
||||
optional uint64 lmt = 2;
|
||||
}
|
||||
repeated Pa EW = 1;
|
||||
}
|
||||
|
||||
message YPa {
|
||||
optional int32 field1 = 1;
|
||||
optional int32 field2 = 2;
|
||||
optional int32 field3 = 3;
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
syntax = "proto2";
|
||||
package video_streaming;
|
||||
|
||||
message EncryptedRequest {
|
||||
optional bytes encrypted_onesie_request = 2;
|
||||
message EncryptedPlayerRequest {
|
||||
optional bytes context = 1; // InnerTubeContext proto?
|
||||
optional bytes encrypted_onesie_player_request = 2;
|
||||
optional bytes encrypted_client_key = 5;
|
||||
optional bytes iv = 6;
|
||||
optional bytes hmac = 7;
|
||||
optional string reverse_proxy_config = 9;
|
||||
optional bool YP = 10;
|
||||
optional bool pM = 13;
|
||||
optional bool enable_compression = 14;
|
||||
@@ -1,13 +0,0 @@
|
||||
syntax = "proto2";
|
||||
package video_streaming;
|
||||
|
||||
import "video_streaming/client_abr_state.proto";
|
||||
import "video_streaming/encrypted_request.proto";
|
||||
import "video_streaming/streamer_context.proto";
|
||||
|
||||
message OnesieInnertubeRequest {
|
||||
optional ClientAbrState client_abr_state = 2;
|
||||
optional EncryptedRequest encrypted_request = 3;
|
||||
optional bytes onesie_ustreamer_config = 4;
|
||||
optional StreamerContext streamer_context = 10;
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
syntax = "proto2";
|
||||
package video_streaming;
|
||||
|
||||
import "misc/common.proto";
|
||||
import "video_streaming/proxy_status.proto";
|
||||
|
||||
message OnesieInnertubeResponse {
|
||||
optional ProxyStatus proxy_status = 1;
|
||||
optional int32 status = 2;
|
||||
repeated .misc.HttpHeader headers = 3;
|
||||
optional bytes body = 4;
|
||||
}
|
||||
12
protos/video_streaming/onesie_player_request.proto
Normal file
12
protos/video_streaming/onesie_player_request.proto
Normal file
@@ -0,0 +1,12 @@
|
||||
syntax = "proto2";
|
||||
package video_streaming;
|
||||
|
||||
import "misc/common.proto";
|
||||
|
||||
message OnesiePlayerRequest {
|
||||
optional string url = 1;
|
||||
repeated misc.HttpHeader headers = 2;
|
||||
optional string body = 3;
|
||||
optional bool proxied_by_trusted_bandaid = 4;
|
||||
optional bool field6 = 6; // Seen this on youtube.com and the YTMusic protos. Not sure what it is yet.
|
||||
}
|
||||
11
protos/video_streaming/onesie_player_response.proto
Normal file
11
protos/video_streaming/onesie_player_response.proto
Normal file
@@ -0,0 +1,11 @@
|
||||
syntax = "proto2";
|
||||
package video_streaming;
|
||||
|
||||
import "misc/common.proto";
|
||||
|
||||
message OnesiePlayerResponse {
|
||||
optional int32 onesie_proxy_status = 1;
|
||||
optional int32 http_status = 2;
|
||||
repeated .misc.HttpHeader headers = 3;
|
||||
optional bytes body = 4;
|
||||
}
|
||||
@@ -1,12 +1,18 @@
|
||||
syntax = "proto2";
|
||||
package video_streaming;
|
||||
|
||||
import "misc/common.proto";
|
||||
import "video_streaming/client_abr_state.proto";
|
||||
import "video_streaming/encrypted_player_request.proto";
|
||||
import "video_streaming/streamer_context.proto";
|
||||
import "video_streaming/buffered_range.proto";
|
||||
|
||||
message OnesieRequest {
|
||||
optional string url = 1;
|
||||
repeated misc.HttpHeader headers = 2;
|
||||
optional string body = 3;
|
||||
optional bool field4 = 4;
|
||||
optional bool field6 = 6;
|
||||
repeated string urls = 1;
|
||||
optional ClientAbrState client_abr_state = 2;
|
||||
optional EncryptedPlayerRequest player_request = 3;
|
||||
optional bytes onesie_ustreamer_config = 4;
|
||||
optional int32 max_vp9_height = 5;
|
||||
optional int32 client_display_height = 6;
|
||||
optional StreamerContext streamer_context = 10;
|
||||
repeated BufferedRange buffered_ranges = 14;
|
||||
}
|
||||
@@ -3,17 +3,17 @@ package video_streaming;
|
||||
|
||||
import "misc/common.proto";
|
||||
import "video_streaming/client_abr_state.proto";
|
||||
import "video_streaming/time_range.proto";
|
||||
import "video_streaming/streamer_context.proto";
|
||||
import "video_streaming/buffered_range.proto";
|
||||
|
||||
message VideoPlaybackAbrRequest {
|
||||
optional ClientAbrState client_abr_state = 1;
|
||||
repeated .misc.FormatId selected_formats = 2;
|
||||
repeated BufferedRange buffered_range = 3;
|
||||
repeated .misc.FormatId selected_format_ids = 2;
|
||||
repeated BufferedRange buffered_ranges = 3;
|
||||
optional bytes video_playback_ustreamer_config = 5;
|
||||
optional Lo lo = 6;
|
||||
repeated .misc.FormatId audio_formats = 16;
|
||||
repeated .misc.FormatId video_formats = 17;
|
||||
repeated .misc.FormatId selected_audio_format_ids = 16;
|
||||
repeated .misc.FormatId selected_video_format_ids = 17;
|
||||
optional StreamerContext streamer_context = 19;
|
||||
optional OQa field21 = 21;
|
||||
optional int32 field22 = 22;
|
||||
@@ -34,32 +34,6 @@ message Lo {
|
||||
optional int32 MZ = 5;
|
||||
}
|
||||
|
||||
message Kob {
|
||||
message Pa {
|
||||
optional string video_id = 1;
|
||||
optional uint64 lmt = 2;
|
||||
}
|
||||
repeated Pa EW = 1;
|
||||
}
|
||||
|
||||
message YPa {
|
||||
optional int32 field1 = 1;
|
||||
optional int32 field2 = 2;
|
||||
optional int32 field3 = 3;
|
||||
}
|
||||
|
||||
message BufferedRange {
|
||||
required .misc.FormatId format_id = 1;
|
||||
required int64 start_time_ms = 2;
|
||||
required int64 duration_ms = 3;
|
||||
required int32 start_segment_index = 4;
|
||||
required int32 end_segment_index = 5;
|
||||
optional TimeRange time_range = 6;
|
||||
optional Kob field9 = 9;
|
||||
optional YPa field11 = 11;
|
||||
optional YPa field12 = 12;
|
||||
}
|
||||
|
||||
message OQa {
|
||||
repeated string field1 = 1;
|
||||
optional bytes field2 = 2;
|
||||
|
||||
Reference in New Issue
Block a user