googlevideo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +66 -0
  3. package/bundle/index.cjs +7134 -0
  4. package/bundle/index.cjs.map +7 -0
  5. package/dist/protos/generated/misc/common.d.ts +47 -0
  6. package/dist/protos/generated/misc/common.js +365 -0
  7. package/dist/protos/generated/video_streaming/buffered_range.d.ts +50 -0
  8. package/dist/protos/generated/video_streaming/buffered_range.js +403 -0
  9. package/dist/protos/generated/video_streaming/client_abr_state.d.ts +69 -0
  10. package/dist/protos/generated/video_streaming/client_abr_state.js +647 -0
  11. package/dist/protos/generated/video_streaming/crypto_params.d.ts +35 -0
  12. package/dist/protos/generated/video_streaming/crypto_params.js +143 -0
  13. package/dist/protos/generated/video_streaming/encrypted_player_request.d.ts +35 -0
  14. package/dist/protos/generated/video_streaming/encrypted_player_request.js +219 -0
  15. package/dist/protos/generated/video_streaming/format_initialization_metadata.d.ts +35 -0
  16. package/dist/protos/generated/video_streaming/format_initialization_metadata.js +207 -0
  17. package/dist/protos/generated/video_streaming/media_capabilities.d.ts +43 -0
  18. package/dist/protos/generated/video_streaming/media_capabilities.js +315 -0
  19. package/dist/protos/generated/video_streaming/media_header.d.ts +49 -0
  20. package/dist/protos/generated/video_streaming/media_header.js +328 -0
  21. package/dist/protos/generated/video_streaming/next_request_policy.d.ts +30 -0
  22. package/dist/protos/generated/video_streaming/next_request_policy.js +132 -0
  23. package/dist/protos/generated/video_streaming/onesie_header.d.ts +45 -0
  24. package/dist/protos/generated/video_streaming/onesie_header.js +339 -0
  25. package/dist/protos/generated/video_streaming/onesie_header_type.d.ts +32 -0
  26. package/dist/protos/generated/video_streaming/onesie_header_type.js +182 -0
  27. package/dist/protos/generated/video_streaming/onesie_player_request.d.ts +31 -0
  28. package/dist/protos/generated/video_streaming/onesie_player_request.js +122 -0
  29. package/dist/protos/generated/video_streaming/onesie_player_response.d.ts +29 -0
  30. package/dist/protos/generated/video_streaming/onesie_player_response.js +121 -0
  31. package/dist/protos/generated/video_streaming/onesie_request.d.ts +36 -0
  32. package/dist/protos/generated/video_streaming/onesie_request.js +199 -0
  33. package/dist/protos/generated/video_streaming/playback_cookie.d.ts +30 -0
  34. package/dist/protos/generated/video_streaming/playback_cookie.js +110 -0
  35. package/dist/protos/generated/video_streaming/playback_start_policy.d.ts +31 -0
  36. package/dist/protos/generated/video_streaming/playback_start_policy.js +155 -0
  37. package/dist/protos/generated/video_streaming/proxy_status.d.ts +16 -0
  38. package/dist/protos/generated/video_streaming/proxy_status.js +86 -0
  39. package/dist/protos/generated/video_streaming/request_cancellation_policy.d.ts +33 -0
  40. package/dist/protos/generated/video_streaming/request_cancellation_policy.js +173 -0
  41. package/dist/protos/generated/video_streaming/sabr_error.d.ts +26 -0
  42. package/dist/protos/generated/video_streaming/sabr_error.js +77 -0
  43. package/dist/protos/generated/video_streaming/sabr_redirect.d.ts +25 -0
  44. package/dist/protos/generated/video_streaming/sabr_redirect.js +61 -0
  45. package/dist/protos/generated/video_streaming/stream_protection_status.d.ts +26 -0
  46. package/dist/protos/generated/video_streaming/stream_protection_status.js +77 -0
  47. package/dist/protos/generated/video_streaming/streamer_context.d.ts +89 -0
  48. package/dist/protos/generated/video_streaming/streamer_context.js +915 -0
  49. package/dist/protos/generated/video_streaming/time_range.d.ts +27 -0
  50. package/dist/protos/generated/video_streaming/time_range.js +101 -0
  51. package/dist/protos/generated/video_streaming/video_playback_abr_request.d.ts +69 -0
  52. package/dist/protos/generated/video_streaming/video_playback_abr_request.js +659 -0
  53. package/dist/src/core/ChunkedDataBuffer.d.ts +20 -0
  54. package/dist/src/core/ChunkedDataBuffer.js +82 -0
  55. package/dist/src/core/ServerAbrStream.d.ts +38 -0
  56. package/dist/src/core/ServerAbrStream.js +272 -0
  57. package/dist/src/core/UMP.d.ts +10 -0
  58. package/dist/src/core/UMP.js +110 -0
  59. package/dist/src/core/index.d.ts +3 -0
  60. package/dist/src/core/index.js +3 -0
  61. package/dist/src/index.d.ts +4 -0
  62. package/dist/src/index.js +4 -0
  63. package/dist/src/utils/EventEmitterLike.d.ts +8 -0
  64. package/dist/src/utils/EventEmitterLike.js +50 -0
  65. package/dist/src/utils/Protos.d.ts +23 -0
  66. package/dist/src/utils/Protos.js +23 -0
  67. package/dist/src/utils/helpers.d.ts +63 -0
  68. package/dist/src/utils/helpers.js +101 -0
  69. package/dist/src/utils/index.d.ts +4 -0
  70. package/dist/src/utils/index.js +3 -0
  71. package/dist/src/utils/types.d.ts +65 -0
  72. package/dist/src/utils/types.js +1 -0
  73. package/package.json +61 -0
@@ -0,0 +1,30 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { PlaybackCookie } from "./playback_cookie.js";
3
+ export declare const protobufPackage = "video_streaming";
4
+ export interface NextRequestPolicy {
5
+ targetAudioReadaheadMs?: number | undefined;
6
+ targetVideoReadaheadMs?: number | undefined;
7
+ backoffTimeMs?: number | undefined;
8
+ playbackCookie?: PlaybackCookie | undefined;
9
+ videoId?: string | undefined;
10
+ }
11
+ export declare const NextRequestPolicy: MessageFns<NextRequestPolicy>;
12
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
13
+ 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 {} ? {
14
+ [K in keyof T]?: DeepPartial<T[K]>;
15
+ } : Partial<T>;
16
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
17
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
18
+ [K in keyof P]: Exact<P[K], I[K]>;
19
+ } & {
20
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
21
+ };
22
+ export interface MessageFns<T> {
23
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
24
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
25
+ fromJSON(object: any): T;
26
+ toJSON(message: T): unknown;
27
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
28
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
29
+ }
30
+ export {};
@@ -0,0 +1,132 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.2.0
4
+ // protoc v5.28.0
5
+ // source: video_streaming/next_request_policy.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ import { PlaybackCookie } from "./playback_cookie.js";
9
+ export const protobufPackage = "video_streaming";
10
+ function createBaseNextRequestPolicy() {
11
+ return {
12
+ targetAudioReadaheadMs: 0,
13
+ targetVideoReadaheadMs: 0,
14
+ backoffTimeMs: 0,
15
+ playbackCookie: undefined,
16
+ videoId: "",
17
+ };
18
+ }
19
+ export const NextRequestPolicy = {
20
+ encode(message, writer = new BinaryWriter()) {
21
+ if (message.targetAudioReadaheadMs !== undefined && message.targetAudioReadaheadMs !== 0) {
22
+ writer.uint32(8).int32(message.targetAudioReadaheadMs);
23
+ }
24
+ if (message.targetVideoReadaheadMs !== undefined && message.targetVideoReadaheadMs !== 0) {
25
+ writer.uint32(16).int32(message.targetVideoReadaheadMs);
26
+ }
27
+ if (message.backoffTimeMs !== undefined && message.backoffTimeMs !== 0) {
28
+ writer.uint32(32).int32(message.backoffTimeMs);
29
+ }
30
+ if (message.playbackCookie !== undefined) {
31
+ PlaybackCookie.encode(message.playbackCookie, writer.uint32(58).fork()).join();
32
+ }
33
+ if (message.videoId !== undefined && message.videoId !== "") {
34
+ writer.uint32(66).string(message.videoId);
35
+ }
36
+ return writer;
37
+ },
38
+ decode(input, length) {
39
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
40
+ let end = length === undefined ? reader.len : reader.pos + length;
41
+ const message = createBaseNextRequestPolicy();
42
+ while (reader.pos < end) {
43
+ const tag = reader.uint32();
44
+ switch (tag >>> 3) {
45
+ case 1:
46
+ if (tag !== 8) {
47
+ break;
48
+ }
49
+ message.targetAudioReadaheadMs = reader.int32();
50
+ continue;
51
+ case 2:
52
+ if (tag !== 16) {
53
+ break;
54
+ }
55
+ message.targetVideoReadaheadMs = reader.int32();
56
+ continue;
57
+ case 4:
58
+ if (tag !== 32) {
59
+ break;
60
+ }
61
+ message.backoffTimeMs = reader.int32();
62
+ continue;
63
+ case 7:
64
+ if (tag !== 58) {
65
+ break;
66
+ }
67
+ message.playbackCookie = PlaybackCookie.decode(reader, reader.uint32());
68
+ continue;
69
+ case 8:
70
+ if (tag !== 66) {
71
+ break;
72
+ }
73
+ message.videoId = reader.string();
74
+ continue;
75
+ }
76
+ if ((tag & 7) === 4 || tag === 0) {
77
+ break;
78
+ }
79
+ reader.skip(tag & 7);
80
+ }
81
+ return message;
82
+ },
83
+ fromJSON(object) {
84
+ return {
85
+ targetAudioReadaheadMs: isSet(object.targetAudioReadaheadMs)
86
+ ? globalThis.Number(object.targetAudioReadaheadMs)
87
+ : 0,
88
+ targetVideoReadaheadMs: isSet(object.targetVideoReadaheadMs)
89
+ ? globalThis.Number(object.targetVideoReadaheadMs)
90
+ : 0,
91
+ backoffTimeMs: isSet(object.backoffTimeMs) ? globalThis.Number(object.backoffTimeMs) : 0,
92
+ playbackCookie: isSet(object.playbackCookie) ? PlaybackCookie.fromJSON(object.playbackCookie) : undefined,
93
+ videoId: isSet(object.videoId) ? globalThis.String(object.videoId) : "",
94
+ };
95
+ },
96
+ toJSON(message) {
97
+ const obj = {};
98
+ if (message.targetAudioReadaheadMs !== undefined && message.targetAudioReadaheadMs !== 0) {
99
+ obj.targetAudioReadaheadMs = Math.round(message.targetAudioReadaheadMs);
100
+ }
101
+ if (message.targetVideoReadaheadMs !== undefined && message.targetVideoReadaheadMs !== 0) {
102
+ obj.targetVideoReadaheadMs = Math.round(message.targetVideoReadaheadMs);
103
+ }
104
+ if (message.backoffTimeMs !== undefined && message.backoffTimeMs !== 0) {
105
+ obj.backoffTimeMs = Math.round(message.backoffTimeMs);
106
+ }
107
+ if (message.playbackCookie !== undefined) {
108
+ obj.playbackCookie = PlaybackCookie.toJSON(message.playbackCookie);
109
+ }
110
+ if (message.videoId !== undefined && message.videoId !== "") {
111
+ obj.videoId = message.videoId;
112
+ }
113
+ return obj;
114
+ },
115
+ create(base) {
116
+ return NextRequestPolicy.fromPartial(base ?? {});
117
+ },
118
+ fromPartial(object) {
119
+ const message = createBaseNextRequestPolicy();
120
+ message.targetAudioReadaheadMs = object.targetAudioReadaheadMs ?? 0;
121
+ message.targetVideoReadaheadMs = object.targetVideoReadaheadMs ?? 0;
122
+ message.backoffTimeMs = object.backoffTimeMs ?? 0;
123
+ message.playbackCookie = (object.playbackCookie !== undefined && object.playbackCookie !== null)
124
+ ? PlaybackCookie.fromPartial(object.playbackCookie)
125
+ : undefined;
126
+ message.videoId = object.videoId ?? "";
127
+ return message;
128
+ },
129
+ };
130
+ function isSet(value) {
131
+ return value !== null && value !== undefined;
132
+ }
@@ -0,0 +1,45 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { CryptoParams } from "./crypto_params.js";
3
+ import { OnesieHeaderType } from "./onesie_header_type.js";
4
+ export declare const protobufPackage = "video_streaming";
5
+ export interface OnesieHeader {
6
+ type?: OnesieHeaderType | undefined;
7
+ videoId?: string | undefined;
8
+ itag?: string | undefined;
9
+ cryptoParams?: CryptoParams | undefined;
10
+ lastModified?: number | undefined;
11
+ mediaSizeBytes?: number | undefined;
12
+ restrictedFormats: string[];
13
+ xtags?: string | undefined;
14
+ sequenceNumber?: number | undefined;
15
+ field23?: OnesieHeader_Field23 | undefined;
16
+ field34?: OnesieHeader_Field34 | undefined;
17
+ }
18
+ export interface OnesieHeader_Field23 {
19
+ videoId?: string | undefined;
20
+ }
21
+ export interface OnesieHeader_Field34 {
22
+ itagDenylist: string[];
23
+ }
24
+ export declare const OnesieHeader: MessageFns<OnesieHeader>;
25
+ export declare const OnesieHeader_Field23: MessageFns<OnesieHeader_Field23>;
26
+ export declare const OnesieHeader_Field34: MessageFns<OnesieHeader_Field34>;
27
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
28
+ 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 {} ? {
29
+ [K in keyof T]?: DeepPartial<T[K]>;
30
+ } : Partial<T>;
31
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
32
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
33
+ [K in keyof P]: Exact<P[K], I[K]>;
34
+ } & {
35
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
36
+ };
37
+ export interface MessageFns<T> {
38
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
39
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
40
+ fromJSON(object: any): T;
41
+ toJSON(message: T): unknown;
42
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
43
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
44
+ }
45
+ export {};
@@ -0,0 +1,339 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.2.0
4
+ // protoc v5.28.0
5
+ // source: video_streaming/onesie_header.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ import { CryptoParams } from "./crypto_params.js";
9
+ import { onesieHeaderTypeFromJSON, onesieHeaderTypeToJSON } from "./onesie_header_type.js";
10
+ export const protobufPackage = "video_streaming";
11
+ function createBaseOnesieHeader() {
12
+ return {
13
+ type: 0,
14
+ videoId: "",
15
+ itag: "",
16
+ cryptoParams: undefined,
17
+ lastModified: 0,
18
+ mediaSizeBytes: 0,
19
+ restrictedFormats: [],
20
+ xtags: "",
21
+ sequenceNumber: 0,
22
+ field23: undefined,
23
+ field34: undefined,
24
+ };
25
+ }
26
+ export const OnesieHeader = {
27
+ encode(message, writer = new BinaryWriter()) {
28
+ if (message.type !== undefined && message.type !== 0) {
29
+ writer.uint32(8).int32(message.type);
30
+ }
31
+ if (message.videoId !== undefined && message.videoId !== "") {
32
+ writer.uint32(18).string(message.videoId);
33
+ }
34
+ if (message.itag !== undefined && message.itag !== "") {
35
+ writer.uint32(26).string(message.itag);
36
+ }
37
+ if (message.cryptoParams !== undefined) {
38
+ CryptoParams.encode(message.cryptoParams, writer.uint32(34).fork()).join();
39
+ }
40
+ if (message.lastModified !== undefined && message.lastModified !== 0) {
41
+ writer.uint32(40).uint64(message.lastModified);
42
+ }
43
+ if (message.mediaSizeBytes !== undefined && message.mediaSizeBytes !== 0) {
44
+ writer.uint32(56).int64(message.mediaSizeBytes);
45
+ }
46
+ for (const v of message.restrictedFormats) {
47
+ writer.uint32(90).string(v);
48
+ }
49
+ if (message.xtags !== undefined && message.xtags !== "") {
50
+ writer.uint32(122).string(message.xtags);
51
+ }
52
+ if (message.sequenceNumber !== undefined && message.sequenceNumber !== 0) {
53
+ writer.uint32(144).int64(message.sequenceNumber);
54
+ }
55
+ if (message.field23 !== undefined) {
56
+ OnesieHeader_Field23.encode(message.field23, writer.uint32(186).fork()).join();
57
+ }
58
+ if (message.field34 !== undefined) {
59
+ OnesieHeader_Field34.encode(message.field34, writer.uint32(274).fork()).join();
60
+ }
61
+ return writer;
62
+ },
63
+ decode(input, length) {
64
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
65
+ let end = length === undefined ? reader.len : reader.pos + length;
66
+ const message = createBaseOnesieHeader();
67
+ while (reader.pos < end) {
68
+ const tag = reader.uint32();
69
+ switch (tag >>> 3) {
70
+ case 1:
71
+ if (tag !== 8) {
72
+ break;
73
+ }
74
+ message.type = reader.int32();
75
+ continue;
76
+ case 2:
77
+ if (tag !== 18) {
78
+ break;
79
+ }
80
+ message.videoId = reader.string();
81
+ continue;
82
+ case 3:
83
+ if (tag !== 26) {
84
+ break;
85
+ }
86
+ message.itag = reader.string();
87
+ continue;
88
+ case 4:
89
+ if (tag !== 34) {
90
+ break;
91
+ }
92
+ message.cryptoParams = CryptoParams.decode(reader, reader.uint32());
93
+ continue;
94
+ case 5:
95
+ if (tag !== 40) {
96
+ break;
97
+ }
98
+ message.lastModified = longToNumber(reader.uint64());
99
+ continue;
100
+ case 7:
101
+ if (tag !== 56) {
102
+ break;
103
+ }
104
+ message.mediaSizeBytes = longToNumber(reader.int64());
105
+ continue;
106
+ case 11:
107
+ if (tag !== 90) {
108
+ break;
109
+ }
110
+ message.restrictedFormats.push(reader.string());
111
+ continue;
112
+ case 15:
113
+ if (tag !== 122) {
114
+ break;
115
+ }
116
+ message.xtags = reader.string();
117
+ continue;
118
+ case 18:
119
+ if (tag !== 144) {
120
+ break;
121
+ }
122
+ message.sequenceNumber = longToNumber(reader.int64());
123
+ continue;
124
+ case 23:
125
+ if (tag !== 186) {
126
+ break;
127
+ }
128
+ message.field23 = OnesieHeader_Field23.decode(reader, reader.uint32());
129
+ continue;
130
+ case 34:
131
+ if (tag !== 274) {
132
+ break;
133
+ }
134
+ message.field34 = OnesieHeader_Field34.decode(reader, reader.uint32());
135
+ continue;
136
+ }
137
+ if ((tag & 7) === 4 || tag === 0) {
138
+ break;
139
+ }
140
+ reader.skip(tag & 7);
141
+ }
142
+ return message;
143
+ },
144
+ fromJSON(object) {
145
+ return {
146
+ type: isSet(object.type) ? onesieHeaderTypeFromJSON(object.type) : 0,
147
+ videoId: isSet(object.videoId) ? globalThis.String(object.videoId) : "",
148
+ itag: isSet(object.itag) ? globalThis.String(object.itag) : "",
149
+ cryptoParams: isSet(object.cryptoParams) ? CryptoParams.fromJSON(object.cryptoParams) : undefined,
150
+ lastModified: isSet(object.lastModified) ? globalThis.Number(object.lastModified) : 0,
151
+ mediaSizeBytes: isSet(object.mediaSizeBytes) ? globalThis.Number(object.mediaSizeBytes) : 0,
152
+ restrictedFormats: globalThis.Array.isArray(object?.restrictedFormats)
153
+ ? object.restrictedFormats.map((e) => globalThis.String(e))
154
+ : [],
155
+ xtags: isSet(object.xtags) ? globalThis.String(object.xtags) : "",
156
+ sequenceNumber: isSet(object.sequenceNumber) ? globalThis.Number(object.sequenceNumber) : 0,
157
+ field23: isSet(object.field23) ? OnesieHeader_Field23.fromJSON(object.field23) : undefined,
158
+ field34: isSet(object.field34) ? OnesieHeader_Field34.fromJSON(object.field34) : undefined,
159
+ };
160
+ },
161
+ toJSON(message) {
162
+ const obj = {};
163
+ if (message.type !== undefined && message.type !== 0) {
164
+ obj.type = onesieHeaderTypeToJSON(message.type);
165
+ }
166
+ if (message.videoId !== undefined && message.videoId !== "") {
167
+ obj.videoId = message.videoId;
168
+ }
169
+ if (message.itag !== undefined && message.itag !== "") {
170
+ obj.itag = message.itag;
171
+ }
172
+ if (message.cryptoParams !== undefined) {
173
+ obj.cryptoParams = CryptoParams.toJSON(message.cryptoParams);
174
+ }
175
+ if (message.lastModified !== undefined && message.lastModified !== 0) {
176
+ obj.lastModified = Math.round(message.lastModified);
177
+ }
178
+ if (message.mediaSizeBytes !== undefined && message.mediaSizeBytes !== 0) {
179
+ obj.mediaSizeBytes = Math.round(message.mediaSizeBytes);
180
+ }
181
+ if (message.restrictedFormats?.length) {
182
+ obj.restrictedFormats = message.restrictedFormats;
183
+ }
184
+ if (message.xtags !== undefined && message.xtags !== "") {
185
+ obj.xtags = message.xtags;
186
+ }
187
+ if (message.sequenceNumber !== undefined && message.sequenceNumber !== 0) {
188
+ obj.sequenceNumber = Math.round(message.sequenceNumber);
189
+ }
190
+ if (message.field23 !== undefined) {
191
+ obj.field23 = OnesieHeader_Field23.toJSON(message.field23);
192
+ }
193
+ if (message.field34 !== undefined) {
194
+ obj.field34 = OnesieHeader_Field34.toJSON(message.field34);
195
+ }
196
+ return obj;
197
+ },
198
+ create(base) {
199
+ return OnesieHeader.fromPartial(base ?? {});
200
+ },
201
+ fromPartial(object) {
202
+ const message = createBaseOnesieHeader();
203
+ message.type = object.type ?? 0;
204
+ message.videoId = object.videoId ?? "";
205
+ message.itag = object.itag ?? "";
206
+ message.cryptoParams = (object.cryptoParams !== undefined && object.cryptoParams !== null)
207
+ ? CryptoParams.fromPartial(object.cryptoParams)
208
+ : undefined;
209
+ message.lastModified = object.lastModified ?? 0;
210
+ message.mediaSizeBytes = object.mediaSizeBytes ?? 0;
211
+ message.restrictedFormats = object.restrictedFormats?.map((e) => e) || [];
212
+ message.xtags = object.xtags ?? "";
213
+ message.sequenceNumber = object.sequenceNumber ?? 0;
214
+ message.field23 = (object.field23 !== undefined && object.field23 !== null)
215
+ ? OnesieHeader_Field23.fromPartial(object.field23)
216
+ : undefined;
217
+ message.field34 = (object.field34 !== undefined && object.field34 !== null)
218
+ ? OnesieHeader_Field34.fromPartial(object.field34)
219
+ : undefined;
220
+ return message;
221
+ },
222
+ };
223
+ function createBaseOnesieHeader_Field23() {
224
+ return { videoId: "" };
225
+ }
226
+ export const OnesieHeader_Field23 = {
227
+ encode(message, writer = new BinaryWriter()) {
228
+ if (message.videoId !== undefined && message.videoId !== "") {
229
+ writer.uint32(18).string(message.videoId);
230
+ }
231
+ return writer;
232
+ },
233
+ decode(input, length) {
234
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
235
+ let end = length === undefined ? reader.len : reader.pos + length;
236
+ const message = createBaseOnesieHeader_Field23();
237
+ while (reader.pos < end) {
238
+ const tag = reader.uint32();
239
+ switch (tag >>> 3) {
240
+ case 2:
241
+ if (tag !== 18) {
242
+ break;
243
+ }
244
+ message.videoId = reader.string();
245
+ continue;
246
+ }
247
+ if ((tag & 7) === 4 || tag === 0) {
248
+ break;
249
+ }
250
+ reader.skip(tag & 7);
251
+ }
252
+ return message;
253
+ },
254
+ fromJSON(object) {
255
+ return { videoId: isSet(object.videoId) ? globalThis.String(object.videoId) : "" };
256
+ },
257
+ toJSON(message) {
258
+ const obj = {};
259
+ if (message.videoId !== undefined && message.videoId !== "") {
260
+ obj.videoId = message.videoId;
261
+ }
262
+ return obj;
263
+ },
264
+ create(base) {
265
+ return OnesieHeader_Field23.fromPartial(base ?? {});
266
+ },
267
+ fromPartial(object) {
268
+ const message = createBaseOnesieHeader_Field23();
269
+ message.videoId = object.videoId ?? "";
270
+ return message;
271
+ },
272
+ };
273
+ function createBaseOnesieHeader_Field34() {
274
+ return { itagDenylist: [] };
275
+ }
276
+ export const OnesieHeader_Field34 = {
277
+ encode(message, writer = new BinaryWriter()) {
278
+ for (const v of message.itagDenylist) {
279
+ writer.uint32(10).string(v);
280
+ }
281
+ return writer;
282
+ },
283
+ decode(input, length) {
284
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
285
+ let end = length === undefined ? reader.len : reader.pos + length;
286
+ const message = createBaseOnesieHeader_Field34();
287
+ while (reader.pos < end) {
288
+ const tag = reader.uint32();
289
+ switch (tag >>> 3) {
290
+ case 1:
291
+ if (tag !== 10) {
292
+ break;
293
+ }
294
+ message.itagDenylist.push(reader.string());
295
+ continue;
296
+ }
297
+ if ((tag & 7) === 4 || tag === 0) {
298
+ break;
299
+ }
300
+ reader.skip(tag & 7);
301
+ }
302
+ return message;
303
+ },
304
+ fromJSON(object) {
305
+ return {
306
+ itagDenylist: globalThis.Array.isArray(object?.itagDenylist)
307
+ ? object.itagDenylist.map((e) => globalThis.String(e))
308
+ : [],
309
+ };
310
+ },
311
+ toJSON(message) {
312
+ const obj = {};
313
+ if (message.itagDenylist?.length) {
314
+ obj.itagDenylist = message.itagDenylist;
315
+ }
316
+ return obj;
317
+ },
318
+ create(base) {
319
+ return OnesieHeader_Field34.fromPartial(base ?? {});
320
+ },
321
+ fromPartial(object) {
322
+ const message = createBaseOnesieHeader_Field34();
323
+ message.itagDenylist = object.itagDenylist?.map((e) => e) || [];
324
+ return message;
325
+ },
326
+ };
327
+ function longToNumber(int64) {
328
+ const num = globalThis.Number(int64.toString());
329
+ if (num > globalThis.Number.MAX_SAFE_INTEGER) {
330
+ throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
331
+ }
332
+ if (num < globalThis.Number.MIN_SAFE_INTEGER) {
333
+ throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
334
+ }
335
+ return num;
336
+ }
337
+ function isSet(value) {
338
+ return value !== null && value !== undefined;
339
+ }
@@ -0,0 +1,32 @@
1
+ export declare const protobufPackage = "video_streaming";
2
+ export declare enum OnesieHeaderType {
3
+ PLAYER_RESPONSE = 0,
4
+ HEADER_TYPE_1 = 1,
5
+ MEDIA_DECRYPTION_KEY = 2,
6
+ HEADER_TYPE_3 = 3,
7
+ HEADER_TYPE_4 = 4,
8
+ HEADER_TYPE_5 = 5,
9
+ NEW_HOST = 6,
10
+ HEADER_TYPE_7 = 7,
11
+ HEADER_TYPE_8 = 8,
12
+ HEADER_TYPE_9 = 9,
13
+ HEADER_TYPE_10 = 10,
14
+ HEADER_TYPE_11 = 11,
15
+ HEADER_TYPE_12 = 12,
16
+ HEADER_TYPE_13 = 13,
17
+ RESTRICTED_FORMATS_HINT = 14,
18
+ HEADER_TYPE_15 = 15,
19
+ STREAM_METADATA = 16,
20
+ HEADER_TYPE_17 = 17,
21
+ HEADER_TYPE_18 = 18,
22
+ HEADER_TYPE_19 = 19,
23
+ HEADER_TYPE_20 = 20,
24
+ HEADER_TYPE_21 = 21,
25
+ HEADER_TYPE_22 = 22,
26
+ HEADER_TYPE_23 = 23,
27
+ HEADER_TYPE_24 = 24,
28
+ ENCRYPTED_INNERTUBE_RESPONSE_PART = 25,
29
+ UNRECOGNIZED = -1
30
+ }
31
+ export declare function onesieHeaderTypeFromJSON(object: any): OnesieHeaderType;
32
+ export declare function onesieHeaderTypeToJSON(object: OnesieHeaderType): string;