mirror of
https://github.com/LuanRT/googlevideo.git
synced 2026-06-13 00:32:11 +00:00
Noticed YouTube returning very large int64 values, causing the protobuf library to throw.
660 lines
19 KiB
TypeScript
660 lines
19 KiB
TypeScript
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-ts_proto v2.7.5
|
|
// protoc v5.28.0
|
|
// source: video_streaming/client_abr_state.proto
|
|
|
|
/* eslint-disable */
|
|
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
import {
|
|
AudioQuality,
|
|
NetworkMeteredState,
|
|
PlaybackAudioRouteOutputType,
|
|
PlaybackAuthorization,
|
|
VideoQualitySetting,
|
|
} from "../misc/common.js";
|
|
import { MediaCapabilities } from "./media_capabilities.js";
|
|
|
|
export const protobufPackage = "video_streaming";
|
|
|
|
export interface ClientAbrState {
|
|
timeSinceLastManualFormatSelectionMs?: string | undefined;
|
|
lastManualDirection?: number | undefined;
|
|
lastManualSelectedResolution?: number | undefined;
|
|
detailedNetworkType?: number | undefined;
|
|
clientViewportWidth?: number | undefined;
|
|
clientViewportHeight?: number | undefined;
|
|
clientBitrateCapBytesPerSec?: string | undefined;
|
|
stickyResolution?: number | undefined;
|
|
clientViewportIsFlexible?: boolean | undefined;
|
|
bandwidthEstimate?: string | undefined;
|
|
minAudioQuality?: AudioQuality | undefined;
|
|
maxAudioQuality?: AudioQuality | undefined;
|
|
videoQualitySetting?: VideoQualitySetting | undefined;
|
|
audioRoute?: PlaybackAudioRouteOutputType | undefined;
|
|
playerTimeMs?: string | undefined;
|
|
timeSinceLastSeek?: string | undefined;
|
|
dataSaverMode?: boolean | undefined;
|
|
networkMeteredState?: NetworkMeteredState | undefined;
|
|
visibility?: number | undefined;
|
|
playbackRate?: number | undefined;
|
|
elapsedWallTimeMs?: string | undefined;
|
|
mediaCapabilities?: MediaCapabilities | undefined;
|
|
timeSinceLastActionMs?: string | undefined;
|
|
enabledTrackTypesBitfield?: number | undefined;
|
|
maxPacingRate?: number | undefined;
|
|
playerState?: string | undefined;
|
|
drcEnabled?: boolean | undefined;
|
|
field48?: number | undefined;
|
|
field50?: number | undefined;
|
|
field51?: number | undefined;
|
|
sabrReportRequestCancellationInfo?: number | undefined;
|
|
disableStreamingXhr?: boolean | undefined;
|
|
field57?: string | undefined;
|
|
preferVp9?:
|
|
| boolean
|
|
| undefined;
|
|
/** 2160 */
|
|
av1QualityThreshold?: number | undefined;
|
|
field60?: number | undefined;
|
|
isPrefetch?: boolean | undefined;
|
|
sabrSupportQualityConstraints?: boolean | undefined;
|
|
sabrLicenseConstraint?: Uint8Array | undefined;
|
|
allowProximaLiveLatency?: number | undefined;
|
|
sabrForceProxima?: number | undefined;
|
|
field67?: number | undefined;
|
|
sabrForceMaxNetworkInterruptionDurationMs?: string | undefined;
|
|
audioTrackId?: string | undefined;
|
|
enableVoiceBoost?: boolean | undefined;
|
|
playbackAuthorization?: PlaybackAuthorization | undefined;
|
|
}
|
|
|
|
function createBaseClientAbrState(): ClientAbrState {
|
|
return {
|
|
timeSinceLastManualFormatSelectionMs: "0",
|
|
lastManualDirection: 0,
|
|
lastManualSelectedResolution: 0,
|
|
detailedNetworkType: 0,
|
|
clientViewportWidth: 0,
|
|
clientViewportHeight: 0,
|
|
clientBitrateCapBytesPerSec: "0",
|
|
stickyResolution: 0,
|
|
clientViewportIsFlexible: false,
|
|
bandwidthEstimate: "0",
|
|
minAudioQuality: 0,
|
|
maxAudioQuality: 0,
|
|
videoQualitySetting: 0,
|
|
audioRoute: 0,
|
|
playerTimeMs: "0",
|
|
timeSinceLastSeek: "0",
|
|
dataSaverMode: false,
|
|
networkMeteredState: 0,
|
|
visibility: 0,
|
|
playbackRate: 0,
|
|
elapsedWallTimeMs: "0",
|
|
mediaCapabilities: undefined,
|
|
timeSinceLastActionMs: "0",
|
|
enabledTrackTypesBitfield: 0,
|
|
maxPacingRate: 0,
|
|
playerState: "0",
|
|
drcEnabled: false,
|
|
field48: 0,
|
|
field50: 0,
|
|
field51: 0,
|
|
sabrReportRequestCancellationInfo: 0,
|
|
disableStreamingXhr: false,
|
|
field57: "0",
|
|
preferVp9: false,
|
|
av1QualityThreshold: 0,
|
|
field60: 0,
|
|
isPrefetch: false,
|
|
sabrSupportQualityConstraints: false,
|
|
sabrLicenseConstraint: new Uint8Array(0),
|
|
allowProximaLiveLatency: 0,
|
|
sabrForceProxima: 0,
|
|
field67: 0,
|
|
sabrForceMaxNetworkInterruptionDurationMs: "0",
|
|
audioTrackId: "",
|
|
enableVoiceBoost: false,
|
|
playbackAuthorization: undefined,
|
|
};
|
|
}
|
|
|
|
export const ClientAbrState: MessageFns<ClientAbrState> = {
|
|
encode(message: ClientAbrState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
if (
|
|
message.timeSinceLastManualFormatSelectionMs !== undefined && message.timeSinceLastManualFormatSelectionMs !== "0"
|
|
) {
|
|
writer.uint32(104).int64(message.timeSinceLastManualFormatSelectionMs);
|
|
}
|
|
if (message.lastManualDirection !== undefined && message.lastManualDirection !== 0) {
|
|
writer.uint32(112).sint32(message.lastManualDirection);
|
|
}
|
|
if (message.lastManualSelectedResolution !== undefined && message.lastManualSelectedResolution !== 0) {
|
|
writer.uint32(128).int32(message.lastManualSelectedResolution);
|
|
}
|
|
if (message.detailedNetworkType !== undefined && message.detailedNetworkType !== 0) {
|
|
writer.uint32(136).int32(message.detailedNetworkType);
|
|
}
|
|
if (message.clientViewportWidth !== undefined && message.clientViewportWidth !== 0) {
|
|
writer.uint32(144).int32(message.clientViewportWidth);
|
|
}
|
|
if (message.clientViewportHeight !== undefined && message.clientViewportHeight !== 0) {
|
|
writer.uint32(152).int32(message.clientViewportHeight);
|
|
}
|
|
if (message.clientBitrateCapBytesPerSec !== undefined && message.clientBitrateCapBytesPerSec !== "0") {
|
|
writer.uint32(160).int64(message.clientBitrateCapBytesPerSec);
|
|
}
|
|
if (message.stickyResolution !== undefined && message.stickyResolution !== 0) {
|
|
writer.uint32(168).int32(message.stickyResolution);
|
|
}
|
|
if (message.clientViewportIsFlexible !== undefined && message.clientViewportIsFlexible !== false) {
|
|
writer.uint32(176).bool(message.clientViewportIsFlexible);
|
|
}
|
|
if (message.bandwidthEstimate !== undefined && message.bandwidthEstimate !== "0") {
|
|
writer.uint32(184).int64(message.bandwidthEstimate);
|
|
}
|
|
if (message.minAudioQuality !== undefined && message.minAudioQuality !== 0) {
|
|
writer.uint32(192).int32(message.minAudioQuality);
|
|
}
|
|
if (message.maxAudioQuality !== undefined && message.maxAudioQuality !== 0) {
|
|
writer.uint32(200).int32(message.maxAudioQuality);
|
|
}
|
|
if (message.videoQualitySetting !== undefined && message.videoQualitySetting !== 0) {
|
|
writer.uint32(208).int32(message.videoQualitySetting);
|
|
}
|
|
if (message.audioRoute !== undefined && message.audioRoute !== 0) {
|
|
writer.uint32(216).int32(message.audioRoute);
|
|
}
|
|
if (message.playerTimeMs !== undefined && message.playerTimeMs !== "0") {
|
|
writer.uint32(224).int64(message.playerTimeMs);
|
|
}
|
|
if (message.timeSinceLastSeek !== undefined && message.timeSinceLastSeek !== "0") {
|
|
writer.uint32(232).int64(message.timeSinceLastSeek);
|
|
}
|
|
if (message.dataSaverMode !== undefined && message.dataSaverMode !== false) {
|
|
writer.uint32(240).bool(message.dataSaverMode);
|
|
}
|
|
if (message.networkMeteredState !== undefined && message.networkMeteredState !== 0) {
|
|
writer.uint32(256).int32(message.networkMeteredState);
|
|
}
|
|
if (message.visibility !== undefined && message.visibility !== 0) {
|
|
writer.uint32(272).int32(message.visibility);
|
|
}
|
|
if (message.playbackRate !== undefined && message.playbackRate !== 0) {
|
|
writer.uint32(285).float(message.playbackRate);
|
|
}
|
|
if (message.elapsedWallTimeMs !== undefined && message.elapsedWallTimeMs !== "0") {
|
|
writer.uint32(288).int64(message.elapsedWallTimeMs);
|
|
}
|
|
if (message.mediaCapabilities !== undefined) {
|
|
MediaCapabilities.encode(message.mediaCapabilities, writer.uint32(306).fork()).join();
|
|
}
|
|
if (message.timeSinceLastActionMs !== undefined && message.timeSinceLastActionMs !== "0") {
|
|
writer.uint32(312).int64(message.timeSinceLastActionMs);
|
|
}
|
|
if (message.enabledTrackTypesBitfield !== undefined && message.enabledTrackTypesBitfield !== 0) {
|
|
writer.uint32(320).int32(message.enabledTrackTypesBitfield);
|
|
}
|
|
if (message.maxPacingRate !== undefined && message.maxPacingRate !== 0) {
|
|
writer.uint32(344).int32(message.maxPacingRate);
|
|
}
|
|
if (message.playerState !== undefined && message.playerState !== "0") {
|
|
writer.uint32(352).int64(message.playerState);
|
|
}
|
|
if (message.drcEnabled !== undefined && message.drcEnabled !== false) {
|
|
writer.uint32(368).bool(message.drcEnabled);
|
|
}
|
|
if (message.field48 !== undefined && message.field48 !== 0) {
|
|
writer.uint32(384).int32(message.field48);
|
|
}
|
|
if (message.field50 !== undefined && message.field50 !== 0) {
|
|
writer.uint32(400).int32(message.field50);
|
|
}
|
|
if (message.field51 !== undefined && message.field51 !== 0) {
|
|
writer.uint32(408).int32(message.field51);
|
|
}
|
|
if (message.sabrReportRequestCancellationInfo !== undefined && message.sabrReportRequestCancellationInfo !== 0) {
|
|
writer.uint32(432).int32(message.sabrReportRequestCancellationInfo);
|
|
}
|
|
if (message.disableStreamingXhr !== undefined && message.disableStreamingXhr !== false) {
|
|
writer.uint32(448).bool(message.disableStreamingXhr);
|
|
}
|
|
if (message.field57 !== undefined && message.field57 !== "0") {
|
|
writer.uint32(456).int64(message.field57);
|
|
}
|
|
if (message.preferVp9 !== undefined && message.preferVp9 !== false) {
|
|
writer.uint32(464).bool(message.preferVp9);
|
|
}
|
|
if (message.av1QualityThreshold !== undefined && message.av1QualityThreshold !== 0) {
|
|
writer.uint32(472).int32(message.av1QualityThreshold);
|
|
}
|
|
if (message.field60 !== undefined && message.field60 !== 0) {
|
|
writer.uint32(480).int32(message.field60);
|
|
}
|
|
if (message.isPrefetch !== undefined && message.isPrefetch !== false) {
|
|
writer.uint32(488).bool(message.isPrefetch);
|
|
}
|
|
if (message.sabrSupportQualityConstraints !== undefined && message.sabrSupportQualityConstraints !== false) {
|
|
writer.uint32(496).bool(message.sabrSupportQualityConstraints);
|
|
}
|
|
if (message.sabrLicenseConstraint !== undefined && message.sabrLicenseConstraint.length !== 0) {
|
|
writer.uint32(506).bytes(message.sabrLicenseConstraint);
|
|
}
|
|
if (message.allowProximaLiveLatency !== undefined && message.allowProximaLiveLatency !== 0) {
|
|
writer.uint32(512).int32(message.allowProximaLiveLatency);
|
|
}
|
|
if (message.sabrForceProxima !== undefined && message.sabrForceProxima !== 0) {
|
|
writer.uint32(528).int32(message.sabrForceProxima);
|
|
}
|
|
if (message.field67 !== undefined && message.field67 !== 0) {
|
|
writer.uint32(536).int32(message.field67);
|
|
}
|
|
if (
|
|
message.sabrForceMaxNetworkInterruptionDurationMs !== undefined &&
|
|
message.sabrForceMaxNetworkInterruptionDurationMs !== "0"
|
|
) {
|
|
writer.uint32(544).int64(message.sabrForceMaxNetworkInterruptionDurationMs);
|
|
}
|
|
if (message.audioTrackId !== undefined && message.audioTrackId !== "") {
|
|
writer.uint32(554).string(message.audioTrackId);
|
|
}
|
|
if (message.enableVoiceBoost !== undefined && message.enableVoiceBoost !== false) {
|
|
writer.uint32(608).bool(message.enableVoiceBoost);
|
|
}
|
|
if (message.playbackAuthorization !== undefined) {
|
|
PlaybackAuthorization.encode(message.playbackAuthorization, writer.uint32(634).fork()).join();
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(input: BinaryReader | Uint8Array, length?: number): ClientAbrState {
|
|
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
const end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = createBaseClientAbrState();
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 13: {
|
|
if (tag !== 104) {
|
|
break;
|
|
}
|
|
|
|
message.timeSinceLastManualFormatSelectionMs = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 14: {
|
|
if (tag !== 112) {
|
|
break;
|
|
}
|
|
|
|
message.lastManualDirection = reader.sint32();
|
|
continue;
|
|
}
|
|
case 16: {
|
|
if (tag !== 128) {
|
|
break;
|
|
}
|
|
|
|
message.lastManualSelectedResolution = reader.int32();
|
|
continue;
|
|
}
|
|
case 17: {
|
|
if (tag !== 136) {
|
|
break;
|
|
}
|
|
|
|
message.detailedNetworkType = reader.int32();
|
|
continue;
|
|
}
|
|
case 18: {
|
|
if (tag !== 144) {
|
|
break;
|
|
}
|
|
|
|
message.clientViewportWidth = reader.int32();
|
|
continue;
|
|
}
|
|
case 19: {
|
|
if (tag !== 152) {
|
|
break;
|
|
}
|
|
|
|
message.clientViewportHeight = reader.int32();
|
|
continue;
|
|
}
|
|
case 20: {
|
|
if (tag !== 160) {
|
|
break;
|
|
}
|
|
|
|
message.clientBitrateCapBytesPerSec = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 21: {
|
|
if (tag !== 168) {
|
|
break;
|
|
}
|
|
|
|
message.stickyResolution = reader.int32();
|
|
continue;
|
|
}
|
|
case 22: {
|
|
if (tag !== 176) {
|
|
break;
|
|
}
|
|
|
|
message.clientViewportIsFlexible = reader.bool();
|
|
continue;
|
|
}
|
|
case 23: {
|
|
if (tag !== 184) {
|
|
break;
|
|
}
|
|
|
|
message.bandwidthEstimate = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 24: {
|
|
if (tag !== 192) {
|
|
break;
|
|
}
|
|
|
|
message.minAudioQuality = reader.int32() as any;
|
|
continue;
|
|
}
|
|
case 25: {
|
|
if (tag !== 200) {
|
|
break;
|
|
}
|
|
|
|
message.maxAudioQuality = reader.int32() as any;
|
|
continue;
|
|
}
|
|
case 26: {
|
|
if (tag !== 208) {
|
|
break;
|
|
}
|
|
|
|
message.videoQualitySetting = reader.int32() as any;
|
|
continue;
|
|
}
|
|
case 27: {
|
|
if (tag !== 216) {
|
|
break;
|
|
}
|
|
|
|
message.audioRoute = reader.int32() as any;
|
|
continue;
|
|
}
|
|
case 28: {
|
|
if (tag !== 224) {
|
|
break;
|
|
}
|
|
|
|
message.playerTimeMs = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 29: {
|
|
if (tag !== 232) {
|
|
break;
|
|
}
|
|
|
|
message.timeSinceLastSeek = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 30: {
|
|
if (tag !== 240) {
|
|
break;
|
|
}
|
|
|
|
message.dataSaverMode = reader.bool();
|
|
continue;
|
|
}
|
|
case 32: {
|
|
if (tag !== 256) {
|
|
break;
|
|
}
|
|
|
|
message.networkMeteredState = reader.int32() as any;
|
|
continue;
|
|
}
|
|
case 34: {
|
|
if (tag !== 272) {
|
|
break;
|
|
}
|
|
|
|
message.visibility = reader.int32();
|
|
continue;
|
|
}
|
|
case 35: {
|
|
if (tag !== 285) {
|
|
break;
|
|
}
|
|
|
|
message.playbackRate = reader.float();
|
|
continue;
|
|
}
|
|
case 36: {
|
|
if (tag !== 288) {
|
|
break;
|
|
}
|
|
|
|
message.elapsedWallTimeMs = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 38: {
|
|
if (tag !== 306) {
|
|
break;
|
|
}
|
|
|
|
message.mediaCapabilities = MediaCapabilities.decode(reader, reader.uint32());
|
|
continue;
|
|
}
|
|
case 39: {
|
|
if (tag !== 312) {
|
|
break;
|
|
}
|
|
|
|
message.timeSinceLastActionMs = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 40: {
|
|
if (tag !== 320) {
|
|
break;
|
|
}
|
|
|
|
message.enabledTrackTypesBitfield = reader.int32();
|
|
continue;
|
|
}
|
|
case 43: {
|
|
if (tag !== 344) {
|
|
break;
|
|
}
|
|
|
|
message.maxPacingRate = reader.int32();
|
|
continue;
|
|
}
|
|
case 44: {
|
|
if (tag !== 352) {
|
|
break;
|
|
}
|
|
|
|
message.playerState = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 46: {
|
|
if (tag !== 368) {
|
|
break;
|
|
}
|
|
|
|
message.drcEnabled = reader.bool();
|
|
continue;
|
|
}
|
|
case 48: {
|
|
if (tag !== 384) {
|
|
break;
|
|
}
|
|
|
|
message.field48 = reader.int32();
|
|
continue;
|
|
}
|
|
case 50: {
|
|
if (tag !== 400) {
|
|
break;
|
|
}
|
|
|
|
message.field50 = reader.int32();
|
|
continue;
|
|
}
|
|
case 51: {
|
|
if (tag !== 408) {
|
|
break;
|
|
}
|
|
|
|
message.field51 = reader.int32();
|
|
continue;
|
|
}
|
|
case 54: {
|
|
if (tag !== 432) {
|
|
break;
|
|
}
|
|
|
|
message.sabrReportRequestCancellationInfo = reader.int32();
|
|
continue;
|
|
}
|
|
case 56: {
|
|
if (tag !== 448) {
|
|
break;
|
|
}
|
|
|
|
message.disableStreamingXhr = reader.bool();
|
|
continue;
|
|
}
|
|
case 57: {
|
|
if (tag !== 456) {
|
|
break;
|
|
}
|
|
|
|
message.field57 = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 58: {
|
|
if (tag !== 464) {
|
|
break;
|
|
}
|
|
|
|
message.preferVp9 = reader.bool();
|
|
continue;
|
|
}
|
|
case 59: {
|
|
if (tag !== 472) {
|
|
break;
|
|
}
|
|
|
|
message.av1QualityThreshold = reader.int32();
|
|
continue;
|
|
}
|
|
case 60: {
|
|
if (tag !== 480) {
|
|
break;
|
|
}
|
|
|
|
message.field60 = reader.int32();
|
|
continue;
|
|
}
|
|
case 61: {
|
|
if (tag !== 488) {
|
|
break;
|
|
}
|
|
|
|
message.isPrefetch = reader.bool();
|
|
continue;
|
|
}
|
|
case 62: {
|
|
if (tag !== 496) {
|
|
break;
|
|
}
|
|
|
|
message.sabrSupportQualityConstraints = reader.bool();
|
|
continue;
|
|
}
|
|
case 63: {
|
|
if (tag !== 506) {
|
|
break;
|
|
}
|
|
|
|
message.sabrLicenseConstraint = reader.bytes();
|
|
continue;
|
|
}
|
|
case 64: {
|
|
if (tag !== 512) {
|
|
break;
|
|
}
|
|
|
|
message.allowProximaLiveLatency = reader.int32();
|
|
continue;
|
|
}
|
|
case 66: {
|
|
if (tag !== 528) {
|
|
break;
|
|
}
|
|
|
|
message.sabrForceProxima = reader.int32();
|
|
continue;
|
|
}
|
|
case 67: {
|
|
if (tag !== 536) {
|
|
break;
|
|
}
|
|
|
|
message.field67 = reader.int32();
|
|
continue;
|
|
}
|
|
case 68: {
|
|
if (tag !== 544) {
|
|
break;
|
|
}
|
|
|
|
message.sabrForceMaxNetworkInterruptionDurationMs = reader.int64().toString();
|
|
continue;
|
|
}
|
|
case 69: {
|
|
if (tag !== 554) {
|
|
break;
|
|
}
|
|
|
|
message.audioTrackId = reader.string();
|
|
continue;
|
|
}
|
|
case 76: {
|
|
if (tag !== 608) {
|
|
break;
|
|
}
|
|
|
|
message.enableVoiceBoost = reader.bool();
|
|
continue;
|
|
}
|
|
case 79: {
|
|
if (tag !== 634) {
|
|
break;
|
|
}
|
|
|
|
message.playbackAuthorization = PlaybackAuthorization.decode(reader, reader.uint32());
|
|
continue;
|
|
}
|
|
}
|
|
if ((tag & 7) === 4 || tag === 0) {
|
|
break;
|
|
}
|
|
reader.skip(tag & 7);
|
|
}
|
|
return message;
|
|
},
|
|
};
|
|
|
|
export interface MessageFns<T> {
|
|
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
|
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
|
}
|