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,315 @@
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/media_capabilities.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ export const protobufPackage = "video_streaming";
9
+ function createBaseMediaCapabilities() {
10
+ return { videoFormatCapabilities: [], audioFormatCapabilities: [], hdrModeBitmask: 0 };
11
+ }
12
+ export const MediaCapabilities = {
13
+ encode(message, writer = new BinaryWriter()) {
14
+ for (const v of message.videoFormatCapabilities) {
15
+ MediaCapabilities_VideoFormatCapability.encode(v, writer.uint32(10).fork()).join();
16
+ }
17
+ for (const v of message.audioFormatCapabilities) {
18
+ MediaCapabilities_AudioFormatCapability.encode(v, writer.uint32(18).fork()).join();
19
+ }
20
+ if (message.hdrModeBitmask !== undefined && message.hdrModeBitmask !== 0) {
21
+ writer.uint32(40).int32(message.hdrModeBitmask);
22
+ }
23
+ return writer;
24
+ },
25
+ decode(input, length) {
26
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
27
+ let end = length === undefined ? reader.len : reader.pos + length;
28
+ const message = createBaseMediaCapabilities();
29
+ while (reader.pos < end) {
30
+ const tag = reader.uint32();
31
+ switch (tag >>> 3) {
32
+ case 1:
33
+ if (tag !== 10) {
34
+ break;
35
+ }
36
+ message.videoFormatCapabilities.push(MediaCapabilities_VideoFormatCapability.decode(reader, reader.uint32()));
37
+ continue;
38
+ case 2:
39
+ if (tag !== 18) {
40
+ break;
41
+ }
42
+ message.audioFormatCapabilities.push(MediaCapabilities_AudioFormatCapability.decode(reader, reader.uint32()));
43
+ continue;
44
+ case 5:
45
+ if (tag !== 40) {
46
+ break;
47
+ }
48
+ message.hdrModeBitmask = reader.int32();
49
+ continue;
50
+ }
51
+ if ((tag & 7) === 4 || tag === 0) {
52
+ break;
53
+ }
54
+ reader.skip(tag & 7);
55
+ }
56
+ return message;
57
+ },
58
+ fromJSON(object) {
59
+ return {
60
+ videoFormatCapabilities: globalThis.Array.isArray(object?.videoFormatCapabilities)
61
+ ? object.videoFormatCapabilities.map((e) => MediaCapabilities_VideoFormatCapability.fromJSON(e))
62
+ : [],
63
+ audioFormatCapabilities: globalThis.Array.isArray(object?.audioFormatCapabilities)
64
+ ? object.audioFormatCapabilities.map((e) => MediaCapabilities_AudioFormatCapability.fromJSON(e))
65
+ : [],
66
+ hdrModeBitmask: isSet(object.hdrModeBitmask) ? globalThis.Number(object.hdrModeBitmask) : 0,
67
+ };
68
+ },
69
+ toJSON(message) {
70
+ const obj = {};
71
+ if (message.videoFormatCapabilities?.length) {
72
+ obj.videoFormatCapabilities = message.videoFormatCapabilities.map((e) => MediaCapabilities_VideoFormatCapability.toJSON(e));
73
+ }
74
+ if (message.audioFormatCapabilities?.length) {
75
+ obj.audioFormatCapabilities = message.audioFormatCapabilities.map((e) => MediaCapabilities_AudioFormatCapability.toJSON(e));
76
+ }
77
+ if (message.hdrModeBitmask !== undefined && message.hdrModeBitmask !== 0) {
78
+ obj.hdrModeBitmask = Math.round(message.hdrModeBitmask);
79
+ }
80
+ return obj;
81
+ },
82
+ create(base) {
83
+ return MediaCapabilities.fromPartial(base ?? {});
84
+ },
85
+ fromPartial(object) {
86
+ const message = createBaseMediaCapabilities();
87
+ message.videoFormatCapabilities =
88
+ object.videoFormatCapabilities?.map((e) => MediaCapabilities_VideoFormatCapability.fromPartial(e)) || [];
89
+ message.audioFormatCapabilities =
90
+ object.audioFormatCapabilities?.map((e) => MediaCapabilities_AudioFormatCapability.fromPartial(e)) || [];
91
+ message.hdrModeBitmask = object.hdrModeBitmask ?? 0;
92
+ return message;
93
+ },
94
+ };
95
+ function createBaseMediaCapabilities_VideoFormatCapability() {
96
+ return { videoCodec: 0, maxHeight: 0, maxWidth: 0, maxFramerate: 0, maxBitrateBps: 0, is10BitSupported: false };
97
+ }
98
+ export const MediaCapabilities_VideoFormatCapability = {
99
+ encode(message, writer = new BinaryWriter()) {
100
+ if (message.videoCodec !== undefined && message.videoCodec !== 0) {
101
+ writer.uint32(8).int32(message.videoCodec);
102
+ }
103
+ if (message.maxHeight !== undefined && message.maxHeight !== 0) {
104
+ writer.uint32(24).int32(message.maxHeight);
105
+ }
106
+ if (message.maxWidth !== undefined && message.maxWidth !== 0) {
107
+ writer.uint32(32).int32(message.maxWidth);
108
+ }
109
+ if (message.maxFramerate !== undefined && message.maxFramerate !== 0) {
110
+ writer.uint32(88).int32(message.maxFramerate);
111
+ }
112
+ if (message.maxBitrateBps !== undefined && message.maxBitrateBps !== 0) {
113
+ writer.uint32(96).int32(message.maxBitrateBps);
114
+ }
115
+ if (message.is10BitSupported !== undefined && message.is10BitSupported !== false) {
116
+ writer.uint32(120).bool(message.is10BitSupported);
117
+ }
118
+ return writer;
119
+ },
120
+ decode(input, length) {
121
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
122
+ let end = length === undefined ? reader.len : reader.pos + length;
123
+ const message = createBaseMediaCapabilities_VideoFormatCapability();
124
+ while (reader.pos < end) {
125
+ const tag = reader.uint32();
126
+ switch (tag >>> 3) {
127
+ case 1:
128
+ if (tag !== 8) {
129
+ break;
130
+ }
131
+ message.videoCodec = reader.int32();
132
+ continue;
133
+ case 3:
134
+ if (tag !== 24) {
135
+ break;
136
+ }
137
+ message.maxHeight = reader.int32();
138
+ continue;
139
+ case 4:
140
+ if (tag !== 32) {
141
+ break;
142
+ }
143
+ message.maxWidth = reader.int32();
144
+ continue;
145
+ case 11:
146
+ if (tag !== 88) {
147
+ break;
148
+ }
149
+ message.maxFramerate = reader.int32();
150
+ continue;
151
+ case 12:
152
+ if (tag !== 96) {
153
+ break;
154
+ }
155
+ message.maxBitrateBps = reader.int32();
156
+ continue;
157
+ case 15:
158
+ if (tag !== 120) {
159
+ break;
160
+ }
161
+ message.is10BitSupported = reader.bool();
162
+ continue;
163
+ }
164
+ if ((tag & 7) === 4 || tag === 0) {
165
+ break;
166
+ }
167
+ reader.skip(tag & 7);
168
+ }
169
+ return message;
170
+ },
171
+ fromJSON(object) {
172
+ return {
173
+ videoCodec: isSet(object.videoCodec) ? globalThis.Number(object.videoCodec) : 0,
174
+ maxHeight: isSet(object.maxHeight) ? globalThis.Number(object.maxHeight) : 0,
175
+ maxWidth: isSet(object.maxWidth) ? globalThis.Number(object.maxWidth) : 0,
176
+ maxFramerate: isSet(object.maxFramerate) ? globalThis.Number(object.maxFramerate) : 0,
177
+ maxBitrateBps: isSet(object.maxBitrateBps) ? globalThis.Number(object.maxBitrateBps) : 0,
178
+ is10BitSupported: isSet(object.is10BitSupported) ? globalThis.Boolean(object.is10BitSupported) : false,
179
+ };
180
+ },
181
+ toJSON(message) {
182
+ const obj = {};
183
+ if (message.videoCodec !== undefined && message.videoCodec !== 0) {
184
+ obj.videoCodec = Math.round(message.videoCodec);
185
+ }
186
+ if (message.maxHeight !== undefined && message.maxHeight !== 0) {
187
+ obj.maxHeight = Math.round(message.maxHeight);
188
+ }
189
+ if (message.maxWidth !== undefined && message.maxWidth !== 0) {
190
+ obj.maxWidth = Math.round(message.maxWidth);
191
+ }
192
+ if (message.maxFramerate !== undefined && message.maxFramerate !== 0) {
193
+ obj.maxFramerate = Math.round(message.maxFramerate);
194
+ }
195
+ if (message.maxBitrateBps !== undefined && message.maxBitrateBps !== 0) {
196
+ obj.maxBitrateBps = Math.round(message.maxBitrateBps);
197
+ }
198
+ if (message.is10BitSupported !== undefined && message.is10BitSupported !== false) {
199
+ obj.is10BitSupported = message.is10BitSupported;
200
+ }
201
+ return obj;
202
+ },
203
+ create(base) {
204
+ return MediaCapabilities_VideoFormatCapability.fromPartial(base ?? {});
205
+ },
206
+ fromPartial(object) {
207
+ const message = createBaseMediaCapabilities_VideoFormatCapability();
208
+ message.videoCodec = object.videoCodec ?? 0;
209
+ message.maxHeight = object.maxHeight ?? 0;
210
+ message.maxWidth = object.maxWidth ?? 0;
211
+ message.maxFramerate = object.maxFramerate ?? 0;
212
+ message.maxBitrateBps = object.maxBitrateBps ?? 0;
213
+ message.is10BitSupported = object.is10BitSupported ?? false;
214
+ return message;
215
+ },
216
+ };
217
+ function createBaseMediaCapabilities_AudioFormatCapability() {
218
+ return { audioCodec: 0, numChannels: 0, maxBitrateBps: 0, spatialCapabilityBitmask: 0 };
219
+ }
220
+ export const MediaCapabilities_AudioFormatCapability = {
221
+ encode(message, writer = new BinaryWriter()) {
222
+ if (message.audioCodec !== undefined && message.audioCodec !== 0) {
223
+ writer.uint32(8).int32(message.audioCodec);
224
+ }
225
+ if (message.numChannels !== undefined && message.numChannels !== 0) {
226
+ writer.uint32(16).int32(message.numChannels);
227
+ }
228
+ if (message.maxBitrateBps !== undefined && message.maxBitrateBps !== 0) {
229
+ writer.uint32(24).int32(message.maxBitrateBps);
230
+ }
231
+ if (message.spatialCapabilityBitmask !== undefined && message.spatialCapabilityBitmask !== 0) {
232
+ writer.uint32(48).int32(message.spatialCapabilityBitmask);
233
+ }
234
+ return writer;
235
+ },
236
+ decode(input, length) {
237
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
238
+ let end = length === undefined ? reader.len : reader.pos + length;
239
+ const message = createBaseMediaCapabilities_AudioFormatCapability();
240
+ while (reader.pos < end) {
241
+ const tag = reader.uint32();
242
+ switch (tag >>> 3) {
243
+ case 1:
244
+ if (tag !== 8) {
245
+ break;
246
+ }
247
+ message.audioCodec = reader.int32();
248
+ continue;
249
+ case 2:
250
+ if (tag !== 16) {
251
+ break;
252
+ }
253
+ message.numChannels = reader.int32();
254
+ continue;
255
+ case 3:
256
+ if (tag !== 24) {
257
+ break;
258
+ }
259
+ message.maxBitrateBps = reader.int32();
260
+ continue;
261
+ case 6:
262
+ if (tag !== 48) {
263
+ break;
264
+ }
265
+ message.spatialCapabilityBitmask = reader.int32();
266
+ continue;
267
+ }
268
+ if ((tag & 7) === 4 || tag === 0) {
269
+ break;
270
+ }
271
+ reader.skip(tag & 7);
272
+ }
273
+ return message;
274
+ },
275
+ fromJSON(object) {
276
+ return {
277
+ audioCodec: isSet(object.audioCodec) ? globalThis.Number(object.audioCodec) : 0,
278
+ numChannels: isSet(object.numChannels) ? globalThis.Number(object.numChannels) : 0,
279
+ maxBitrateBps: isSet(object.maxBitrateBps) ? globalThis.Number(object.maxBitrateBps) : 0,
280
+ spatialCapabilityBitmask: isSet(object.spatialCapabilityBitmask)
281
+ ? globalThis.Number(object.spatialCapabilityBitmask)
282
+ : 0,
283
+ };
284
+ },
285
+ toJSON(message) {
286
+ const obj = {};
287
+ if (message.audioCodec !== undefined && message.audioCodec !== 0) {
288
+ obj.audioCodec = Math.round(message.audioCodec);
289
+ }
290
+ if (message.numChannels !== undefined && message.numChannels !== 0) {
291
+ obj.numChannels = Math.round(message.numChannels);
292
+ }
293
+ if (message.maxBitrateBps !== undefined && message.maxBitrateBps !== 0) {
294
+ obj.maxBitrateBps = Math.round(message.maxBitrateBps);
295
+ }
296
+ if (message.spatialCapabilityBitmask !== undefined && message.spatialCapabilityBitmask !== 0) {
297
+ obj.spatialCapabilityBitmask = Math.round(message.spatialCapabilityBitmask);
298
+ }
299
+ return obj;
300
+ },
301
+ create(base) {
302
+ return MediaCapabilities_AudioFormatCapability.fromPartial(base ?? {});
303
+ },
304
+ fromPartial(object) {
305
+ const message = createBaseMediaCapabilities_AudioFormatCapability();
306
+ message.audioCodec = object.audioCodec ?? 0;
307
+ message.numChannels = object.numChannels ?? 0;
308
+ message.maxBitrateBps = object.maxBitrateBps ?? 0;
309
+ message.spatialCapabilityBitmask = object.spatialCapabilityBitmask ?? 0;
310
+ return message;
311
+ },
312
+ };
313
+ function isSet(value) {
314
+ return value !== null && value !== undefined;
315
+ }
@@ -0,0 +1,49 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { FormatId } from "../misc/common.js";
3
+ import { TimeRange } from "./time_range.js";
4
+ export declare const protobufPackage = "video_streaming";
5
+ export interface MediaHeader {
6
+ headerId?: number | undefined;
7
+ videoId?: string | undefined;
8
+ itag?: number | undefined;
9
+ lmt?: number | undefined;
10
+ xtags?: string | undefined;
11
+ startDataRange?: number | undefined;
12
+ compression?: MediaHeader_Compression | undefined;
13
+ isInitSeg?: boolean | undefined;
14
+ sequenceNumber?: number | undefined;
15
+ field10?: number | undefined;
16
+ startMs?: number | undefined;
17
+ durationMs?: number | undefined;
18
+ formatId?: FormatId | undefined;
19
+ contentLength?: number | undefined;
20
+ timeRange?: TimeRange | undefined;
21
+ }
22
+ export declare enum MediaHeader_Compression {
23
+ VAL0 = 0,
24
+ VAL1 = 1,
25
+ GZIP = 2,
26
+ UNRECOGNIZED = -1
27
+ }
28
+ export declare function mediaHeader_CompressionFromJSON(object: any): MediaHeader_Compression;
29
+ export declare function mediaHeader_CompressionToJSON(object: MediaHeader_Compression): string;
30
+ export declare const MediaHeader: MessageFns<MediaHeader>;
31
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
32
+ 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 {} ? {
33
+ [K in keyof T]?: DeepPartial<T[K]>;
34
+ } : Partial<T>;
35
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
36
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
37
+ [K in keyof P]: Exact<P[K], I[K]>;
38
+ } & {
39
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
40
+ };
41
+ export interface MessageFns<T> {
42
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
43
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
44
+ fromJSON(object: any): T;
45
+ toJSON(message: T): unknown;
46
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
47
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
48
+ }
49
+ export {};
@@ -0,0 +1,328 @@
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/media_header.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ import { FormatId } from "../misc/common.js";
9
+ import { TimeRange } from "./time_range.js";
10
+ export const protobufPackage = "video_streaming";
11
+ export var MediaHeader_Compression;
12
+ (function (MediaHeader_Compression) {
13
+ MediaHeader_Compression[MediaHeader_Compression["VAL0"] = 0] = "VAL0";
14
+ MediaHeader_Compression[MediaHeader_Compression["VAL1"] = 1] = "VAL1";
15
+ MediaHeader_Compression[MediaHeader_Compression["GZIP"] = 2] = "GZIP";
16
+ MediaHeader_Compression[MediaHeader_Compression["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
17
+ })(MediaHeader_Compression || (MediaHeader_Compression = {}));
18
+ export function mediaHeader_CompressionFromJSON(object) {
19
+ switch (object) {
20
+ case 0:
21
+ case "VAL0":
22
+ return MediaHeader_Compression.VAL0;
23
+ case 1:
24
+ case "VAL1":
25
+ return MediaHeader_Compression.VAL1;
26
+ case 2:
27
+ case "GZIP":
28
+ return MediaHeader_Compression.GZIP;
29
+ case -1:
30
+ case "UNRECOGNIZED":
31
+ default:
32
+ return MediaHeader_Compression.UNRECOGNIZED;
33
+ }
34
+ }
35
+ export function mediaHeader_CompressionToJSON(object) {
36
+ switch (object) {
37
+ case MediaHeader_Compression.VAL0:
38
+ return "VAL0";
39
+ case MediaHeader_Compression.VAL1:
40
+ return "VAL1";
41
+ case MediaHeader_Compression.GZIP:
42
+ return "GZIP";
43
+ case MediaHeader_Compression.UNRECOGNIZED:
44
+ default:
45
+ return "UNRECOGNIZED";
46
+ }
47
+ }
48
+ function createBaseMediaHeader() {
49
+ return {
50
+ headerId: 0,
51
+ videoId: "",
52
+ itag: 0,
53
+ lmt: 0,
54
+ xtags: "",
55
+ startDataRange: 0,
56
+ compression: 0,
57
+ isInitSeg: false,
58
+ sequenceNumber: 0,
59
+ field10: 0,
60
+ startMs: 0,
61
+ durationMs: 0,
62
+ formatId: undefined,
63
+ contentLength: 0,
64
+ timeRange: undefined,
65
+ };
66
+ }
67
+ export const MediaHeader = {
68
+ encode(message, writer = new BinaryWriter()) {
69
+ if (message.headerId !== undefined && message.headerId !== 0) {
70
+ writer.uint32(8).uint32(message.headerId);
71
+ }
72
+ if (message.videoId !== undefined && message.videoId !== "") {
73
+ writer.uint32(18).string(message.videoId);
74
+ }
75
+ if (message.itag !== undefined && message.itag !== 0) {
76
+ writer.uint32(24).int32(message.itag);
77
+ }
78
+ if (message.lmt !== undefined && message.lmt !== 0) {
79
+ writer.uint32(32).uint64(message.lmt);
80
+ }
81
+ if (message.xtags !== undefined && message.xtags !== "") {
82
+ writer.uint32(42).string(message.xtags);
83
+ }
84
+ if (message.startDataRange !== undefined && message.startDataRange !== 0) {
85
+ writer.uint32(48).int32(message.startDataRange);
86
+ }
87
+ if (message.compression !== undefined && message.compression !== 0) {
88
+ writer.uint32(56).int32(message.compression);
89
+ }
90
+ if (message.isInitSeg !== undefined && message.isInitSeg !== false) {
91
+ writer.uint32(64).bool(message.isInitSeg);
92
+ }
93
+ if (message.sequenceNumber !== undefined && message.sequenceNumber !== 0) {
94
+ writer.uint32(72).int64(message.sequenceNumber);
95
+ }
96
+ if (message.field10 !== undefined && message.field10 !== 0) {
97
+ writer.uint32(80).int64(message.field10);
98
+ }
99
+ if (message.startMs !== undefined && message.startMs !== 0) {
100
+ writer.uint32(88).int32(message.startMs);
101
+ }
102
+ if (message.durationMs !== undefined && message.durationMs !== 0) {
103
+ writer.uint32(96).int32(message.durationMs);
104
+ }
105
+ if (message.formatId !== undefined) {
106
+ FormatId.encode(message.formatId, writer.uint32(106).fork()).join();
107
+ }
108
+ if (message.contentLength !== undefined && message.contentLength !== 0) {
109
+ writer.uint32(112).int64(message.contentLength);
110
+ }
111
+ if (message.timeRange !== undefined) {
112
+ TimeRange.encode(message.timeRange, writer.uint32(122).fork()).join();
113
+ }
114
+ return writer;
115
+ },
116
+ decode(input, length) {
117
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
118
+ let end = length === undefined ? reader.len : reader.pos + length;
119
+ const message = createBaseMediaHeader();
120
+ while (reader.pos < end) {
121
+ const tag = reader.uint32();
122
+ switch (tag >>> 3) {
123
+ case 1:
124
+ if (tag !== 8) {
125
+ break;
126
+ }
127
+ message.headerId = reader.uint32();
128
+ continue;
129
+ case 2:
130
+ if (tag !== 18) {
131
+ break;
132
+ }
133
+ message.videoId = reader.string();
134
+ continue;
135
+ case 3:
136
+ if (tag !== 24) {
137
+ break;
138
+ }
139
+ message.itag = reader.int32();
140
+ continue;
141
+ case 4:
142
+ if (tag !== 32) {
143
+ break;
144
+ }
145
+ message.lmt = longToNumber(reader.uint64());
146
+ continue;
147
+ case 5:
148
+ if (tag !== 42) {
149
+ break;
150
+ }
151
+ message.xtags = reader.string();
152
+ continue;
153
+ case 6:
154
+ if (tag !== 48) {
155
+ break;
156
+ }
157
+ message.startDataRange = reader.int32();
158
+ continue;
159
+ case 7:
160
+ if (tag !== 56) {
161
+ break;
162
+ }
163
+ message.compression = reader.int32();
164
+ continue;
165
+ case 8:
166
+ if (tag !== 64) {
167
+ break;
168
+ }
169
+ message.isInitSeg = reader.bool();
170
+ continue;
171
+ case 9:
172
+ if (tag !== 72) {
173
+ break;
174
+ }
175
+ message.sequenceNumber = longToNumber(reader.int64());
176
+ continue;
177
+ case 10:
178
+ if (tag !== 80) {
179
+ break;
180
+ }
181
+ message.field10 = longToNumber(reader.int64());
182
+ continue;
183
+ case 11:
184
+ if (tag !== 88) {
185
+ break;
186
+ }
187
+ message.startMs = reader.int32();
188
+ continue;
189
+ case 12:
190
+ if (tag !== 96) {
191
+ break;
192
+ }
193
+ message.durationMs = reader.int32();
194
+ continue;
195
+ case 13:
196
+ if (tag !== 106) {
197
+ break;
198
+ }
199
+ message.formatId = FormatId.decode(reader, reader.uint32());
200
+ continue;
201
+ case 14:
202
+ if (tag !== 112) {
203
+ break;
204
+ }
205
+ message.contentLength = longToNumber(reader.int64());
206
+ continue;
207
+ case 15:
208
+ if (tag !== 122) {
209
+ break;
210
+ }
211
+ message.timeRange = TimeRange.decode(reader, reader.uint32());
212
+ continue;
213
+ }
214
+ if ((tag & 7) === 4 || tag === 0) {
215
+ break;
216
+ }
217
+ reader.skip(tag & 7);
218
+ }
219
+ return message;
220
+ },
221
+ fromJSON(object) {
222
+ return {
223
+ headerId: isSet(object.headerId) ? globalThis.Number(object.headerId) : 0,
224
+ videoId: isSet(object.videoId) ? globalThis.String(object.videoId) : "",
225
+ itag: isSet(object.itag) ? globalThis.Number(object.itag) : 0,
226
+ lmt: isSet(object.lmt) ? globalThis.Number(object.lmt) : 0,
227
+ xtags: isSet(object.xtags) ? globalThis.String(object.xtags) : "",
228
+ startDataRange: isSet(object.startDataRange) ? globalThis.Number(object.startDataRange) : 0,
229
+ compression: isSet(object.compression) ? mediaHeader_CompressionFromJSON(object.compression) : 0,
230
+ isInitSeg: isSet(object.isInitSeg) ? globalThis.Boolean(object.isInitSeg) : false,
231
+ sequenceNumber: isSet(object.sequenceNumber) ? globalThis.Number(object.sequenceNumber) : 0,
232
+ field10: isSet(object.field10) ? globalThis.Number(object.field10) : 0,
233
+ startMs: isSet(object.startMs) ? globalThis.Number(object.startMs) : 0,
234
+ durationMs: isSet(object.durationMs) ? globalThis.Number(object.durationMs) : 0,
235
+ formatId: isSet(object.formatId) ? FormatId.fromJSON(object.formatId) : undefined,
236
+ contentLength: isSet(object.contentLength) ? globalThis.Number(object.contentLength) : 0,
237
+ timeRange: isSet(object.timeRange) ? TimeRange.fromJSON(object.timeRange) : undefined,
238
+ };
239
+ },
240
+ toJSON(message) {
241
+ const obj = {};
242
+ if (message.headerId !== undefined && message.headerId !== 0) {
243
+ obj.headerId = Math.round(message.headerId);
244
+ }
245
+ if (message.videoId !== undefined && message.videoId !== "") {
246
+ obj.videoId = message.videoId;
247
+ }
248
+ if (message.itag !== undefined && message.itag !== 0) {
249
+ obj.itag = Math.round(message.itag);
250
+ }
251
+ if (message.lmt !== undefined && message.lmt !== 0) {
252
+ obj.lmt = Math.round(message.lmt);
253
+ }
254
+ if (message.xtags !== undefined && message.xtags !== "") {
255
+ obj.xtags = message.xtags;
256
+ }
257
+ if (message.startDataRange !== undefined && message.startDataRange !== 0) {
258
+ obj.startDataRange = Math.round(message.startDataRange);
259
+ }
260
+ if (message.compression !== undefined && message.compression !== 0) {
261
+ obj.compression = mediaHeader_CompressionToJSON(message.compression);
262
+ }
263
+ if (message.isInitSeg !== undefined && message.isInitSeg !== false) {
264
+ obj.isInitSeg = message.isInitSeg;
265
+ }
266
+ if (message.sequenceNumber !== undefined && message.sequenceNumber !== 0) {
267
+ obj.sequenceNumber = Math.round(message.sequenceNumber);
268
+ }
269
+ if (message.field10 !== undefined && message.field10 !== 0) {
270
+ obj.field10 = Math.round(message.field10);
271
+ }
272
+ if (message.startMs !== undefined && message.startMs !== 0) {
273
+ obj.startMs = Math.round(message.startMs);
274
+ }
275
+ if (message.durationMs !== undefined && message.durationMs !== 0) {
276
+ obj.durationMs = Math.round(message.durationMs);
277
+ }
278
+ if (message.formatId !== undefined) {
279
+ obj.formatId = FormatId.toJSON(message.formatId);
280
+ }
281
+ if (message.contentLength !== undefined && message.contentLength !== 0) {
282
+ obj.contentLength = Math.round(message.contentLength);
283
+ }
284
+ if (message.timeRange !== undefined) {
285
+ obj.timeRange = TimeRange.toJSON(message.timeRange);
286
+ }
287
+ return obj;
288
+ },
289
+ create(base) {
290
+ return MediaHeader.fromPartial(base ?? {});
291
+ },
292
+ fromPartial(object) {
293
+ const message = createBaseMediaHeader();
294
+ message.headerId = object.headerId ?? 0;
295
+ message.videoId = object.videoId ?? "";
296
+ message.itag = object.itag ?? 0;
297
+ message.lmt = object.lmt ?? 0;
298
+ message.xtags = object.xtags ?? "";
299
+ message.startDataRange = object.startDataRange ?? 0;
300
+ message.compression = object.compression ?? 0;
301
+ message.isInitSeg = object.isInitSeg ?? false;
302
+ message.sequenceNumber = object.sequenceNumber ?? 0;
303
+ message.field10 = object.field10 ?? 0;
304
+ message.startMs = object.startMs ?? 0;
305
+ message.durationMs = object.durationMs ?? 0;
306
+ message.formatId = (object.formatId !== undefined && object.formatId !== null)
307
+ ? FormatId.fromPartial(object.formatId)
308
+ : undefined;
309
+ message.contentLength = object.contentLength ?? 0;
310
+ message.timeRange = (object.timeRange !== undefined && object.timeRange !== null)
311
+ ? TimeRange.fromPartial(object.timeRange)
312
+ : undefined;
313
+ return message;
314
+ },
315
+ };
316
+ function longToNumber(int64) {
317
+ const num = globalThis.Number(int64.toString());
318
+ if (num > globalThis.Number.MAX_SAFE_INTEGER) {
319
+ throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
320
+ }
321
+ if (num < globalThis.Number.MIN_SAFE_INTEGER) {
322
+ throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
323
+ }
324
+ return num;
325
+ }
326
+ function isSet(value) {
327
+ return value !== null && value !== undefined;
328
+ }