@luxonis/visualizer-protobuf 3.1.6 → 3.1.7
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.
- package/dist/{deserialization.worker-BPsjKVe4.js → deserialization.worker-qrd_6Vrz.js} +94 -58
- package/dist/{index-DLW4CyCW.js → index-B4osw0hO.js} +1 -1
- package/dist/{index-Bnw5i4J9.js → index-B7AEFuPp.js} +1 -1
- package/dist/{index-BF6pGj6y.js → index-B8amzXr1.js} +1 -1
- package/dist/{index-DQXLqhI5.js → index-BRRz2Qr2.js} +1 -1
- package/dist/{index-CjcnWHBX.js → index-BT5QPxw9.js} +1 -1
- package/dist/{index-D-ixoHgF.js → index-BYfR1cyF.js} +1 -1
- package/dist/{index-DhI-rSJS.js → index-Bct_wnuo.js} +1 -1
- package/dist/{index-Bi4nJb4U.js → index-C224Udi8.js} +22 -22
- package/dist/{index-DOEAktbW.js → index-CIJqvnFA.js} +1 -1
- package/dist/{index-C5yt-flE.js → index-CX2cFxuX.js} +1 -1
- package/dist/{index-BoqJy5eD.js → index-CYBw60pI.js} +1 -1
- package/dist/{index-DRcGifo6.js → index-CsRn_u6H.js} +1 -1
- package/dist/{index-Drd3hxmz.js → index-CuuzC521.js} +1 -1
- package/dist/{index-CHlhmU5r.js → index-D51b4TnU.js} +1 -1
- package/dist/{index-mot3qpp9.js → index-D9TRH-Hw.js} +1 -1
- package/dist/{index-DLZ3xvY3.js → index-DEh2ngM_.js} +1 -1
- package/dist/{index-Bcd7r8Iv.js → index-DqYnHYrl.js} +1 -1
- package/dist/{index-1RjTt6HK.js → index-ZqqMo5Ox.js} +2 -2
- package/dist/{index-BOEXymjd.js → index-aCoqRfTl.js} +1 -1
- package/dist/{index-CKfc_K3x.js → index-jLxbiWrV.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/src/messaging/deserialization/video/h264.d.ts +7 -0
- package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/h264.js +46 -29
- package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/h265.d.ts +7 -0
- package/dist/lib/src/messaging/deserialization/video/h265.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/h265.js +42 -25
- package/dist/lib/src/messaging/deserialization/video/h265.js.map +1 -1
- package/package.json +1 -1
|
@@ -826,11 +826,43 @@ function closeTopicDecoder$1(topic, topicDecoders) {
|
|
|
826
826
|
closeDecoder$1(decoderInfo === null || decoderInfo === void 0 ? void 0 : decoderInfo.decoder);
|
|
827
827
|
decoderInfo === null || decoderInfo === void 0 || decoderInfo.timing.clear();
|
|
828
828
|
decoderInfo === null || decoderInfo === void 0 || decoderInfo.transformations.clear();
|
|
829
|
+
if (decoderInfo) {
|
|
830
|
+
decoderInfo.pendingFrame = undefined;
|
|
831
|
+
}
|
|
829
832
|
}
|
|
830
833
|
function isIgnorableInitialDecodeError(error) {
|
|
831
834
|
const message = error instanceof Error ? error.message : String(error);
|
|
832
835
|
return message.includes("A key frame is required after configure() or flush()");
|
|
833
836
|
}
|
|
837
|
+
function decodePendingFrame$1(topic, topicDecoders, onError) {
|
|
838
|
+
const decoderInfo = topicDecoders.get(topic);
|
|
839
|
+
if (!decoderInfo || decoderInfo.decoder.state === "closed" || decoderInfo.decoder.decodeQueueSize > 0) {
|
|
840
|
+
return;
|
|
841
|
+
}
|
|
842
|
+
const pendingFrame = decoderInfo.pendingFrame;
|
|
843
|
+
if (!pendingFrame) {
|
|
844
|
+
return;
|
|
845
|
+
}
|
|
846
|
+
decoderInfo.pendingFrame = undefined;
|
|
847
|
+
decoderInfo.timing.set(pendingFrame.timestamp, pendingFrame.receiveTime);
|
|
848
|
+
decoderInfo.transformations.set(pendingFrame.timestamp, pendingFrame.transformation);
|
|
849
|
+
try {
|
|
850
|
+
ensureDecoderConfigured$1(decoderInfo.decoder);
|
|
851
|
+
const chunk = new EncodedVideoChunk({
|
|
852
|
+
type: "key",
|
|
853
|
+
data: pendingFrame.data,
|
|
854
|
+
timestamp: pendingFrame.timestamp
|
|
855
|
+
});
|
|
856
|
+
decoderInfo.decoder.decode(chunk);
|
|
857
|
+
} catch (error) {
|
|
858
|
+
if (isIgnorableInitialDecodeError(error)) {
|
|
859
|
+
closeTopicDecoder$1(topic, topicDecoders);
|
|
860
|
+
return;
|
|
861
|
+
}
|
|
862
|
+
closeTopicDecoder$1(topic, topicDecoders);
|
|
863
|
+
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.264 frame."));
|
|
864
|
+
}
|
|
865
|
+
}
|
|
834
866
|
function packedToI420(packed, width, height, stride, format, cropLeft = 0, cropTop = 0) {
|
|
835
867
|
if ((width & 1) !== 0 || (height & 1) !== 0) {
|
|
836
868
|
throw new Error("I420 requires even width and height.");
|
|
@@ -945,7 +977,7 @@ function createVideoDecoder$1({
|
|
|
945
977
|
let hasProducedFrame = false;
|
|
946
978
|
return new VideoDecoder({
|
|
947
979
|
output: async frame => {
|
|
948
|
-
var _visibleRect$width, _visibleRect$height, _visibleRect$x, _visibleRect$y, _topicDecoders$get$ti, _topicDecoders$get, _topicDecoders$get2, _topicDecoders$get3;
|
|
980
|
+
var _visibleRect$width, _visibleRect$height, _visibleRect$x, _visibleRect$y, _topicDecoders$get$ti, _topicDecoders$get, _topicDecoders$get2, _topicDecoders$get3, _topicDecoders$get4;
|
|
949
981
|
hasProducedFrame = true;
|
|
950
982
|
const visibleRect = frame.visibleRect;
|
|
951
983
|
const frameWidth = (_visibleRect$width = visibleRect === null || visibleRect === void 0 ? void 0 : visibleRect.width) !== null && _visibleRect$width !== void 0 ? _visibleRect$width : frame.codedWidth;
|
|
@@ -989,8 +1021,9 @@ function createVideoDecoder$1({
|
|
|
989
1021
|
logger$2.warn("H264 decoder received unexpected frame format:", frame.format);
|
|
990
1022
|
}
|
|
991
1023
|
const receiveTime = (_topicDecoders$get$ti = (_topicDecoders$get = topicDecoders.get(topic)) === null || _topicDecoders$get === void 0 ? void 0 : _topicDecoders$get.timing.get(frame.timestamp)) !== null && _topicDecoders$get$ti !== void 0 ? _topicDecoders$get$ti : dist.fromMicros(frame.timestamp);
|
|
992
|
-
|
|
993
|
-
(_topicDecoders$get3 = topicDecoders.get(topic)) === null || _topicDecoders$get3 === void 0
|
|
1024
|
+
(_topicDecoders$get2 = topicDecoders.get(topic)) === null || _topicDecoders$get2 === void 0 || _topicDecoders$get2.timing.delete(frame.timestamp);
|
|
1025
|
+
const transformation = (_topicDecoders$get3 = topicDecoders.get(topic)) === null || _topicDecoders$get3 === void 0 ? void 0 : _topicDecoders$get3.transformations.get(frame.timestamp);
|
|
1026
|
+
(_topicDecoders$get4 = topicDecoders.get(topic)) === null || _topicDecoders$get4 === void 0 || _topicDecoders$get4.transformations.delete(frame.timestamp);
|
|
994
1027
|
const foxgloveMessage = {
|
|
995
1028
|
timestamp: receiveTime,
|
|
996
1029
|
frame_id: `h264-${topic}-frame`,
|
|
@@ -1009,6 +1042,7 @@ function createVideoDecoder$1({
|
|
|
1009
1042
|
depthaiTransformation: transformation
|
|
1010
1043
|
});
|
|
1011
1044
|
frame.close();
|
|
1045
|
+
decodePendingFrame$1(topic, topicDecoders, onError);
|
|
1012
1046
|
},
|
|
1013
1047
|
error: error => {
|
|
1014
1048
|
if (!hasProducedFrame && isIgnorableInitialDecodeError(error)) {
|
|
@@ -1055,11 +1089,13 @@ async function deserializeEncodedFrameH264({
|
|
|
1055
1089
|
existingDecoderInfo.decoder = decoder;
|
|
1056
1090
|
existingDecoderInfo.timing.clear();
|
|
1057
1091
|
existingDecoderInfo.transformations.clear();
|
|
1092
|
+
existingDecoderInfo.pendingFrame = undefined;
|
|
1058
1093
|
} else {
|
|
1059
1094
|
topicDecoders.set(topic, {
|
|
1060
1095
|
decoder,
|
|
1061
1096
|
timing: new Map(),
|
|
1062
|
-
transformations: new Map()
|
|
1097
|
+
transformations: new Map(),
|
|
1098
|
+
pendingFrame: undefined
|
|
1063
1099
|
});
|
|
1064
1100
|
}
|
|
1065
1101
|
} else if (existingDecoderInfo.decoder.state === "unconfigured") {
|
|
@@ -1067,6 +1103,7 @@ async function deserializeEncodedFrameH264({
|
|
|
1067
1103
|
ensureDecoderConfigured$1(existingDecoderInfo.decoder);
|
|
1068
1104
|
existingDecoderInfo.timing.clear();
|
|
1069
1105
|
existingDecoderInfo.transformations.clear();
|
|
1106
|
+
existingDecoderInfo.pendingFrame = undefined;
|
|
1070
1107
|
} catch (error) {
|
|
1071
1108
|
closeTopicDecoder$1(topic, topicDecoders);
|
|
1072
1109
|
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.264 decoder."));
|
|
@@ -1077,38 +1114,19 @@ async function deserializeEncodedFrameH264({
|
|
|
1077
1114
|
if (!decoderInfo) {
|
|
1078
1115
|
return;
|
|
1079
1116
|
}
|
|
1080
|
-
if (decoderInfo.decoder.decodeQueueSize > 60) {
|
|
1081
|
-
decoderInfo.decoder.reset();
|
|
1082
|
-
try {
|
|
1083
|
-
ensureDecoderConfigured$1(decoderInfo.decoder);
|
|
1084
|
-
} catch (error) {
|
|
1085
|
-
closeTopicDecoder$1(topic, topicDecoders);
|
|
1086
|
-
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.264 decoder after reset."));
|
|
1087
|
-
}
|
|
1088
|
-
decoderInfo.timing.clear();
|
|
1089
|
-
decoderInfo.transformations.clear();
|
|
1090
|
-
return;
|
|
1091
|
-
}
|
|
1092
1117
|
const microTimestamp = receiveTime.sec * 1000000 + Math.floor(receiveTime.nsec / 1000);
|
|
1093
|
-
decoderInfo.timing.set(microTimestamp, receiveTime);
|
|
1094
|
-
decoderInfo.transformations.set(microTimestamp, message.transformation);
|
|
1095
1118
|
const frame = {
|
|
1096
|
-
type: 'key',
|
|
1097
1119
|
data: message.data,
|
|
1098
|
-
timestamp: microTimestamp
|
|
1120
|
+
timestamp: microTimestamp,
|
|
1121
|
+
receiveTime,
|
|
1122
|
+
transformation: message.transformation
|
|
1099
1123
|
};
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
decoderInfo.decoder.decode(chunk);
|
|
1104
|
-
} catch (error) {
|
|
1105
|
-
if (isIgnorableInitialDecodeError(error)) {
|
|
1106
|
-
closeTopicDecoder$1(topic, topicDecoders);
|
|
1107
|
-
return;
|
|
1108
|
-
}
|
|
1109
|
-
closeTopicDecoder$1(topic, topicDecoders);
|
|
1110
|
-
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.264 frame."));
|
|
1124
|
+
if (decoderInfo.decoder.decodeQueueSize > 0) {
|
|
1125
|
+
decoderInfo.pendingFrame = frame;
|
|
1126
|
+
return;
|
|
1111
1127
|
}
|
|
1128
|
+
decoderInfo.pendingFrame = frame;
|
|
1129
|
+
decodePendingFrame$1(topic, topicDecoders, onError);
|
|
1112
1130
|
}
|
|
1113
1131
|
|
|
1114
1132
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -1145,6 +1163,34 @@ function closeTopicDecoder(topic, topicDecoders) {
|
|
|
1145
1163
|
closeDecoder(decoderInfo === null || decoderInfo === void 0 ? void 0 : decoderInfo.decoder);
|
|
1146
1164
|
decoderInfo === null || decoderInfo === void 0 || decoderInfo.timing.clear();
|
|
1147
1165
|
decoderInfo === null || decoderInfo === void 0 || decoderInfo.transformations.clear();
|
|
1166
|
+
if (decoderInfo) {
|
|
1167
|
+
decoderInfo.pendingFrame = undefined;
|
|
1168
|
+
}
|
|
1169
|
+
}
|
|
1170
|
+
function decodePendingFrame(topic, topicDecoders, onError) {
|
|
1171
|
+
const decoderInfo = topicDecoders.get(topic);
|
|
1172
|
+
if (!decoderInfo || decoderInfo.decoder.state === "closed" || decoderInfo.decoder.decodeQueueSize > 0) {
|
|
1173
|
+
return;
|
|
1174
|
+
}
|
|
1175
|
+
const pendingFrame = decoderInfo.pendingFrame;
|
|
1176
|
+
if (!pendingFrame) {
|
|
1177
|
+
return;
|
|
1178
|
+
}
|
|
1179
|
+
decoderInfo.pendingFrame = undefined;
|
|
1180
|
+
decoderInfo.timing.set(pendingFrame.timestamp, pendingFrame.receiveTime);
|
|
1181
|
+
decoderInfo.transformations.set(pendingFrame.timestamp, pendingFrame.transformation);
|
|
1182
|
+
try {
|
|
1183
|
+
ensureDecoderConfigured(decoderInfo.decoder);
|
|
1184
|
+
const chunk = new EncodedVideoChunk({
|
|
1185
|
+
type: "key",
|
|
1186
|
+
data: pendingFrame.data,
|
|
1187
|
+
timestamp: pendingFrame.timestamp
|
|
1188
|
+
});
|
|
1189
|
+
decoderInfo.decoder.decode(chunk);
|
|
1190
|
+
} catch (error) {
|
|
1191
|
+
closeTopicDecoder(topic, topicDecoders);
|
|
1192
|
+
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.265 frame."));
|
|
1193
|
+
}
|
|
1148
1194
|
}
|
|
1149
1195
|
function createVideoDecoder({
|
|
1150
1196
|
topic,
|
|
@@ -1154,12 +1200,13 @@ function createVideoDecoder({
|
|
|
1154
1200
|
}) {
|
|
1155
1201
|
return new VideoDecoder({
|
|
1156
1202
|
output: async frame => {
|
|
1157
|
-
var _topicDecoders$get$ti, _topicDecoders$get, _topicDecoders$get2, _topicDecoders$get3;
|
|
1203
|
+
var _topicDecoders$get$ti, _topicDecoders$get, _topicDecoders$get2, _topicDecoders$get3, _topicDecoders$get4;
|
|
1158
1204
|
const buffer = new Uint8Array(frame.allocationSize());
|
|
1159
1205
|
await frame.copyTo(buffer);
|
|
1160
1206
|
const receiveTime = (_topicDecoders$get$ti = (_topicDecoders$get = topicDecoders.get(topic)) === null || _topicDecoders$get === void 0 ? void 0 : _topicDecoders$get.timing.get(frame.timestamp)) !== null && _topicDecoders$get$ti !== void 0 ? _topicDecoders$get$ti : dist.fromMicros(frame.timestamp);
|
|
1161
|
-
|
|
1162
|
-
(_topicDecoders$get3 = topicDecoders.get(topic)) === null || _topicDecoders$get3 === void 0
|
|
1207
|
+
(_topicDecoders$get2 = topicDecoders.get(topic)) === null || _topicDecoders$get2 === void 0 || _topicDecoders$get2.timing.delete(frame.timestamp);
|
|
1208
|
+
const transformation = (_topicDecoders$get3 = topicDecoders.get(topic)) === null || _topicDecoders$get3 === void 0 ? void 0 : _topicDecoders$get3.transformations.get(frame.timestamp);
|
|
1209
|
+
(_topicDecoders$get4 = topicDecoders.get(topic)) === null || _topicDecoders$get4 === void 0 || _topicDecoders$get4.transformations.delete(frame.timestamp);
|
|
1163
1210
|
const [encoding, step] = parsePixelFormat(frame.format);
|
|
1164
1211
|
const foxgloveMessage = {
|
|
1165
1212
|
timestamp: receiveTime,
|
|
@@ -1179,6 +1226,7 @@ function createVideoDecoder({
|
|
|
1179
1226
|
depthaiTransformation: transformation
|
|
1180
1227
|
});
|
|
1181
1228
|
frame.close();
|
|
1229
|
+
decodePendingFrame(topic, topicDecoders, onError);
|
|
1182
1230
|
},
|
|
1183
1231
|
error: error => {
|
|
1184
1232
|
logger$1.error(error);
|
|
@@ -1220,11 +1268,13 @@ async function deserializeEncodedFrameH265({
|
|
|
1220
1268
|
existingDecoderInfo.decoder = decoder;
|
|
1221
1269
|
existingDecoderInfo.timing.clear();
|
|
1222
1270
|
existingDecoderInfo.transformations.clear();
|
|
1271
|
+
existingDecoderInfo.pendingFrame = undefined;
|
|
1223
1272
|
} else {
|
|
1224
1273
|
topicDecoders.set(topic, {
|
|
1225
1274
|
decoder,
|
|
1226
1275
|
timing: new Map(),
|
|
1227
|
-
transformations: new Map()
|
|
1276
|
+
transformations: new Map(),
|
|
1277
|
+
pendingFrame: undefined
|
|
1228
1278
|
});
|
|
1229
1279
|
}
|
|
1230
1280
|
} else if (existingDecoderInfo.decoder.state === "unconfigured") {
|
|
@@ -1232,6 +1282,7 @@ async function deserializeEncodedFrameH265({
|
|
|
1232
1282
|
ensureDecoderConfigured(existingDecoderInfo.decoder);
|
|
1233
1283
|
existingDecoderInfo.timing.clear();
|
|
1234
1284
|
existingDecoderInfo.transformations.clear();
|
|
1285
|
+
existingDecoderInfo.pendingFrame = undefined;
|
|
1235
1286
|
} catch (error) {
|
|
1236
1287
|
closeTopicDecoder(topic, topicDecoders);
|
|
1237
1288
|
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.265 decoder."));
|
|
@@ -1242,34 +1293,19 @@ async function deserializeEncodedFrameH265({
|
|
|
1242
1293
|
if (!decoderInfo) {
|
|
1243
1294
|
return;
|
|
1244
1295
|
}
|
|
1245
|
-
if (decoderInfo.decoder.decodeQueueSize > 60) {
|
|
1246
|
-
decoderInfo.decoder.reset();
|
|
1247
|
-
try {
|
|
1248
|
-
ensureDecoderConfigured(decoderInfo.decoder);
|
|
1249
|
-
} catch (error) {
|
|
1250
|
-
closeTopicDecoder(topic, topicDecoders);
|
|
1251
|
-
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.265 decoder after reset."));
|
|
1252
|
-
}
|
|
1253
|
-
decoderInfo.timing.clear();
|
|
1254
|
-
decoderInfo.transformations.clear();
|
|
1255
|
-
return;
|
|
1256
|
-
}
|
|
1257
1296
|
const microTimestamp = receiveTime.sec * 1000000 + Math.floor(receiveTime.nsec / 1000);
|
|
1258
|
-
decoderInfo.timing.set(microTimestamp, receiveTime);
|
|
1259
|
-
decoderInfo.transformations.set(microTimestamp, message.transformation);
|
|
1260
1297
|
const frame = {
|
|
1261
|
-
type: 'key',
|
|
1262
1298
|
data: message.data,
|
|
1263
|
-
timestamp: microTimestamp
|
|
1299
|
+
timestamp: microTimestamp,
|
|
1300
|
+
receiveTime,
|
|
1301
|
+
transformation: message.transformation
|
|
1264
1302
|
};
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
decoderInfo.decoder.decode(chunk);
|
|
1269
|
-
} catch (error) {
|
|
1270
|
-
closeTopicDecoder(topic, topicDecoders);
|
|
1271
|
-
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.265 frame."));
|
|
1303
|
+
if (decoderInfo.decoder.decodeQueueSize > 0) {
|
|
1304
|
+
decoderInfo.pendingFrame = frame;
|
|
1305
|
+
return;
|
|
1272
1306
|
}
|
|
1307
|
+
decoderInfo.pendingFrame = frame;
|
|
1308
|
+
decodePendingFrame(topic, topicDecoders, onError);
|
|
1273
1309
|
}
|
|
1274
1310
|
|
|
1275
1311
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, T as foldNodeProp, af as bracketMatchingHandle, X as LanguageSupport, aa as EditorView, a1 as syntaxTree, ab as EditorSelection } from './index-
|
|
2
|
+
import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, T as foldNodeProp, af as bracketMatchingHandle, X as LanguageSupport, aa as EditorView, a1 as syntaxTree, ab as EditorSelection } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, T as foldNodeProp, a5 as foldInside, Q as indentNodeProp, R as continuedIndent, ae as defineCSSCompletionSource, X as LanguageSupport } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, T as foldNodeProp, a5 as foldInside, Q as indentNodeProp, R as continuedIndent, ae as defineCSSCompletionSource, X as LanguageSupport } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -4,7 +4,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
|
|
|
4
4
|
import { createRoot } from 'react-dom/client';
|
|
5
5
|
import { a0 as isSymbol, a1 as toString, a2 as keys, a3 as getSymbols$1, a4 as stubArray, a5 as arrayPush, a6 as baseGetAllKeys, h as getTag, a7 as getAllKeys, l as baseGet, f as baseIteratee, k as castPath, t as toKey, a8 as arrayMap$1, a9 as useCurrentLayoutActions, aa as useCurrentLayoutSelector, r as reportError, A as AppError, ab as usePanelMosaicId, ac as noop$4, L as Logger, ad as useSelectedPanels, p as getPanelTypeFromId, N as useShallowMemo, T as TAB_PANEL_TYPE, K as filterMap, d as dist$2, ae as useAppConfiguration, af as useJsonTreeTheme } from './depth-DlC6A3Te.js';
|
|
6
6
|
import { createStore, useStore } from 'zustand';
|
|
7
|
-
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, m as murmur2, P as PropTypes, _ as _objectWithoutPropertiesLoose$1, E as ErrorDisplay, S as Stack$1, a as makeStyles$1, u as useTranslation, d as usePanelCatalog, e as EmptyState, i as isEmpty, h as PanelContext, j as PanelCatalogContext, k as usePanelStateStore, l as difference, n as usePanelContext, o as useMessagePipeline, v as v4, p as useDefaultPanelTitle, q as useHoverValue, r as useSetHoverValue, s as useClearHoverValue, t as useMessagePipelineGetter, w as usePanelSettingsTreeUpdate, x as PlayerCapabilities, y as assertNever, z as PlayerPresence, B as isEqual, C as AppEvent, D as isDesktopApp, F as createTheme, G as propTypesExports, H as DEFAULT_CAMERA_STATE$1, I as format$1, J as stringType, K as serializeError, L as stringify$1, M as createIntl, N as createIntlCache, O as useAnalytics } from './index-
|
|
7
|
+
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, m as murmur2, P as PropTypes, _ as _objectWithoutPropertiesLoose$1, E as ErrorDisplay, S as Stack$1, a as makeStyles$1, u as useTranslation, d as usePanelCatalog, e as EmptyState, i as isEmpty, h as PanelContext, j as PanelCatalogContext, k as usePanelStateStore, l as difference, n as usePanelContext, o as useMessagePipeline, v as v4, p as useDefaultPanelTitle, q as useHoverValue, r as useSetHoverValue, s as useClearHoverValue, t as useMessagePipelineGetter, w as usePanelSettingsTreeUpdate, x as PlayerCapabilities, y as assertNever, z as PlayerPresence, B as isEqual, C as AppEvent, D as isDesktopApp, F as createTheme, G as propTypesExports, H as DEFAULT_CAMERA_STATE$1, I as format$1, J as stringType, K as serializeError, L as stringify$1, M as createIntl, N as createIntlCache, O as useAnalytics } from './index-C224Udi8.js';
|
|
8
8
|
import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, d as _objectWithoutProperties, e as _extends$1, f as commonjsGlobal, g as getDefaultExportFromCjs, b as _objectSpread2, i as getAugmentedNamespace, j as _asyncIterator } from './protobuf-Be0G3NFz.js';
|
|
9
9
|
import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
|
|
10
10
|
import { Link, Button, alpha, IconButton, Card, CardActionArea, CardMedia, CardContent, Typography, Container, Tooltip, Fade, ListItem, ListItemButton, ListItemText, List, TextField, InputAdornment, Popper, Grow, Paper, ClickAwayListener, Menu, MenuItem, Divider, buttonClasses, Backdrop, Chip, useTheme, inputBaseClasses, autocompleteClasses, inputClasses, Checkbox, dialogActionsClasses, filledInputClasses, inputAdornmentClasses, listSubheaderClasses, selectClasses, tableCellClasses, ThemeProvider as ThemeProvider$1, tabsClasses as tabsClasses$1, tabClasses, Tabs, Tab, ListItemIcon } from '@mui/material';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, ac as html, X as LanguageSupport, ad as parseMixed } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, ac as html, X as LanguageSupport, ad as parseMixed } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, ag as javascriptLanguage, W as LRLanguage, X as LanguageSupport, Z as LRParser, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, ag as javascriptLanguage, W as LRLanguage, X as LanguageSupport, Z as LRParser, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { aa as EditorView, ab as EditorSelection, W as LRLanguage, U as styleTags, V as tags, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, X as LanguageSupport, Z as LRParser, a1 as syntaxTree, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-
|
|
2
|
+
import { aa as EditorView, ab as EditorSelection, W as LRLanguage, U as styleTags, V as tags, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, X as LanguageSupport, Z as LRParser, a1 as syntaxTree, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, a7 as snippetCompletion, a1 as syntaxTree, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, $ as ifNotIn, a0 as completeFromList, a8 as IterMode, a9 as NodeWeakMap } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, a7 as snippetCompletion, a1 as syntaxTree, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, $ as ifNotIn, a0 as completeFromList, a8 as IterMode, a9 as NodeWeakMap } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -975,7 +975,7 @@ ConfigStore.instance = void 0;
|
|
|
975
975
|
|
|
976
976
|
var _localStorage$getItem;
|
|
977
977
|
function initWorker(callback) {
|
|
978
|
-
const worker = new Worker(new URL("deserialization.worker-
|
|
978
|
+
const worker = new Worker(new URL("deserialization.worker-qrd_6Vrz.js", import.meta.url), {
|
|
979
979
|
type: "module",
|
|
980
980
|
name: `message-decoder`
|
|
981
981
|
});
|
|
@@ -88702,7 +88702,7 @@ function legacy(parser) {
|
|
|
88702
88702
|
return new LanguageSupport(StreamLanguage.define(parser));
|
|
88703
88703
|
}
|
|
88704
88704
|
function sql$1(dialectName) {
|
|
88705
|
-
return import('./index-
|
|
88705
|
+
return import('./index-CIJqvnFA.js').then(m => m.sql({ dialect: m[dialectName] }));
|
|
88706
88706
|
}
|
|
88707
88707
|
/**
|
|
88708
88708
|
An array of language descriptions for known language packages.
|
|
@@ -88713,7 +88713,7 @@ const languages = [
|
|
|
88713
88713
|
name: "C",
|
|
88714
88714
|
extensions: ["c", "h", "ino"],
|
|
88715
88715
|
load() {
|
|
88716
|
-
return import('./index-
|
|
88716
|
+
return import('./index-D9TRH-Hw.js').then(m => m.cpp());
|
|
88717
88717
|
}
|
|
88718
88718
|
}),
|
|
88719
88719
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88721,7 +88721,7 @@ const languages = [
|
|
|
88721
88721
|
alias: ["cpp"],
|
|
88722
88722
|
extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
|
|
88723
88723
|
load() {
|
|
88724
|
-
return import('./index-
|
|
88724
|
+
return import('./index-D9TRH-Hw.js').then(m => m.cpp());
|
|
88725
88725
|
}
|
|
88726
88726
|
}),
|
|
88727
88727
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88741,7 +88741,7 @@ const languages = [
|
|
|
88741
88741
|
name: "Go",
|
|
88742
88742
|
extensions: ["go"],
|
|
88743
88743
|
load() {
|
|
88744
|
-
return import('./index-
|
|
88744
|
+
return import('./index-Bct_wnuo.js').then(m => m.go());
|
|
88745
88745
|
}
|
|
88746
88746
|
}),
|
|
88747
88747
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88756,7 +88756,7 @@ const languages = [
|
|
|
88756
88756
|
name: "Java",
|
|
88757
88757
|
extensions: ["java"],
|
|
88758
88758
|
load() {
|
|
88759
|
-
return import('./index-
|
|
88759
|
+
return import('./index-D51b4TnU.js').then(m => m.java());
|
|
88760
88760
|
}
|
|
88761
88761
|
}),
|
|
88762
88762
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88771,7 +88771,7 @@ const languages = [
|
|
|
88771
88771
|
name: "Jinja",
|
|
88772
88772
|
extensions: ["j2", "jinja", "jinja2"],
|
|
88773
88773
|
load() {
|
|
88774
|
-
return import('./index-
|
|
88774
|
+
return import('./index-CsRn_u6H.js').then(m => m.jinja());
|
|
88775
88775
|
}
|
|
88776
88776
|
}),
|
|
88777
88777
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88779,7 +88779,7 @@ const languages = [
|
|
|
88779
88779
|
alias: ["json5"],
|
|
88780
88780
|
extensions: ["json", "map"],
|
|
88781
88781
|
load() {
|
|
88782
|
-
return import('./index-
|
|
88782
|
+
return import('./index-DqYnHYrl.js').then(m => m.json());
|
|
88783
88783
|
}
|
|
88784
88784
|
}),
|
|
88785
88785
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88793,14 +88793,14 @@ const languages = [
|
|
|
88793
88793
|
name: "LESS",
|
|
88794
88794
|
extensions: ["less"],
|
|
88795
88795
|
load() {
|
|
88796
|
-
return import('./index-
|
|
88796
|
+
return import('./index-jLxbiWrV.js').then(m => m.less());
|
|
88797
88797
|
}
|
|
88798
88798
|
}),
|
|
88799
88799
|
/*@__PURE__*/LanguageDescription.of({
|
|
88800
88800
|
name: "Liquid",
|
|
88801
88801
|
extensions: ["liquid"],
|
|
88802
88802
|
load() {
|
|
88803
|
-
return import('./index-
|
|
88803
|
+
return import('./index-BYfR1cyF.js').then(m => m.liquid());
|
|
88804
88804
|
}
|
|
88805
88805
|
}),
|
|
88806
88806
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88826,7 +88826,7 @@ const languages = [
|
|
|
88826
88826
|
name: "PHP",
|
|
88827
88827
|
extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
|
|
88828
88828
|
load() {
|
|
88829
|
-
return import('./index-
|
|
88829
|
+
return import('./index-BRRz2Qr2.js').then(m => m.php());
|
|
88830
88830
|
}
|
|
88831
88831
|
}),
|
|
88832
88832
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88843,28 +88843,28 @@ const languages = [
|
|
|
88843
88843
|
extensions: ["BUILD", "bzl", "py", "pyw"],
|
|
88844
88844
|
filename: /^(BUCK|BUILD)$/,
|
|
88845
88845
|
load() {
|
|
88846
|
-
return import('./index-
|
|
88846
|
+
return import('./index-aCoqRfTl.js').then(m => m.python());
|
|
88847
88847
|
}
|
|
88848
88848
|
}),
|
|
88849
88849
|
/*@__PURE__*/LanguageDescription.of({
|
|
88850
88850
|
name: "Rust",
|
|
88851
88851
|
extensions: ["rs"],
|
|
88852
88852
|
load() {
|
|
88853
|
-
return import('./index-
|
|
88853
|
+
return import('./index-CuuzC521.js').then(m => m.rust());
|
|
88854
88854
|
}
|
|
88855
88855
|
}),
|
|
88856
88856
|
/*@__PURE__*/LanguageDescription.of({
|
|
88857
88857
|
name: "Sass",
|
|
88858
88858
|
extensions: ["sass"],
|
|
88859
88859
|
load() {
|
|
88860
|
-
return import('./index-
|
|
88860
|
+
return import('./index-B7AEFuPp.js').then(m => m.sass({ indented: true }));
|
|
88861
88861
|
}
|
|
88862
88862
|
}),
|
|
88863
88863
|
/*@__PURE__*/LanguageDescription.of({
|
|
88864
88864
|
name: "SCSS",
|
|
88865
88865
|
extensions: ["scss"],
|
|
88866
88866
|
load() {
|
|
88867
|
-
return import('./index-
|
|
88867
|
+
return import('./index-B7AEFuPp.js').then(m => m.sass());
|
|
88868
88868
|
}
|
|
88869
88869
|
}),
|
|
88870
88870
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88895,7 +88895,7 @@ const languages = [
|
|
|
88895
88895
|
name: "WebAssembly",
|
|
88896
88896
|
extensions: ["wat", "wast"],
|
|
88897
88897
|
load() {
|
|
88898
|
-
return import('./index-
|
|
88898
|
+
return import('./index-CX2cFxuX.js').then(m => m.wast());
|
|
88899
88899
|
}
|
|
88900
88900
|
}),
|
|
88901
88901
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88903,7 +88903,7 @@ const languages = [
|
|
|
88903
88903
|
alias: ["rss", "wsdl", "xsd"],
|
|
88904
88904
|
extensions: ["xml", "xsl", "xsd", "svg"],
|
|
88905
88905
|
load() {
|
|
88906
|
-
return import('./index-
|
|
88906
|
+
return import('./index-B4osw0hO.js').then(m => m.xml());
|
|
88907
88907
|
}
|
|
88908
88908
|
}),
|
|
88909
88909
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88911,7 +88911,7 @@ const languages = [
|
|
|
88911
88911
|
alias: ["yml"],
|
|
88912
88912
|
extensions: ["yaml", "yml"],
|
|
88913
88913
|
load() {
|
|
88914
|
-
return import('./index-
|
|
88914
|
+
return import('./index-DEh2ngM_.js').then(m => m.yaml());
|
|
88915
88915
|
}
|
|
88916
88916
|
}),
|
|
88917
88917
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -89700,13 +89700,13 @@ const languages = [
|
|
|
89700
89700
|
name: "Vue",
|
|
89701
89701
|
extensions: ["vue"],
|
|
89702
89702
|
load() {
|
|
89703
|
-
return import('./index-
|
|
89703
|
+
return import('./index-CYBw60pI.js').then(m => m.vue());
|
|
89704
89704
|
}
|
|
89705
89705
|
}),
|
|
89706
89706
|
/*@__PURE__*/LanguageDescription.of({
|
|
89707
89707
|
name: "Angular Template",
|
|
89708
89708
|
load() {
|
|
89709
|
-
return import('./index-
|
|
89709
|
+
return import('./index-BT5QPxw9.js').then(m => m.angular());
|
|
89710
89710
|
}
|
|
89711
89711
|
})
|
|
89712
89712
|
];
|
|
@@ -174760,7 +174760,7 @@ function createRenderDelaySampler() {
|
|
|
174760
174760
|
};
|
|
174761
174761
|
}
|
|
174762
174762
|
|
|
174763
|
-
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
174763
|
+
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-ZqqMo5Ox.js'));
|
|
174764
174764
|
const ImagePanelBody = ({
|
|
174765
174765
|
topic,
|
|
174766
174766
|
frameRenderedEvent,
|
|
@@ -174855,7 +174855,7 @@ const DEFAULT_CAMERA_STATE = {
|
|
|
174855
174855
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
174856
174856
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
174857
174857
|
|
|
174858
|
-
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
174858
|
+
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-B8amzXr1.js'));
|
|
174859
174859
|
const PointCloudPanelBody = ({
|
|
174860
174860
|
topic,
|
|
174861
174861
|
frameRenderedEvent,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Y as ExternalTokenizer, Z as LRParser, $ as ifNotIn, a0 as completeFromList, a1 as syntaxTree } from './index-
|
|
2
|
+
import { Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Y as ExternalTokenizer, Z as LRParser, $ as ifNotIn, a0 as completeFromList, a1 as syntaxTree } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, U as styleTags, V as tags, X as LanguageSupport, Z as LRParser } from './index-
|
|
2
|
+
import { W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, U as styleTags, V as tags, X as LanguageSupport, Z as LRParser } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Z as LRParser, a2 as LocalTokenGroup, ac as html, ad as parseMixed, ag as javascriptLanguage } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Z as LRParser, a2 as LocalTokenGroup, ac as html, ad as parseMixed, ag as javascriptLanguage } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { aa as EditorView, ab as EditorSelection, W as LRLanguage, U as styleTags, V as tags, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, X as LanguageSupport, Z as LRParser, a2 as LocalTokenGroup, a1 as syntaxTree, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-
|
|
2
|
+
import { aa as EditorView, ab as EditorSelection, W as LRLanguage, U as styleTags, V as tags, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, X as LanguageSupport, Z as LRParser, a2 as LocalTokenGroup, a1 as syntaxTree, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, ad as parseMixed } from './index-
|
|
2
|
+
import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, ad as parseMixed } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { ImagePanel } from './index-
|
|
2
|
+
import { ImagePanel } from './index-B8amzXr1.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-dom/client';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -10,7 +10,7 @@ import 'zustand';
|
|
|
10
10
|
import 'react-mosaic-component';
|
|
11
11
|
import '@mui/material';
|
|
12
12
|
import './isArrayLikeObject-n9ytTioB.js';
|
|
13
|
-
import './index-
|
|
13
|
+
import './index-C224Udi8.js';
|
|
14
14
|
import './utils-DmlHZWuo.js';
|
|
15
15
|
import './FoxgloveServer-B98MHUu6.js';
|
|
16
16
|
import 'ms';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a1 as syntaxTree, $ as ifNotIn, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, a8 as IterMode, a0 as completeFromList, a9 as NodeWeakMap, a7 as snippetCompletion } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a1 as syntaxTree, $ as ifNotIn, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, a8 as IterMode, a0 as completeFromList, a9 as NodeWeakMap, a7 as snippetCompletion } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, ae as defineCSSCompletionSource, X as LanguageSupport, Z as LRParser, Y as ExternalTokenizer } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, ae as defineCSSCompletionSource, X as LanguageSupport, Z as LRParser, Y as ExternalTokenizer } from './index-C224Udi8.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { ar as FrameStore, ak as ImagePanel, aj as PanelLayout, al as PointCloudPanel, ah as VisualizerConnection, ai as VisualizerContext, am as constructKeyForTopicRenderMetrics, as as getIMUEventEmitter, ao as globalDecodeMetricsManager, an as globalInputEventMetricsManager, ap as globalRenderMetricsManager, aq as globalThroughputMetricsManager } from './index-
|
|
2
|
+
export { ar as FrameStore, ak as ImagePanel, aj as PanelLayout, al as PointCloudPanel, ah as VisualizerConnection, ai as VisualizerContext, am as constructKeyForTopicRenderMetrics, as as getIMUEventEmitter, ao as globalDecodeMetricsManager, an as globalInputEventMetricsManager, ap as globalRenderMetricsManager, aq as globalThroughputMetricsManager } from './index-C224Udi8.js';
|
|
3
3
|
export { S as getDistanceFromDepthDataForOffset } from './depth-DlC6A3Te.js';
|
|
4
4
|
import './protobuf-Be0G3NFz.js';
|
|
5
5
|
import './logger-Bqy1nuLj.js';
|
|
@@ -6,7 +6,14 @@ export type TopicDecoders = Map<string, {
|
|
|
6
6
|
decoder: VideoDecoder;
|
|
7
7
|
timing: Map<number, Timestamp>;
|
|
8
8
|
transformations: Map<number, ImgTransformation | undefined>;
|
|
9
|
+
pendingFrame?: PendingFrame;
|
|
9
10
|
}>;
|
|
11
|
+
type PendingFrame = {
|
|
12
|
+
data: Uint8Array;
|
|
13
|
+
timestamp: number;
|
|
14
|
+
receiveTime: Timestamp;
|
|
15
|
+
transformation: ImgTransformation | undefined;
|
|
16
|
+
};
|
|
10
17
|
type DeserializeEncodedFrameH264Args = {
|
|
11
18
|
topic: string;
|
|
12
19
|
message: EncodedFrame | ImgFrame;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h264.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAQrF,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B,MAAM,EACN;IACE,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"h264.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAQrF,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B,MAAM,EACN;IACE,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC;IAC5D,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CACF,CAAC;AAWF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;IACvB,cAAc,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC/C,CAAC;AA8WF,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,EAChD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,GACR,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EjD"}
|
|
@@ -38,11 +38,44 @@ function closeTopicDecoder(topic, topicDecoders) {
|
|
|
38
38
|
closeDecoder(decoderInfo?.decoder);
|
|
39
39
|
decoderInfo?.timing.clear();
|
|
40
40
|
decoderInfo?.transformations.clear();
|
|
41
|
+
if (decoderInfo) {
|
|
42
|
+
decoderInfo.pendingFrame = undefined;
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
function isIgnorableInitialDecodeError(error) {
|
|
43
46
|
const message = error instanceof Error ? error.message : String(error);
|
|
44
47
|
return message.includes("A key frame is required after configure() or flush()");
|
|
45
48
|
}
|
|
49
|
+
function decodePendingFrame(topic, topicDecoders, onError) {
|
|
50
|
+
const decoderInfo = topicDecoders.get(topic);
|
|
51
|
+
if (!decoderInfo || decoderInfo.decoder.state === "closed" || decoderInfo.decoder.decodeQueueSize > 0) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const pendingFrame = decoderInfo.pendingFrame;
|
|
55
|
+
if (!pendingFrame) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
decoderInfo.pendingFrame = undefined;
|
|
59
|
+
decoderInfo.timing.set(pendingFrame.timestamp, pendingFrame.receiveTime);
|
|
60
|
+
decoderInfo.transformations.set(pendingFrame.timestamp, pendingFrame.transformation);
|
|
61
|
+
try {
|
|
62
|
+
ensureDecoderConfigured(decoderInfo.decoder);
|
|
63
|
+
const chunk = new EncodedVideoChunk({
|
|
64
|
+
type: "key",
|
|
65
|
+
data: pendingFrame.data,
|
|
66
|
+
timestamp: pendingFrame.timestamp,
|
|
67
|
+
});
|
|
68
|
+
decoderInfo.decoder.decode(chunk);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
if (isIgnorableInitialDecodeError(error)) {
|
|
72
|
+
closeTopicDecoder(topic, topicDecoders);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
closeTopicDecoder(topic, topicDecoders);
|
|
76
|
+
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.264 frame."));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
46
79
|
function packedToI420(packed, width, height, stride, format, cropLeft = 0, cropTop = 0) {
|
|
47
80
|
if ((width & 1) !== 0 || (height & 1) !== 0) {
|
|
48
81
|
throw new Error("I420 requires even width and height.");
|
|
@@ -202,6 +235,7 @@ function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
|
|
|
202
235
|
const receiveTime = topicDecoders.get(topic)?.timing.get(frame.timestamp)
|
|
203
236
|
??
|
|
204
237
|
fromMicros(frame.timestamp);
|
|
238
|
+
topicDecoders.get(topic)?.timing.delete(frame.timestamp);
|
|
205
239
|
const transformation = topicDecoders.get(topic)?.transformations.get(frame.timestamp);
|
|
206
240
|
topicDecoders.get(topic)?.transformations.delete(frame.timestamp);
|
|
207
241
|
const foxgloveMessage = {
|
|
@@ -222,6 +256,7 @@ function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
|
|
|
222
256
|
depthaiTransformation: transformation,
|
|
223
257
|
});
|
|
224
258
|
frame.close();
|
|
259
|
+
decodePendingFrame(topic, topicDecoders, onError);
|
|
225
260
|
},
|
|
226
261
|
error: (error) => {
|
|
227
262
|
if (!hasProducedFrame && isIgnorableInitialDecodeError(error)) {
|
|
@@ -256,12 +291,14 @@ export async function deserializeEncodedFrameH264({ topic, message, topicDecoder
|
|
|
256
291
|
existingDecoderInfo.decoder = decoder;
|
|
257
292
|
existingDecoderInfo.timing.clear();
|
|
258
293
|
existingDecoderInfo.transformations.clear();
|
|
294
|
+
existingDecoderInfo.pendingFrame = undefined;
|
|
259
295
|
}
|
|
260
296
|
else {
|
|
261
297
|
topicDecoders.set(topic, {
|
|
262
298
|
decoder,
|
|
263
299
|
timing: new Map(),
|
|
264
300
|
transformations: new Map(),
|
|
301
|
+
pendingFrame: undefined,
|
|
265
302
|
});
|
|
266
303
|
}
|
|
267
304
|
}
|
|
@@ -270,6 +307,7 @@ export async function deserializeEncodedFrameH264({ topic, message, topicDecoder
|
|
|
270
307
|
ensureDecoderConfigured(existingDecoderInfo.decoder);
|
|
271
308
|
existingDecoderInfo.timing.clear();
|
|
272
309
|
existingDecoderInfo.transformations.clear();
|
|
310
|
+
existingDecoderInfo.pendingFrame = undefined;
|
|
273
311
|
}
|
|
274
312
|
catch (error) {
|
|
275
313
|
closeTopicDecoder(topic, topicDecoders);
|
|
@@ -281,39 +319,18 @@ export async function deserializeEncodedFrameH264({ topic, message, topicDecoder
|
|
|
281
319
|
if (!decoderInfo) {
|
|
282
320
|
return;
|
|
283
321
|
}
|
|
284
|
-
if (decoderInfo.decoder.decodeQueueSize > 60) {
|
|
285
|
-
decoderInfo.decoder.reset();
|
|
286
|
-
try {
|
|
287
|
-
ensureDecoderConfigured(decoderInfo.decoder);
|
|
288
|
-
}
|
|
289
|
-
catch (error) {
|
|
290
|
-
closeTopicDecoder(topic, topicDecoders);
|
|
291
|
-
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.264 decoder after reset."));
|
|
292
|
-
}
|
|
293
|
-
decoderInfo.timing.clear();
|
|
294
|
-
decoderInfo.transformations.clear();
|
|
295
|
-
return;
|
|
296
|
-
}
|
|
297
322
|
const microTimestamp = receiveTime.sec * 1_000_000 + Math.floor(receiveTime.nsec / 1_000);
|
|
298
|
-
decoderInfo.timing.set(microTimestamp, receiveTime);
|
|
299
|
-
decoderInfo.transformations.set(microTimestamp, message.transformation);
|
|
300
323
|
const frame = {
|
|
301
|
-
type: 'key',
|
|
302
324
|
data: message.data,
|
|
303
|
-
timestamp: microTimestamp
|
|
325
|
+
timestamp: microTimestamp,
|
|
326
|
+
receiveTime,
|
|
327
|
+
transformation: message.transformation,
|
|
304
328
|
};
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
decoderInfo.decoder.decode(chunk);
|
|
309
|
-
}
|
|
310
|
-
catch (error) {
|
|
311
|
-
if (isIgnorableInitialDecodeError(error)) {
|
|
312
|
-
closeTopicDecoder(topic, topicDecoders);
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
closeTopicDecoder(topic, topicDecoders);
|
|
316
|
-
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.264 frame."));
|
|
329
|
+
if (decoderInfo.decoder.decodeQueueSize > 0) {
|
|
330
|
+
decoderInfo.pendingFrame = frame;
|
|
331
|
+
return;
|
|
317
332
|
}
|
|
333
|
+
decoderInfo.pendingFrame = frame;
|
|
334
|
+
decodePendingFrame(topic, topicDecoders, onError);
|
|
318
335
|
}
|
|
319
336
|
//# sourceMappingURL=h264.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h264.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"h264.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,14 @@ export type TopicDecoders = Map<string, {
|
|
|
6
6
|
decoder: VideoDecoder;
|
|
7
7
|
timing: Map<number, Timestamp>;
|
|
8
8
|
transformations: Map<number, ImgTransformation | undefined>;
|
|
9
|
+
pendingFrame?: PendingFrame;
|
|
9
10
|
}>;
|
|
11
|
+
type PendingFrame = {
|
|
12
|
+
data: Uint8Array;
|
|
13
|
+
timestamp: number;
|
|
14
|
+
receiveTime: Timestamp;
|
|
15
|
+
transformation: ImgTransformation | undefined;
|
|
16
|
+
};
|
|
10
17
|
type DeserializeEncodedFrameH265Args = {
|
|
11
18
|
topic: string;
|
|
12
19
|
message: EncodedFrame | ImgFrame;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h265.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h265.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"h265.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h265.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AA+CrF,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B,MAAM,EACN;IACE,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC;IAC5D,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CACF,CAAC;AASF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;IACvB,cAAc,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC/C,CAAC;AA4FF,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,EAChD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,GACR,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EjD"}
|
|
@@ -38,6 +38,35 @@ function closeTopicDecoder(topic, topicDecoders) {
|
|
|
38
38
|
closeDecoder(decoderInfo?.decoder);
|
|
39
39
|
decoderInfo?.timing.clear();
|
|
40
40
|
decoderInfo?.transformations.clear();
|
|
41
|
+
if (decoderInfo) {
|
|
42
|
+
decoderInfo.pendingFrame = undefined;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function decodePendingFrame(topic, topicDecoders, onError) {
|
|
46
|
+
const decoderInfo = topicDecoders.get(topic);
|
|
47
|
+
if (!decoderInfo || decoderInfo.decoder.state === "closed" || decoderInfo.decoder.decodeQueueSize > 0) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const pendingFrame = decoderInfo.pendingFrame;
|
|
51
|
+
if (!pendingFrame) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
decoderInfo.pendingFrame = undefined;
|
|
55
|
+
decoderInfo.timing.set(pendingFrame.timestamp, pendingFrame.receiveTime);
|
|
56
|
+
decoderInfo.transformations.set(pendingFrame.timestamp, pendingFrame.transformation);
|
|
57
|
+
try {
|
|
58
|
+
ensureDecoderConfigured(decoderInfo.decoder);
|
|
59
|
+
const chunk = new EncodedVideoChunk({
|
|
60
|
+
type: "key",
|
|
61
|
+
data: pendingFrame.data,
|
|
62
|
+
timestamp: pendingFrame.timestamp,
|
|
63
|
+
});
|
|
64
|
+
decoderInfo.decoder.decode(chunk);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
closeTopicDecoder(topic, topicDecoders);
|
|
68
|
+
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.265 frame."));
|
|
69
|
+
}
|
|
41
70
|
}
|
|
42
71
|
function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
|
|
43
72
|
return new VideoDecoder({
|
|
@@ -47,6 +76,7 @@ function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
|
|
|
47
76
|
const receiveTime = topicDecoders.get(topic)?.timing.get(frame.timestamp)
|
|
48
77
|
??
|
|
49
78
|
fromMicros(frame.timestamp);
|
|
79
|
+
topicDecoders.get(topic)?.timing.delete(frame.timestamp);
|
|
50
80
|
const transformation = topicDecoders.get(topic)?.transformations.get(frame.timestamp);
|
|
51
81
|
topicDecoders.get(topic)?.transformations.delete(frame.timestamp);
|
|
52
82
|
const [encoding, step] = parsePixelFormat(frame.format);
|
|
@@ -68,6 +98,7 @@ function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
|
|
|
68
98
|
depthaiTransformation: transformation,
|
|
69
99
|
});
|
|
70
100
|
frame.close();
|
|
101
|
+
decodePendingFrame(topic, topicDecoders, onError);
|
|
71
102
|
},
|
|
72
103
|
error: (error) => {
|
|
73
104
|
logger.error(error);
|
|
@@ -97,12 +128,14 @@ export async function deserializeEncodedFrameH265({ topic, message, topicDecoder
|
|
|
97
128
|
existingDecoderInfo.decoder = decoder;
|
|
98
129
|
existingDecoderInfo.timing.clear();
|
|
99
130
|
existingDecoderInfo.transformations.clear();
|
|
131
|
+
existingDecoderInfo.pendingFrame = undefined;
|
|
100
132
|
}
|
|
101
133
|
else {
|
|
102
134
|
topicDecoders.set(topic, {
|
|
103
135
|
decoder,
|
|
104
136
|
timing: new Map(),
|
|
105
137
|
transformations: new Map(),
|
|
138
|
+
pendingFrame: undefined,
|
|
106
139
|
});
|
|
107
140
|
}
|
|
108
141
|
}
|
|
@@ -111,6 +144,7 @@ export async function deserializeEncodedFrameH265({ topic, message, topicDecoder
|
|
|
111
144
|
ensureDecoderConfigured(existingDecoderInfo.decoder);
|
|
112
145
|
existingDecoderInfo.timing.clear();
|
|
113
146
|
existingDecoderInfo.transformations.clear();
|
|
147
|
+
existingDecoderInfo.pendingFrame = undefined;
|
|
114
148
|
}
|
|
115
149
|
catch (error) {
|
|
116
150
|
closeTopicDecoder(topic, topicDecoders);
|
|
@@ -122,35 +156,18 @@ export async function deserializeEncodedFrameH265({ topic, message, topicDecoder
|
|
|
122
156
|
if (!decoderInfo) {
|
|
123
157
|
return;
|
|
124
158
|
}
|
|
125
|
-
if (decoderInfo.decoder.decodeQueueSize > 60) {
|
|
126
|
-
decoderInfo.decoder.reset();
|
|
127
|
-
try {
|
|
128
|
-
ensureDecoderConfigured(decoderInfo.decoder);
|
|
129
|
-
}
|
|
130
|
-
catch (error) {
|
|
131
|
-
closeTopicDecoder(topic, topicDecoders);
|
|
132
|
-
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.265 decoder after reset."));
|
|
133
|
-
}
|
|
134
|
-
decoderInfo.timing.clear();
|
|
135
|
-
decoderInfo.transformations.clear();
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
159
|
const microTimestamp = receiveTime.sec * 1_000_000 + Math.floor(receiveTime.nsec / 1_000);
|
|
139
|
-
decoderInfo.timing.set(microTimestamp, receiveTime);
|
|
140
|
-
decoderInfo.transformations.set(microTimestamp, message.transformation);
|
|
141
160
|
const frame = {
|
|
142
|
-
type: 'key',
|
|
143
161
|
data: message.data,
|
|
144
|
-
timestamp: microTimestamp
|
|
162
|
+
timestamp: microTimestamp,
|
|
163
|
+
receiveTime,
|
|
164
|
+
transformation: message.transformation,
|
|
145
165
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
decoderInfo.decoder.decode(chunk);
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
closeTopicDecoder(topic, topicDecoders);
|
|
153
|
-
onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.265 frame."));
|
|
166
|
+
if (decoderInfo.decoder.decodeQueueSize > 0) {
|
|
167
|
+
decoderInfo.pendingFrame = frame;
|
|
168
|
+
return;
|
|
154
169
|
}
|
|
170
|
+
decoderInfo.pendingFrame = frame;
|
|
171
|
+
decodePendingFrame(topic, topicDecoders, onError);
|
|
155
172
|
}
|
|
156
173
|
//# sourceMappingURL=h265.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h265.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h265.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAM9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,OAAO,CAAC,SAAS,CAAC;QAChB,KAAK,EAAE,iBAAiB;QACxB,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAqB;IACpD,IAAI,OAAO,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;QACrC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAiC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,aAA4B;IACpE,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"h265.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h265.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAM9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,OAAO,CAAC,SAAS,CAAC;QAChB,KAAK,EAAE,iBAAiB;QACxB,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAqB;IACpD,IAAI,OAAO,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;QACrC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAiC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,aAA4B;IACpE,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,YAAY,GAAG,SAAS,CAAC;IACvC,CAAC;AACH,CAAC;AA0BD,SAAS,kBAAkB,CACzB,KAAa,EACb,aAA4B,EAC5B,OAA+B;IAE/B,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QACtG,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;IAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,WAAW,CAAC,YAAY,GAAG,SAAS,CAAC;IACrC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACzE,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAErF,IAAI,CAAC;QACH,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC;YAClC,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,SAAS,EAAE,YAAY,CAAC,SAAS;SAClC,CAAC,CAAC;QACH,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACxC,OAAO,CACL,IAAI,mBAAmB,CACrB,KAAK,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CACzE,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,aAAa,EACb,OAAO,GACgB;IACvB,OAAO,IAAI,YAAY,CAAC;QACtB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,MAAM,WAAW,GACf,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;;oBAErD,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9B,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtF,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAElE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExD,MAAM,eAAe,GAAa;gBAChC,SAAS,EAAE,WAAW;gBACtB,QAAQ,EAAE,QAAQ,KAAK,QAAQ;gBAC/B,KAAK,EAAE,KAAK,CAAC,YAAY;gBACzB,MAAM,EAAE,KAAK,CAAC,aAAa;gBAC3B,IAAI,EAAE,MAAM;gBACZ,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI;aAChC,CAAC;YAGF,QAAQ,CAAC;gBACP,KAAK;gBACL,WAAW;gBACX,OAAO,EAAE,eAAe;gBACxB,WAAW,EAAE,kBAAkB,CAAC,eAAe,CAAC;gBAChD,UAAU,EAAE,mBAAmB;gBAC/B,qBAAqB,EAAE,cAAc;aACtB,CAAC,CAAC;YAEnB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,EAChD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,GACyB;IAChC,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC;YACH,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CACL,IAAI,mBAAmB,CACrB,KAAK,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAC9E,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;YACtC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACnC,mBAAmB,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC5C,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE;gBACvB,OAAO;gBACP,MAAM,EAAE,IAAI,GAAG,EAAE;gBACjB,eAAe,EAAE,IAAI,GAAG,EAAE;gBAC1B,YAAY,EAAE,SAAS;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;QAChE,IAAI,CAAC;YACH,uBAAuB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACrD,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACnC,mBAAmB,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC5C,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACxC,OAAO,CACL,IAAI,mBAAmB,CACrB,KAAK,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAChF,CACF,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,cAAc;QACzB,WAAW;QACX,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;IAEF,IAAI,WAAW,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QAC5C,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACjC,OAAO;IACT,CAAC;IAED,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;IACjC,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC"}
|