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,143 @@
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/crypto_params.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ export const protobufPackage = "video_streaming";
9
+ export var CryptoParams_CompressionType;
10
+ (function (CryptoParams_CompressionType) {
11
+ CryptoParams_CompressionType[CryptoParams_CompressionType["VAL_0"] = 0] = "VAL_0";
12
+ CryptoParams_CompressionType[CryptoParams_CompressionType["VAL_1"] = 1] = "VAL_1";
13
+ CryptoParams_CompressionType[CryptoParams_CompressionType["VAL_2"] = 2] = "VAL_2";
14
+ CryptoParams_CompressionType[CryptoParams_CompressionType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
15
+ })(CryptoParams_CompressionType || (CryptoParams_CompressionType = {}));
16
+ export function cryptoParams_CompressionTypeFromJSON(object) {
17
+ switch (object) {
18
+ case 0:
19
+ case "VAL_0":
20
+ return CryptoParams_CompressionType.VAL_0;
21
+ case 1:
22
+ case "VAL_1":
23
+ return CryptoParams_CompressionType.VAL_1;
24
+ case 2:
25
+ case "VAL_2":
26
+ return CryptoParams_CompressionType.VAL_2;
27
+ case -1:
28
+ case "UNRECOGNIZED":
29
+ default:
30
+ return CryptoParams_CompressionType.UNRECOGNIZED;
31
+ }
32
+ }
33
+ export function cryptoParams_CompressionTypeToJSON(object) {
34
+ switch (object) {
35
+ case CryptoParams_CompressionType.VAL_0:
36
+ return "VAL_0";
37
+ case CryptoParams_CompressionType.VAL_1:
38
+ return "VAL_1";
39
+ case CryptoParams_CompressionType.VAL_2:
40
+ return "VAL_2";
41
+ case CryptoParams_CompressionType.UNRECOGNIZED:
42
+ default:
43
+ return "UNRECOGNIZED";
44
+ }
45
+ }
46
+ function createBaseCryptoParams() {
47
+ return { hmac: new Uint8Array(0), iv: new Uint8Array(0), compressionType: 0 };
48
+ }
49
+ export const CryptoParams = {
50
+ encode(message, writer = new BinaryWriter()) {
51
+ if (message.hmac !== undefined && message.hmac.length !== 0) {
52
+ writer.uint32(34).bytes(message.hmac);
53
+ }
54
+ if (message.iv !== undefined && message.iv.length !== 0) {
55
+ writer.uint32(42).bytes(message.iv);
56
+ }
57
+ if (message.compressionType !== undefined && message.compressionType !== 0) {
58
+ writer.uint32(48).int32(message.compressionType);
59
+ }
60
+ return writer;
61
+ },
62
+ decode(input, length) {
63
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
64
+ let end = length === undefined ? reader.len : reader.pos + length;
65
+ const message = createBaseCryptoParams();
66
+ while (reader.pos < end) {
67
+ const tag = reader.uint32();
68
+ switch (tag >>> 3) {
69
+ case 4:
70
+ if (tag !== 34) {
71
+ break;
72
+ }
73
+ message.hmac = reader.bytes();
74
+ continue;
75
+ case 5:
76
+ if (tag !== 42) {
77
+ break;
78
+ }
79
+ message.iv = reader.bytes();
80
+ continue;
81
+ case 6:
82
+ if (tag !== 48) {
83
+ break;
84
+ }
85
+ message.compressionType = reader.int32();
86
+ continue;
87
+ }
88
+ if ((tag & 7) === 4 || tag === 0) {
89
+ break;
90
+ }
91
+ reader.skip(tag & 7);
92
+ }
93
+ return message;
94
+ },
95
+ fromJSON(object) {
96
+ return {
97
+ hmac: isSet(object.hmac) ? bytesFromBase64(object.hmac) : new Uint8Array(0),
98
+ iv: isSet(object.iv) ? bytesFromBase64(object.iv) : new Uint8Array(0),
99
+ compressionType: isSet(object.compressionType) ? cryptoParams_CompressionTypeFromJSON(object.compressionType) : 0,
100
+ };
101
+ },
102
+ toJSON(message) {
103
+ const obj = {};
104
+ if (message.hmac !== undefined && message.hmac.length !== 0) {
105
+ obj.hmac = base64FromBytes(message.hmac);
106
+ }
107
+ if (message.iv !== undefined && message.iv.length !== 0) {
108
+ obj.iv = base64FromBytes(message.iv);
109
+ }
110
+ if (message.compressionType !== undefined && message.compressionType !== 0) {
111
+ obj.compressionType = cryptoParams_CompressionTypeToJSON(message.compressionType);
112
+ }
113
+ return obj;
114
+ },
115
+ create(base) {
116
+ return CryptoParams.fromPartial(base ?? {});
117
+ },
118
+ fromPartial(object) {
119
+ const message = createBaseCryptoParams();
120
+ message.hmac = object.hmac ?? new Uint8Array(0);
121
+ message.iv = object.iv ?? new Uint8Array(0);
122
+ message.compressionType = object.compressionType ?? 0;
123
+ return message;
124
+ },
125
+ };
126
+ function bytesFromBase64(b64) {
127
+ const bin = globalThis.atob(b64);
128
+ const arr = new Uint8Array(bin.length);
129
+ for (let i = 0; i < bin.length; ++i) {
130
+ arr[i] = bin.charCodeAt(i);
131
+ }
132
+ return arr;
133
+ }
134
+ function base64FromBytes(arr) {
135
+ const bin = [];
136
+ arr.forEach((byte) => {
137
+ bin.push(globalThis.String.fromCharCode(byte));
138
+ });
139
+ return globalThis.btoa(bin.join(""));
140
+ }
141
+ function isSet(value) {
142
+ return value !== null && value !== undefined;
143
+ }
@@ -0,0 +1,35 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ export declare const protobufPackage = "video_streaming";
3
+ export interface EncryptedPlayerRequest {
4
+ /** InnerTubeContext proto? */
5
+ context?: Uint8Array | undefined;
6
+ encryptedOnesiePlayerRequest?: Uint8Array | undefined;
7
+ encryptedClientKey?: Uint8Array | undefined;
8
+ iv?: Uint8Array | undefined;
9
+ hmac?: Uint8Array | undefined;
10
+ reverseProxyConfig?: string | undefined;
11
+ YP?: boolean | undefined;
12
+ pM?: boolean | undefined;
13
+ enableCompression?: boolean | undefined;
14
+ TQ?: boolean | undefined;
15
+ }
16
+ export declare const EncryptedPlayerRequest: MessageFns<EncryptedPlayerRequest>;
17
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
18
+ 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 {} ? {
19
+ [K in keyof T]?: DeepPartial<T[K]>;
20
+ } : Partial<T>;
21
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
22
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
23
+ [K in keyof P]: Exact<P[K], I[K]>;
24
+ } & {
25
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
26
+ };
27
+ export interface MessageFns<T> {
28
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
29
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
30
+ fromJSON(object: any): T;
31
+ toJSON(message: T): unknown;
32
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
33
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
34
+ }
35
+ export {};
@@ -0,0 +1,219 @@
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/encrypted_player_request.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ export const protobufPackage = "video_streaming";
9
+ function createBaseEncryptedPlayerRequest() {
10
+ return {
11
+ context: new Uint8Array(0),
12
+ encryptedOnesiePlayerRequest: new Uint8Array(0),
13
+ encryptedClientKey: new Uint8Array(0),
14
+ iv: new Uint8Array(0),
15
+ hmac: new Uint8Array(0),
16
+ reverseProxyConfig: "",
17
+ YP: false,
18
+ pM: false,
19
+ enableCompression: false,
20
+ TQ: false,
21
+ };
22
+ }
23
+ export const EncryptedPlayerRequest = {
24
+ encode(message, writer = new BinaryWriter()) {
25
+ if (message.context !== undefined && message.context.length !== 0) {
26
+ writer.uint32(10).bytes(message.context);
27
+ }
28
+ if (message.encryptedOnesiePlayerRequest !== undefined && message.encryptedOnesiePlayerRequest.length !== 0) {
29
+ writer.uint32(18).bytes(message.encryptedOnesiePlayerRequest);
30
+ }
31
+ if (message.encryptedClientKey !== undefined && message.encryptedClientKey.length !== 0) {
32
+ writer.uint32(42).bytes(message.encryptedClientKey);
33
+ }
34
+ if (message.iv !== undefined && message.iv.length !== 0) {
35
+ writer.uint32(50).bytes(message.iv);
36
+ }
37
+ if (message.hmac !== undefined && message.hmac.length !== 0) {
38
+ writer.uint32(58).bytes(message.hmac);
39
+ }
40
+ if (message.reverseProxyConfig !== undefined && message.reverseProxyConfig !== "") {
41
+ writer.uint32(74).string(message.reverseProxyConfig);
42
+ }
43
+ if (message.YP !== undefined && message.YP !== false) {
44
+ writer.uint32(80).bool(message.YP);
45
+ }
46
+ if (message.pM !== undefined && message.pM !== false) {
47
+ writer.uint32(104).bool(message.pM);
48
+ }
49
+ if (message.enableCompression !== undefined && message.enableCompression !== false) {
50
+ writer.uint32(112).bool(message.enableCompression);
51
+ }
52
+ if (message.TQ !== undefined && message.TQ !== false) {
53
+ writer.uint32(136).bool(message.TQ);
54
+ }
55
+ return writer;
56
+ },
57
+ decode(input, length) {
58
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
59
+ let end = length === undefined ? reader.len : reader.pos + length;
60
+ const message = createBaseEncryptedPlayerRequest();
61
+ while (reader.pos < end) {
62
+ const tag = reader.uint32();
63
+ switch (tag >>> 3) {
64
+ case 1:
65
+ if (tag !== 10) {
66
+ break;
67
+ }
68
+ message.context = reader.bytes();
69
+ continue;
70
+ case 2:
71
+ if (tag !== 18) {
72
+ break;
73
+ }
74
+ message.encryptedOnesiePlayerRequest = reader.bytes();
75
+ continue;
76
+ case 5:
77
+ if (tag !== 42) {
78
+ break;
79
+ }
80
+ message.encryptedClientKey = reader.bytes();
81
+ continue;
82
+ case 6:
83
+ if (tag !== 50) {
84
+ break;
85
+ }
86
+ message.iv = reader.bytes();
87
+ continue;
88
+ case 7:
89
+ if (tag !== 58) {
90
+ break;
91
+ }
92
+ message.hmac = reader.bytes();
93
+ continue;
94
+ case 9:
95
+ if (tag !== 74) {
96
+ break;
97
+ }
98
+ message.reverseProxyConfig = reader.string();
99
+ continue;
100
+ case 10:
101
+ if (tag !== 80) {
102
+ break;
103
+ }
104
+ message.YP = reader.bool();
105
+ continue;
106
+ case 13:
107
+ if (tag !== 104) {
108
+ break;
109
+ }
110
+ message.pM = reader.bool();
111
+ continue;
112
+ case 14:
113
+ if (tag !== 112) {
114
+ break;
115
+ }
116
+ message.enableCompression = reader.bool();
117
+ continue;
118
+ case 17:
119
+ if (tag !== 136) {
120
+ break;
121
+ }
122
+ message.TQ = reader.bool();
123
+ continue;
124
+ }
125
+ if ((tag & 7) === 4 || tag === 0) {
126
+ break;
127
+ }
128
+ reader.skip(tag & 7);
129
+ }
130
+ return message;
131
+ },
132
+ fromJSON(object) {
133
+ return {
134
+ context: isSet(object.context) ? bytesFromBase64(object.context) : new Uint8Array(0),
135
+ encryptedOnesiePlayerRequest: isSet(object.encryptedOnesiePlayerRequest)
136
+ ? bytesFromBase64(object.encryptedOnesiePlayerRequest)
137
+ : new Uint8Array(0),
138
+ encryptedClientKey: isSet(object.encryptedClientKey)
139
+ ? bytesFromBase64(object.encryptedClientKey)
140
+ : new Uint8Array(0),
141
+ iv: isSet(object.iv) ? bytesFromBase64(object.iv) : new Uint8Array(0),
142
+ hmac: isSet(object.hmac) ? bytesFromBase64(object.hmac) : new Uint8Array(0),
143
+ reverseProxyConfig: isSet(object.reverseProxyConfig) ? globalThis.String(object.reverseProxyConfig) : "",
144
+ YP: isSet(object.YP) ? globalThis.Boolean(object.YP) : false,
145
+ pM: isSet(object.pM) ? globalThis.Boolean(object.pM) : false,
146
+ enableCompression: isSet(object.enableCompression) ? globalThis.Boolean(object.enableCompression) : false,
147
+ TQ: isSet(object.TQ) ? globalThis.Boolean(object.TQ) : false,
148
+ };
149
+ },
150
+ toJSON(message) {
151
+ const obj = {};
152
+ if (message.context !== undefined && message.context.length !== 0) {
153
+ obj.context = base64FromBytes(message.context);
154
+ }
155
+ if (message.encryptedOnesiePlayerRequest !== undefined && message.encryptedOnesiePlayerRequest.length !== 0) {
156
+ obj.encryptedOnesiePlayerRequest = base64FromBytes(message.encryptedOnesiePlayerRequest);
157
+ }
158
+ if (message.encryptedClientKey !== undefined && message.encryptedClientKey.length !== 0) {
159
+ obj.encryptedClientKey = base64FromBytes(message.encryptedClientKey);
160
+ }
161
+ if (message.iv !== undefined && message.iv.length !== 0) {
162
+ obj.iv = base64FromBytes(message.iv);
163
+ }
164
+ if (message.hmac !== undefined && message.hmac.length !== 0) {
165
+ obj.hmac = base64FromBytes(message.hmac);
166
+ }
167
+ if (message.reverseProxyConfig !== undefined && message.reverseProxyConfig !== "") {
168
+ obj.reverseProxyConfig = message.reverseProxyConfig;
169
+ }
170
+ if (message.YP !== undefined && message.YP !== false) {
171
+ obj.YP = message.YP;
172
+ }
173
+ if (message.pM !== undefined && message.pM !== false) {
174
+ obj.pM = message.pM;
175
+ }
176
+ if (message.enableCompression !== undefined && message.enableCompression !== false) {
177
+ obj.enableCompression = message.enableCompression;
178
+ }
179
+ if (message.TQ !== undefined && message.TQ !== false) {
180
+ obj.TQ = message.TQ;
181
+ }
182
+ return obj;
183
+ },
184
+ create(base) {
185
+ return EncryptedPlayerRequest.fromPartial(base ?? {});
186
+ },
187
+ fromPartial(object) {
188
+ const message = createBaseEncryptedPlayerRequest();
189
+ message.context = object.context ?? new Uint8Array(0);
190
+ message.encryptedOnesiePlayerRequest = object.encryptedOnesiePlayerRequest ?? new Uint8Array(0);
191
+ message.encryptedClientKey = object.encryptedClientKey ?? new Uint8Array(0);
192
+ message.iv = object.iv ?? new Uint8Array(0);
193
+ message.hmac = object.hmac ?? new Uint8Array(0);
194
+ message.reverseProxyConfig = object.reverseProxyConfig ?? "";
195
+ message.YP = object.YP ?? false;
196
+ message.pM = object.pM ?? false;
197
+ message.enableCompression = object.enableCompression ?? false;
198
+ message.TQ = object.TQ ?? false;
199
+ return message;
200
+ },
201
+ };
202
+ function bytesFromBase64(b64) {
203
+ const bin = globalThis.atob(b64);
204
+ const arr = new Uint8Array(bin.length);
205
+ for (let i = 0; i < bin.length; ++i) {
206
+ arr[i] = bin.charCodeAt(i);
207
+ }
208
+ return arr;
209
+ }
210
+ function base64FromBytes(arr) {
211
+ const bin = [];
212
+ arr.forEach((byte) => {
213
+ bin.push(globalThis.String.fromCharCode(byte));
214
+ });
215
+ return globalThis.btoa(bin.join(""));
216
+ }
217
+ function isSet(value) {
218
+ return value !== null && value !== undefined;
219
+ }
@@ -0,0 +1,35 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { FormatId, IndexRange, InitRange } from "../misc/common.js";
3
+ export declare const protobufPackage = "video_streaming";
4
+ export interface FormatInitializationMetadata {
5
+ videoId?: string | undefined;
6
+ formatId?: FormatId | undefined;
7
+ endTimeMs?: number | undefined;
8
+ field4?: number | undefined;
9
+ mimeType?: string | undefined;
10
+ initRange?: InitRange | undefined;
11
+ indexRange?: IndexRange | undefined;
12
+ field8?: number | undefined;
13
+ durationMs?: number | undefined;
14
+ field10?: number | undefined;
15
+ }
16
+ export declare const FormatInitializationMetadata: MessageFns<FormatInitializationMetadata>;
17
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
18
+ 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 {} ? {
19
+ [K in keyof T]?: DeepPartial<T[K]>;
20
+ } : Partial<T>;
21
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
22
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
23
+ [K in keyof P]: Exact<P[K], I[K]>;
24
+ } & {
25
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
26
+ };
27
+ export interface MessageFns<T> {
28
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
29
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
30
+ fromJSON(object: any): T;
31
+ toJSON(message: T): unknown;
32
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
33
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
34
+ }
35
+ export {};
@@ -0,0 +1,207 @@
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/format_initialization_metadata.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ import { FormatId, IndexRange, InitRange } from "../misc/common.js";
9
+ export const protobufPackage = "video_streaming";
10
+ function createBaseFormatInitializationMetadata() {
11
+ return {
12
+ videoId: "",
13
+ formatId: undefined,
14
+ endTimeMs: 0,
15
+ field4: 0,
16
+ mimeType: "",
17
+ initRange: undefined,
18
+ indexRange: undefined,
19
+ field8: 0,
20
+ durationMs: 0,
21
+ field10: 0,
22
+ };
23
+ }
24
+ export const FormatInitializationMetadata = {
25
+ encode(message, writer = new BinaryWriter()) {
26
+ if (message.videoId !== undefined && message.videoId !== "") {
27
+ writer.uint32(10).string(message.videoId);
28
+ }
29
+ if (message.formatId !== undefined) {
30
+ FormatId.encode(message.formatId, writer.uint32(18).fork()).join();
31
+ }
32
+ if (message.endTimeMs !== undefined && message.endTimeMs !== 0) {
33
+ writer.uint32(24).int32(message.endTimeMs);
34
+ }
35
+ if (message.field4 !== undefined && message.field4 !== 0) {
36
+ writer.uint32(32).int32(message.field4);
37
+ }
38
+ if (message.mimeType !== undefined && message.mimeType !== "") {
39
+ writer.uint32(42).string(message.mimeType);
40
+ }
41
+ if (message.initRange !== undefined) {
42
+ InitRange.encode(message.initRange, writer.uint32(50).fork()).join();
43
+ }
44
+ if (message.indexRange !== undefined) {
45
+ IndexRange.encode(message.indexRange, writer.uint32(58).fork()).join();
46
+ }
47
+ if (message.field8 !== undefined && message.field8 !== 0) {
48
+ writer.uint32(64).int32(message.field8);
49
+ }
50
+ if (message.durationMs !== undefined && message.durationMs !== 0) {
51
+ writer.uint32(72).int32(message.durationMs);
52
+ }
53
+ if (message.field10 !== undefined && message.field10 !== 0) {
54
+ writer.uint32(80).int32(message.field10);
55
+ }
56
+ return writer;
57
+ },
58
+ decode(input, length) {
59
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
60
+ let end = length === undefined ? reader.len : reader.pos + length;
61
+ const message = createBaseFormatInitializationMetadata();
62
+ while (reader.pos < end) {
63
+ const tag = reader.uint32();
64
+ switch (tag >>> 3) {
65
+ case 1:
66
+ if (tag !== 10) {
67
+ break;
68
+ }
69
+ message.videoId = reader.string();
70
+ continue;
71
+ case 2:
72
+ if (tag !== 18) {
73
+ break;
74
+ }
75
+ message.formatId = FormatId.decode(reader, reader.uint32());
76
+ continue;
77
+ case 3:
78
+ if (tag !== 24) {
79
+ break;
80
+ }
81
+ message.endTimeMs = reader.int32();
82
+ continue;
83
+ case 4:
84
+ if (tag !== 32) {
85
+ break;
86
+ }
87
+ message.field4 = reader.int32();
88
+ continue;
89
+ case 5:
90
+ if (tag !== 42) {
91
+ break;
92
+ }
93
+ message.mimeType = reader.string();
94
+ continue;
95
+ case 6:
96
+ if (tag !== 50) {
97
+ break;
98
+ }
99
+ message.initRange = InitRange.decode(reader, reader.uint32());
100
+ continue;
101
+ case 7:
102
+ if (tag !== 58) {
103
+ break;
104
+ }
105
+ message.indexRange = IndexRange.decode(reader, reader.uint32());
106
+ continue;
107
+ case 8:
108
+ if (tag !== 64) {
109
+ break;
110
+ }
111
+ message.field8 = reader.int32();
112
+ continue;
113
+ case 9:
114
+ if (tag !== 72) {
115
+ break;
116
+ }
117
+ message.durationMs = reader.int32();
118
+ continue;
119
+ case 10:
120
+ if (tag !== 80) {
121
+ break;
122
+ }
123
+ message.field10 = reader.int32();
124
+ continue;
125
+ }
126
+ if ((tag & 7) === 4 || tag === 0) {
127
+ break;
128
+ }
129
+ reader.skip(tag & 7);
130
+ }
131
+ return message;
132
+ },
133
+ fromJSON(object) {
134
+ return {
135
+ videoId: isSet(object.videoId) ? globalThis.String(object.videoId) : "",
136
+ formatId: isSet(object.formatId) ? FormatId.fromJSON(object.formatId) : undefined,
137
+ endTimeMs: isSet(object.endTimeMs) ? globalThis.Number(object.endTimeMs) : 0,
138
+ field4: isSet(object.field4) ? globalThis.Number(object.field4) : 0,
139
+ mimeType: isSet(object.mimeType) ? globalThis.String(object.mimeType) : "",
140
+ initRange: isSet(object.initRange) ? InitRange.fromJSON(object.initRange) : undefined,
141
+ indexRange: isSet(object.indexRange) ? IndexRange.fromJSON(object.indexRange) : undefined,
142
+ field8: isSet(object.field8) ? globalThis.Number(object.field8) : 0,
143
+ durationMs: isSet(object.durationMs) ? globalThis.Number(object.durationMs) : 0,
144
+ field10: isSet(object.field10) ? globalThis.Number(object.field10) : 0,
145
+ };
146
+ },
147
+ toJSON(message) {
148
+ const obj = {};
149
+ if (message.videoId !== undefined && message.videoId !== "") {
150
+ obj.videoId = message.videoId;
151
+ }
152
+ if (message.formatId !== undefined) {
153
+ obj.formatId = FormatId.toJSON(message.formatId);
154
+ }
155
+ if (message.endTimeMs !== undefined && message.endTimeMs !== 0) {
156
+ obj.endTimeMs = Math.round(message.endTimeMs);
157
+ }
158
+ if (message.field4 !== undefined && message.field4 !== 0) {
159
+ obj.field4 = Math.round(message.field4);
160
+ }
161
+ if (message.mimeType !== undefined && message.mimeType !== "") {
162
+ obj.mimeType = message.mimeType;
163
+ }
164
+ if (message.initRange !== undefined) {
165
+ obj.initRange = InitRange.toJSON(message.initRange);
166
+ }
167
+ if (message.indexRange !== undefined) {
168
+ obj.indexRange = IndexRange.toJSON(message.indexRange);
169
+ }
170
+ if (message.field8 !== undefined && message.field8 !== 0) {
171
+ obj.field8 = Math.round(message.field8);
172
+ }
173
+ if (message.durationMs !== undefined && message.durationMs !== 0) {
174
+ obj.durationMs = Math.round(message.durationMs);
175
+ }
176
+ if (message.field10 !== undefined && message.field10 !== 0) {
177
+ obj.field10 = Math.round(message.field10);
178
+ }
179
+ return obj;
180
+ },
181
+ create(base) {
182
+ return FormatInitializationMetadata.fromPartial(base ?? {});
183
+ },
184
+ fromPartial(object) {
185
+ const message = createBaseFormatInitializationMetadata();
186
+ message.videoId = object.videoId ?? "";
187
+ message.formatId = (object.formatId !== undefined && object.formatId !== null)
188
+ ? FormatId.fromPartial(object.formatId)
189
+ : undefined;
190
+ message.endTimeMs = object.endTimeMs ?? 0;
191
+ message.field4 = object.field4 ?? 0;
192
+ message.mimeType = object.mimeType ?? "";
193
+ message.initRange = (object.initRange !== undefined && object.initRange !== null)
194
+ ? InitRange.fromPartial(object.initRange)
195
+ : undefined;
196
+ message.indexRange = (object.indexRange !== undefined && object.indexRange !== null)
197
+ ? IndexRange.fromPartial(object.indexRange)
198
+ : undefined;
199
+ message.field8 = object.field8 ?? 0;
200
+ message.durationMs = object.durationMs ?? 0;
201
+ message.field10 = object.field10 ?? 0;
202
+ return message;
203
+ },
204
+ };
205
+ function isSet(value) {
206
+ return value !== null && value !== undefined;
207
+ }
@@ -0,0 +1,43 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ export declare const protobufPackage = "video_streaming";
3
+ export interface MediaCapabilities {
4
+ videoFormatCapabilities: MediaCapabilities_VideoFormatCapability[];
5
+ audioFormatCapabilities: MediaCapabilities_AudioFormatCapability[];
6
+ hdrModeBitmask?: number | undefined;
7
+ }
8
+ export interface MediaCapabilities_VideoFormatCapability {
9
+ videoCodec?: number | undefined;
10
+ maxHeight?: number | undefined;
11
+ maxWidth?: number | undefined;
12
+ maxFramerate?: number | undefined;
13
+ maxBitrateBps?: number | undefined;
14
+ is10BitSupported?: boolean | undefined;
15
+ }
16
+ export interface MediaCapabilities_AudioFormatCapability {
17
+ audioCodec?: number | undefined;
18
+ numChannels?: number | undefined;
19
+ maxBitrateBps?: number | undefined;
20
+ spatialCapabilityBitmask?: number | undefined;
21
+ }
22
+ export declare const MediaCapabilities: MessageFns<MediaCapabilities>;
23
+ export declare const MediaCapabilities_VideoFormatCapability: MessageFns<MediaCapabilities_VideoFormatCapability>;
24
+ export declare const MediaCapabilities_AudioFormatCapability: MessageFns<MediaCapabilities_AudioFormatCapability>;
25
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
26
+ 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 {} ? {
27
+ [K in keyof T]?: DeepPartial<T[K]>;
28
+ } : Partial<T>;
29
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
30
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
31
+ [K in keyof P]: Exact<P[K], I[K]>;
32
+ } & {
33
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
34
+ };
35
+ export interface MessageFns<T> {
36
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
37
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
38
+ fromJSON(object: any): T;
39
+ toJSON(message: T): unknown;
40
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
41
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
42
+ }
43
+ export {};