@luxonis/visualizer-protobuf 3.1.11 → 3.1.13

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 (81) hide show
  1. package/dist/{FoxgloveServer-B98MHUu6.js → FoxgloveServer-Da9kV1cr.js} +1 -1
  2. package/dist/{communicator-Bzkx3Qfr.js → communicator-Dh2aL-rj.js} +1 -1
  3. package/dist/{depth-DlC6A3Te.js → depth-DiD1V2Sg.js} +15 -28
  4. package/dist/{deserialization.worker-CO4m6y8V.js → deserialization.worker-DU2Hs4UP.js} +577 -341
  5. package/dist/{foxglove-protocol-yHdoBNaD.js → foxglove-protocol-BtLMVx24.js} +1 -1
  6. package/dist/{index-CB1fYMKI.js → index--95nXh6E.js} +5 -5
  7. package/dist/{index-Dqm1x8G2.js → index-B5oN0fQm.js} +1 -1
  8. package/dist/{index-BXzWxQD4.js → index-B9-rLgJ9.js} +7 -7
  9. package/dist/{index-DCsDqt-U.js → index-BMp_L7Aa.js} +5 -5
  10. package/dist/{index-Be6EYnox.js → index-B_3PleIH.js} +49 -35
  11. package/dist/{index-BYTk-1GW.js → index-BjiepKHF.js} +5 -5
  12. package/dist/{index-DgUF0rJi.js → index-C45UVGjk.js} +5 -5
  13. package/dist/{index-D_pNGJGQ.js → index-CCq5_y78.js} +5 -5
  14. package/dist/{index-D2sxEb00.js → index-CNjpp5xs.js} +5 -5
  15. package/dist/{index-B-g3aWAt.js → index-CcWunxJv.js} +5 -5
  16. package/dist/{index-BEUjTghZ.js → index-CidrwlEk.js} +5 -5
  17. package/dist/{index-CKE7xLWy.js → index-CqayH0_I.js} +5 -5
  18. package/dist/{index-CDp9Pzg1.js → index-CxKEiKY9.js} +5 -5
  19. package/dist/{index-BlROWu-J.js → index-D686pHc1.js} +6 -6
  20. package/dist/{index-DCsBkCC7.js → index-DWt4Nj5G.js} +5 -5
  21. package/dist/{index-DtnnnQqJ.js → index-DewnJOHY.js} +5 -5
  22. package/dist/{index-D0BOBLGo.js → index-DnhrXuH6.js} +5 -5
  23. package/dist/{index-OIOsl1pr.js → index-DopAEQk2.js} +5 -5
  24. package/dist/{index-D063HnO-.js → index-DzOBiI2h.js} +5 -5
  25. package/dist/{index-Dvd5sByT.js → index-JlGCfxtk.js} +5 -5
  26. package/dist/{index-DXmbPIsN.js → index-X1k93Nku.js} +5 -5
  27. package/dist/index.js +5 -5
  28. package/dist/lib/src/connection/foxglove-connection.d.ts.map +1 -1
  29. package/dist/lib/src/connection/foxglove-connection.js +7 -1
  30. package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
  31. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js +2 -2
  32. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js.map +1 -1
  33. package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js.map +1 -1
  34. package/dist/lib/src/messaging/deserialization/pointcloud/utils.d.ts.map +1 -1
  35. package/dist/lib/src/messaging/deserialization/pointcloud/utils.js.map +1 -1
  36. package/dist/lib/src/messaging/deserialization/video/depth.d.ts.map +1 -1
  37. package/dist/lib/src/messaging/deserialization/video/depth.js +11 -1
  38. package/dist/lib/src/messaging/deserialization/video/depth.js.map +1 -1
  39. package/dist/lib/src/messaging/deserialization/video/h264.d.ts +11 -6
  40. package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
  41. package/dist/lib/src/messaging/deserialization/video/h264.js +115 -166
  42. package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
  43. package/dist/lib/src/messaging/deserialization/video/h265.d.ts +2 -7
  44. package/dist/lib/src/messaging/deserialization/video/h265.d.ts.map +1 -1
  45. package/dist/lib/src/messaging/deserialization/video/h265.js +55 -126
  46. package/dist/lib/src/messaging/deserialization/video/h265.js.map +1 -1
  47. package/dist/lib/src/messaging/deserialization/video/mjpeg.d.ts.map +1 -1
  48. package/dist/lib/src/messaging/deserialization/video/mjpeg.js +7 -8
  49. package/dist/lib/src/messaging/deserialization/video/mjpeg.js.map +1 -1
  50. package/dist/lib/src/messaging/deserialization/video/rgbd-to-pointcloud.d.ts +17 -0
  51. package/dist/lib/src/messaging/deserialization/video/rgbd-to-pointcloud.d.ts.map +1 -0
  52. package/dist/lib/src/messaging/deserialization/video/rgbd-to-pointcloud.js +325 -0
  53. package/dist/lib/src/messaging/deserialization/video/rgbd-to-pointcloud.js.map +1 -0
  54. package/dist/lib/src/messaging/deserialization.worker.d.ts +4 -0
  55. package/dist/lib/src/messaging/deserialization.worker.d.ts.map +1 -1
  56. package/dist/lib/src/messaging/deserialization.worker.js +16 -3
  57. package/dist/lib/src/messaging/deserialization.worker.js.map +1 -1
  58. package/dist/lib/src/messaging/protobuf.d.ts +12 -1
  59. package/dist/lib/src/messaging/protobuf.d.ts.map +1 -1
  60. package/dist/lib/src/messaging/protobuf.js +8 -0
  61. package/dist/lib/src/messaging/protobuf.js.map +1 -1
  62. package/dist/lib/src/messaging/utils.d.ts.map +1 -1
  63. package/dist/lib/src/messaging/utils.js +2 -0
  64. package/dist/lib/src/messaging/utils.js.map +1 -1
  65. package/dist/lib/src/output.css +2 -21
  66. package/dist/lib/src/panels/PointCloudPanel.d.ts.map +1 -1
  67. package/dist/lib/src/panels/PointCloudPanel.js +5 -1
  68. package/dist/lib/src/panels/PointCloudPanel.js.map +1 -1
  69. package/dist/lib/src/utils/metrics-manager.d.ts +1 -0
  70. package/dist/lib/src/utils/metrics-manager.d.ts.map +1 -1
  71. package/dist/lib/src/utils/metrics-manager.js +4 -2
  72. package/dist/lib/src/utils/metrics-manager.js.map +1 -1
  73. package/dist/lib/src/utils/poitcloud-sync.d.ts +4 -3
  74. package/dist/lib/src/utils/poitcloud-sync.d.ts.map +1 -1
  75. package/dist/lib/src/utils/poitcloud-sync.js +3 -1
  76. package/dist/lib/src/utils/poitcloud-sync.js.map +1 -1
  77. package/dist/{pointcloudFromDepth.worker-JLptpLHr.js → pointcloudFromDepth.worker-60RA4Ief.js} +2 -2
  78. package/dist/{protobuf-Be0G3NFz.js → protobuf-OcbVtxg1.js} +406 -218
  79. package/dist/{worker-NFznpx6V.js → worker-Be-hru8f.js} +3 -3
  80. package/dist/{worker-0Q6os6Ck.js → worker-C2MHIq3t.js} +4 -4
  81. package/package.json +2 -2
@@ -6,14 +6,19 @@ 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
+ callback: (event: MessageEvent) => void;
10
+ onError: (error: Error) => void;
10
11
  }>;
11
- type PendingFrame = {
12
+ export type PackedVideoPixelFormat = "RGBX" | "RGBA" | "BGRX" | "BGRA";
13
+ export type VideoPlaneLayout = Required<Pick<PlaneLayout, "offset" | "stride">>;
14
+ export declare function packedToI420(packed: Uint8Array, width: number, height: number, stride: number, format: PackedVideoPixelFormat, cropLeft?: number, cropTop?: number): Uint8Array;
15
+ export declare function convertNv12ToI420(nv12Buffer: Uint8Array, width: number, height: number, yStride: number, uvStride: number, yOffset?: number, uvOffset?: number, cropLeft?: number, cropTop?: number): Uint8Array;
16
+ export declare function repackI420(source: Uint8Array, width: number, height: number, yLayout: VideoPlaneLayout, uLayout: VideoPlaneLayout, vLayout: VideoPlaneLayout, cropLeft?: number, cropTop?: number): Uint8Array;
17
+ export declare function copyVideoFrameToI420(frame: VideoFrame, logPrefix: string): Promise<{
12
18
  data: Uint8Array;
13
- timestamp: number;
14
- receiveTime: Timestamp;
15
- transformation: ImgTransformation | undefined;
16
- };
19
+ width: number;
20
+ height: number;
21
+ }>;
17
22
  type DeserializeEncodedFrameH264Args = {
18
23
  topic: string;
19
24
  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;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;AA4bF,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,CAoCjD"}
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,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CACF,CAAC;AAOF,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;AAqChF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,SAAI,EACZ,OAAO,SAAI,GACV,UAAU,CAqEZ;AACD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAI,EACX,QAAQ,SAAmB,EAC3B,QAAQ,SAAI,EACZ,OAAO,SAAI,GACV,UAAU,CA4BZ;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,SAAI,EACZ,OAAO,SAAI,GACV,UAAU,CAuBZ;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAoE9D;AAyDD,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,CAmGjD"}
@@ -14,11 +14,6 @@ function configureDecoder(decoder) {
14
14
  optimizeForLatency: true,
15
15
  });
16
16
  }
17
- function ensureDecoderConfigured(decoder) {
18
- if (decoder.state === "unconfigured") {
19
- configureDecoder(decoder);
20
- }
21
- }
22
17
  function closeDecoder(decoder) {
23
18
  if (!decoder) {
24
19
  return;
@@ -35,98 +30,15 @@ function closeDecoder(decoder) {
35
30
  }
36
31
  function closeTopicDecoder(topic, topicDecoders) {
37
32
  const decoderInfo = topicDecoders.get(topic);
38
- topicDecoders.delete(topic);
39
33
  closeDecoder(decoderInfo?.decoder);
40
34
  decoderInfo?.timing.clear();
41
35
  decoderInfo?.transformations.clear();
42
- if (decoderInfo) {
43
- decoderInfo.pendingFrame = undefined;
44
- }
45
36
  }
46
37
  function isIgnorableInitialDecodeError(error) {
47
38
  const message = error instanceof Error ? error.message : String(error);
48
39
  return message.includes("A key frame is required after configure() or flush()");
49
40
  }
50
- function isUnconfiguredCodecError(error) {
51
- const message = error instanceof Error ? error.message : String(error);
52
- return /cannot call ["']decode["'] on an unconfigured (?:codec|decoder)/i.test(message);
53
- }
54
- function resetTopicDecoder({ topic, topicDecoders, callback, onError, }) {
55
- const existingDecoderInfo = topicDecoders.get(topic);
56
- closeDecoder(existingDecoderInfo?.decoder);
57
- const decoder = createVideoDecoder({ topic, callback, topicDecoders, onError });
58
- try {
59
- configureDecoder(decoder);
60
- }
61
- catch (error) {
62
- closeDecoder(decoder);
63
- closeTopicDecoder(topic, topicDecoders);
64
- onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to configure H.264 decoder."));
65
- return undefined;
66
- }
67
- if (existingDecoderInfo) {
68
- existingDecoderInfo.decoder = decoder;
69
- existingDecoderInfo.timing.clear();
70
- existingDecoderInfo.transformations.clear();
71
- existingDecoderInfo.pendingFrame = undefined;
72
- }
73
- else {
74
- topicDecoders.set(topic, {
75
- decoder,
76
- timing: new Map(),
77
- transformations: new Map(),
78
- pendingFrame: undefined,
79
- });
80
- }
81
- return decoder;
82
- }
83
- function decodePendingFrame(topic, topicDecoders, callback, onError) {
84
- const decoderInfo = topicDecoders.get(topic);
85
- if (!decoderInfo) {
86
- return;
87
- }
88
- const decoder = decoderInfo.decoder;
89
- if (decoder.state === "closed" || decoder.decodeQueueSize > 0) {
90
- return;
91
- }
92
- const pendingFrame = decoderInfo.pendingFrame;
93
- if (!pendingFrame) {
94
- return;
95
- }
96
- decoderInfo.pendingFrame = undefined;
97
- decoderInfo.timing.set(pendingFrame.timestamp, pendingFrame.receiveTime);
98
- decoderInfo.transformations.set(pendingFrame.timestamp, pendingFrame.transformation);
99
- try {
100
- ensureDecoderConfigured(decoder);
101
- if (decoder.state !== "configured" || topicDecoders.get(topic)?.decoder !== decoder) {
102
- closeTopicDecoder(topic, topicDecoders);
103
- return;
104
- }
105
- const chunk = new EncodedVideoChunk({
106
- type: "key",
107
- data: pendingFrame.data,
108
- timestamp: pendingFrame.timestamp,
109
- });
110
- decoder.decode(chunk);
111
- }
112
- catch (error) {
113
- if (isUnconfiguredCodecError(error)) {
114
- decoderInfo.pendingFrame = pendingFrame;
115
- const replacementDecoder = resetTopicDecoder({ topic, topicDecoders, callback, onError });
116
- if (replacementDecoder?.state === "configured") {
117
- decodePendingFrame(topic, topicDecoders, callback, onError);
118
- }
119
- return;
120
- }
121
- if (isIgnorableInitialDecodeError(error)) {
122
- closeTopicDecoder(topic, topicDecoders);
123
- return;
124
- }
125
- closeTopicDecoder(topic, topicDecoders);
126
- onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.264 frame."));
127
- }
128
- }
129
- function packedToI420(packed, width, height, stride, format, cropLeft = 0, cropTop = 0) {
41
+ export function packedToI420(packed, width, height, stride, format, cropLeft = 0, cropTop = 0) {
130
42
  if ((width & 1) !== 0 || (height & 1) !== 0) {
131
43
  throw new Error("I420 requires even width and height.");
132
44
  }
@@ -184,7 +96,7 @@ function packedToI420(packed, width, height, stride, format, cropLeft = 0, cropT
184
96
  }
185
97
  return out;
186
98
  }
187
- function convertNv12ToI420(nv12Buffer, width, height, yStride, uvStride, yOffset = 0, uvOffset = yStride * height, cropLeft = 0, cropTop = 0) {
99
+ export function convertNv12ToI420(nv12Buffer, width, height, yStride, uvStride, yOffset = 0, uvOffset = yStride * height, cropLeft = 0, cropTop = 0) {
188
100
  const ySize = width * height;
189
101
  const uvSize = ySize / 4;
190
102
  const i420Buffer = new Uint8Array(ySize + 2 * uvSize);
@@ -209,7 +121,7 @@ function convertNv12ToI420(nv12Buffer, width, height, yStride, uvStride, yOffset
209
121
  }
210
122
  return i420Buffer;
211
123
  }
212
- function repackI420(source, width, height, yLayout, uLayout, vLayout, cropLeft = 0, cropTop = 0) {
124
+ export function repackI420(source, width, height, yLayout, uLayout, vLayout, cropLeft = 0, cropTop = 0) {
213
125
  const ySize = width * height;
214
126
  const uvWidth = width >> 1;
215
127
  const uvHeight = height >> 1;
@@ -230,67 +142,61 @@ function repackI420(source, width, height, yLayout, uLayout, vLayout, cropLeft =
230
142
  }
231
143
  return out;
232
144
  }
233
- function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
145
+ export async function copyVideoFrameToI420(frame, logPrefix) {
146
+ const visibleRect = frame.visibleRect;
147
+ const frameWidth = visibleRect?.width ?? frame.codedWidth;
148
+ const frameHeight = visibleRect?.height ?? frame.codedHeight;
149
+ const cropLeft = visibleRect?.x ?? 0;
150
+ const cropTop = visibleRect?.y ?? 0;
151
+ let finalBuffer = new Uint8Array(frame.allocationSize());
152
+ logger.warn(`${logPrefix} decoder output format: ${frame.format}, coded=${frame.codedWidth}x${frame.codedHeight}, display=${frame.displayWidth}x${frame.displayHeight}, visible=${frameWidth}x${frameHeight}@${cropLeft},${cropTop}`);
153
+ switch (frame.format) {
154
+ case "I420": {
155
+ const i420Buffer = new Uint8Array(frame.allocationSize());
156
+ const layouts = await frame.copyTo(i420Buffer);
157
+ const [yLayout, uLayout, vLayout] = layouts;
158
+ finalBuffer =
159
+ yLayout != undefined && uLayout != undefined && vLayout != undefined
160
+ ? repackI420(i420Buffer, frameWidth, frameHeight, yLayout, uLayout, vLayout, cropLeft, cropTop)
161
+ : i420Buffer;
162
+ break;
163
+ }
164
+ case "NV12": {
165
+ const nv12Buffer = new Uint8Array(frame.allocationSize());
166
+ const layouts = await frame.copyTo(nv12Buffer);
167
+ const [yLayout, uvLayout] = layouts;
168
+ finalBuffer = convertNv12ToI420(nv12Buffer, frameWidth, frameHeight, yLayout?.stride ?? frame.codedWidth, uvLayout?.stride ?? frame.codedWidth, yLayout?.offset ?? 0, uvLayout?.offset ?? (yLayout?.stride ?? frame.codedWidth) * frame.codedHeight, cropLeft, cropTop);
169
+ break;
170
+ }
171
+ case "RGBX":
172
+ case "RGBA":
173
+ case "BGRX":
174
+ case "BGRA": {
175
+ const packedBuffer = new Uint8Array(frame.allocationSize());
176
+ const [layout] = await frame.copyTo(packedBuffer);
177
+ logger.warn(`${logPrefix} decoder received ${frame.format} frame.`);
178
+ finalBuffer = packedToI420(packedBuffer, frameWidth, frameHeight, layout?.stride ?? frame.codedWidth * 4, frame.format, cropLeft, cropTop);
179
+ break;
180
+ }
181
+ default:
182
+ logger.warn(`${logPrefix} decoder received unexpected frame format:`, frame.format);
183
+ break;
184
+ }
185
+ return {
186
+ data: finalBuffer,
187
+ width: frameWidth,
188
+ height: frameHeight,
189
+ };
190
+ }
191
+ function createVideoDecoder({ topic, topicDecoders, }) {
234
192
  let hasProducedFrame = false;
235
- let decoder;
236
- decoder = new VideoDecoder({
193
+ return new VideoDecoder({
237
194
  output: async (frame) => {
238
- if (topicDecoders.get(topic)?.decoder !== decoder) {
239
- frame.close();
240
- return;
241
- }
242
195
  hasProducedFrame = true;
243
- const visibleRect = frame.visibleRect;
244
- const frameWidth = visibleRect?.width ?? frame.codedWidth;
245
- const frameHeight = visibleRect?.height ?? frame.codedHeight;
246
- const cropLeft = visibleRect?.x ?? 0;
247
- const cropTop = visibleRect?.y ?? 0;
248
- let finalBuffer = new Uint8Array(frame.allocationSize());
249
- logger.warn(`H264 decoder output format: ${frame.format}, coded=${frame.codedWidth}x${frame.codedHeight}, display=${frame.displayWidth}x${frame.displayHeight}, visible=${frameWidth}x${frameHeight}@${cropLeft},${cropTop}`);
250
- switch (frame.format) {
251
- case "I420": {
252
- const i420Buffer = new Uint8Array(frame.allocationSize());
253
- const layouts = await frame.copyTo(i420Buffer);
254
- const [yLayout, uLayout, vLayout] = layouts;
255
- finalBuffer =
256
- yLayout != undefined && uLayout != undefined && vLayout != undefined
257
- ? repackI420(i420Buffer, frameWidth, frameHeight, yLayout, uLayout, vLayout, cropLeft, cropTop)
258
- : i420Buffer;
259
- break;
260
- }
261
- case "NV12": {
262
- const nv12Buffer = new Uint8Array(frame.allocationSize());
263
- const layouts = await frame.copyTo(nv12Buffer);
264
- const [yLayout, uvLayout] = layouts;
265
- finalBuffer = convertNv12ToI420(nv12Buffer, frameWidth, frameHeight, yLayout?.stride ?? frame.codedWidth, uvLayout?.stride ?? frame.codedWidth, yLayout?.offset ?? 0, uvLayout?.offset ?? (yLayout?.stride ?? frame.codedWidth) * frame.codedHeight, cropLeft, cropTop);
266
- break;
267
- }
268
- case "RGBX":
269
- case "RGBA":
270
- case "BGRX":
271
- case "BGRA": {
272
- const packedBuffer = new Uint8Array(frame.allocationSize());
273
- const [layout] = await frame.copyTo(packedBuffer);
274
- logger.warn(`H264 decoder received ${frame.format} frame.`);
275
- finalBuffer = packedToI420(packedBuffer, frameWidth, frameHeight, layout?.stride ?? frame.codedWidth * 4, frame.format, cropLeft, cropTop);
276
- break;
277
- }
278
- default:
279
- // Unsupported format, already warned below
280
- break;
281
- }
282
- if (frame.format !== "I420" &&
283
- frame.format !== "NV12" &&
284
- frame.format !== "RGBX" &&
285
- frame.format !== "RGBA" &&
286
- frame.format !== "BGRX" &&
287
- frame.format !== "BGRA") {
288
- logger.warn("H264 decoder received unexpected frame format:", frame.format);
289
- }
196
+ const { data: finalBuffer, width: frameWidth, height: frameHeight } = await copyVideoFrameToI420(frame, "H264");
290
197
  const receiveTime = topicDecoders.get(topic)?.timing.get(frame.timestamp)
291
198
  ??
292
199
  fromMicros(frame.timestamp);
293
- topicDecoders.get(topic)?.timing.delete(frame.timestamp);
294
200
  const transformation = topicDecoders.get(topic)?.transformations.get(frame.timestamp);
295
201
  topicDecoders.get(topic)?.transformations.delete(frame.timestamp);
296
202
  const foxgloveMessage = {
@@ -302,7 +208,7 @@ function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
302
208
  encoding: "yuv420p",
303
209
  step: frameWidth
304
210
  };
305
- callback({
211
+ topicDecoders.get(topic)?.callback({
306
212
  topic,
307
213
  receiveTime,
308
214
  message: foxgloveMessage,
@@ -311,14 +217,8 @@ function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
311
217
  depthaiTransformation: transformation,
312
218
  });
313
219
  frame.close();
314
- if (topicDecoders.get(topic)?.decoder === decoder) {
315
- decodePendingFrame(topic, topicDecoders, callback, onError);
316
- }
317
220
  },
318
221
  error: (error) => {
319
- if (topicDecoders.get(topic)?.decoder !== decoder) {
320
- return;
321
- }
322
222
  if (!hasProducedFrame && isIgnorableInitialDecodeError(error)) {
323
223
  logger.warn(`Ignoring initial H264 decoder error for topic ${topic}: ${error.message}`);
324
224
  closeTopicDecoder(topic, topicDecoders);
@@ -326,10 +226,9 @@ function createVideoDecoder({ topic, callback, topicDecoders, onError, }) {
326
226
  }
327
227
  logger.error(error);
328
228
  closeTopicDecoder(topic, topicDecoders);
329
- onError(new DecoderRuntimeError(topic, error.message));
229
+ topicDecoders.get(topic)?.onError(new DecoderRuntimeError(topic, error.message));
330
230
  },
331
231
  });
332
- return decoder;
333
232
  }
334
233
  export async function deserializeEncodedFrameH264({ topic, message, topicDecoders, callback, onError, }) {
335
234
  const { receiveTime } = parseMessage(message);
@@ -338,9 +237,44 @@ export async function deserializeEncodedFrameH264({ topic, message, topicDecoder
338
237
  return;
339
238
  }
340
239
  const existingDecoderInfo = topicDecoders.get(topic);
341
- if (!existingDecoderInfo || existingDecoderInfo.decoder.state !== "configured") {
342
- const decoder = resetTopicDecoder({ topic, callback, topicDecoders, onError });
343
- if (!decoder) {
240
+ if (!existingDecoderInfo || existingDecoderInfo.decoder.state === "closed") {
241
+ const decoder = createVideoDecoder({ topic, topicDecoders });
242
+ try {
243
+ configureDecoder(decoder);
244
+ }
245
+ catch (error) {
246
+ closeDecoder(decoder);
247
+ onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to configure H.264 decoder."));
248
+ return;
249
+ }
250
+ if (existingDecoderInfo) {
251
+ existingDecoderInfo.decoder = decoder;
252
+ existingDecoderInfo.timing.clear();
253
+ existingDecoderInfo.transformations.clear();
254
+ existingDecoderInfo.callback = callback;
255
+ existingDecoderInfo.onError = onError;
256
+ }
257
+ else {
258
+ topicDecoders.set(topic, {
259
+ decoder,
260
+ timing: new Map(),
261
+ transformations: new Map(),
262
+ callback,
263
+ onError,
264
+ });
265
+ }
266
+ }
267
+ else if (existingDecoderInfo.decoder.state === "unconfigured") {
268
+ try {
269
+ configureDecoder(existingDecoderInfo.decoder);
270
+ existingDecoderInfo.timing.clear();
271
+ existingDecoderInfo.transformations.clear();
272
+ existingDecoderInfo.callback = callback;
273
+ existingDecoderInfo.onError = onError;
274
+ }
275
+ catch (error) {
276
+ closeTopicDecoder(topic, topicDecoders);
277
+ onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.264 decoder."));
344
278
  return;
345
279
  }
346
280
  }
@@ -348,18 +282,33 @@ export async function deserializeEncodedFrameH264({ topic, message, topicDecoder
348
282
  if (!decoderInfo) {
349
283
  return;
350
284
  }
285
+ decoderInfo.callback = callback;
286
+ decoderInfo.onError = onError;
287
+ if (decoderInfo.decoder.decodeQueueSize > 60) {
288
+ decoderInfo.decoder.reset();
289
+ decoderInfo.timing.clear();
290
+ decoderInfo.transformations.clear();
291
+ return;
292
+ }
351
293
  const microTimestamp = receiveTime.sec * 1_000_000 + Math.floor(receiveTime.nsec / 1_000);
294
+ decoderInfo.timing.set(microTimestamp, receiveTime);
295
+ decoderInfo.transformations.set(microTimestamp, message.transformation);
352
296
  const frame = {
297
+ type: 'key',
353
298
  data: message.data,
354
- timestamp: microTimestamp,
355
- receiveTime,
356
- transformation: message.transformation,
299
+ timestamp: microTimestamp
357
300
  };
358
- if (decoderInfo.decoder.decodeQueueSize > 0) {
359
- decoderInfo.pendingFrame = frame;
360
- return;
301
+ try {
302
+ const chunk = new EncodedVideoChunk(frame);
303
+ decoderInfo.decoder.decode(chunk);
304
+ }
305
+ catch (error) {
306
+ if (isIgnorableInitialDecodeError(error)) {
307
+ closeTopicDecoder(topic, topicDecoders);
308
+ return;
309
+ }
310
+ closeTopicDecoder(topic, topicDecoders);
311
+ onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to decode H.264 frame."));
361
312
  }
362
- decoderInfo.pendingFrame = frame;
363
- decodePendingFrame(topic, topicDecoders, callback, onError);
364
313
  }
365
314
  //# 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,14 +6,9 @@ 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
+ callback: (event: MessageEvent) => void;
10
+ onError: (error: Error) => void;
10
11
  }>;
11
- type PendingFrame = {
12
- data: Uint8Array;
13
- timestamp: number;
14
- receiveTime: Timestamp;
15
- transformation: ImgTransformation | undefined;
16
- };
17
12
  type DeserializeEncodedFrameH265Args = {
18
13
  topic: string;
19
14
  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;AAgDrF,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;AA0KF,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,CAoCjD"}
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;AAgCrF,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,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CACF,CAAC;AAoDF,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,CA+EjD"}