edge-impulse-linux 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/build/cli/linux/linux.js +6 -1
  2. package/build/cli/linux/linux.js.map +1 -1
  3. package/build/cli/linux/runner-downloader.js +14 -0
  4. package/build/cli/linux/runner-downloader.js.map +1 -1
  5. package/build/cli/linux/runner.js +32 -6
  6. package/build/cli/linux/runner.js.map +1 -1
  7. package/build/cli/linux/webserver/public/inference-server.js +29 -2
  8. package/build/cli/linux/webserver/public/inference-server.js.map +1 -1
  9. package/build/cli/linux/webserver/public/webserver.js +58 -6
  10. package/build/cli/linux/webserver/public/webserver.js.map +1 -1
  11. package/build/cli/linux/webserver/views/inference-server-view.d.ts +1 -1
  12. package/build/cli/linux/webserver/views/inference-server-view.js +1 -1
  13. package/build/cli/linux/webserver/views/inference-server-view.js.map +1 -1
  14. package/build/library/argv-split.d.ts +1 -0
  15. package/build/library/argv-split.js +184 -0
  16. package/build/library/argv-split.js.map +1 -0
  17. package/build/library/classifier/linux-impulse-runner.d.ts +35 -2
  18. package/build/library/classifier/linux-impulse-runner.js +76 -7
  19. package/build/library/classifier/linux-impulse-runner.js.map +1 -1
  20. package/build/library/index.d.ts +2 -1
  21. package/build/library/index.js +2 -1
  22. package/build/library/index.js.map +1 -1
  23. package/build/library/moving-average-filter.d.ts +10 -0
  24. package/build/library/sensors/gstreamer.d.ts +19 -2
  25. package/build/library/sensors/gstreamer.js +328 -76
  26. package/build/library/sensors/gstreamer.js.map +1 -1
  27. package/build/sdk/studio/sdk/api/organizationDataApi.d.ts +14 -0
  28. package/build/sdk/studio/sdk/api/organizationDataApi.js +85 -0
  29. package/build/sdk/studio/sdk/api/organizationDataApi.js.map +1 -1
  30. package/build/sdk/studio/sdk/api/rawDataApi.d.ts +0 -2
  31. package/build/sdk/studio/sdk/api/rawDataApi.js +0 -4
  32. package/build/sdk/studio/sdk/api/rawDataApi.js.map +1 -1
  33. package/build/sdk/studio/sdk/model/blockType.d.ts +13 -0
  34. package/build/sdk/studio/sdk/model/blockType.js +16 -0
  35. package/build/sdk/studio/sdk/model/blockType.js.map +1 -0
  36. package/build/sdk/studio/sdk/model/dSPBlock.d.ts +2 -0
  37. package/build/sdk/studio/sdk/model/dSPBlock.js +5 -0
  38. package/build/sdk/studio/sdk/model/dSPBlock.js.map +1 -1
  39. package/build/sdk/studio/sdk/model/dSPGroupItem.d.ts +1 -1
  40. package/build/sdk/studio/sdk/model/dSPGroupItem.js +1 -1
  41. package/build/sdk/studio/sdk/model/dSPGroupItem.js.map +1 -1
  42. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.d.ts +1 -1
  43. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js +1 -1
  44. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js.map +1 -1
  45. package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.d.ts +1 -0
  46. package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.js +5 -0
  47. package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.js.map +1 -1
  48. package/build/sdk/studio/sdk/model/inputBlock.d.ts +2 -0
  49. package/build/sdk/studio/sdk/model/inputBlock.js +5 -0
  50. package/build/sdk/studio/sdk/model/inputBlock.js.map +1 -1
  51. package/build/sdk/studio/sdk/model/kerasResponse.d.ts +4 -0
  52. package/build/sdk/studio/sdk/model/kerasResponse.js +5 -0
  53. package/build/sdk/studio/sdk/model/kerasResponse.js.map +1 -1
  54. package/build/sdk/studio/sdk/model/kerasResponseAllOf.d.ts +4 -0
  55. package/build/sdk/studio/sdk/model/kerasResponseAllOf.js +5 -0
  56. package/build/sdk/studio/sdk/model/kerasResponseAllOf.js.map +1 -1
  57. package/build/sdk/studio/sdk/model/learnBlock.d.ts +2 -0
  58. package/build/sdk/studio/sdk/model/learnBlock.js +5 -0
  59. package/build/sdk/studio/sdk/model/learnBlock.js.map +1 -1
  60. package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.d.ts +4 -12
  61. package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.js +5 -15
  62. package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.js.map +1 -1
  63. package/build/sdk/studio/sdk/model/models.d.ts +4 -0
  64. package/build/sdk/studio/sdk/model/models.js +14 -1
  65. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  66. package/build/sdk/studio/sdk/model/{listOrganizationBucketsResponseAllOfBuckets.d.ts → previewDefaultFilesInFolderRequest.d.ts} +7 -22
  67. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderRequest.js +38 -0
  68. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderRequest.js.map +1 -0
  69. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.d.ts +44 -0
  70. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.js +53 -0
  71. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.js.map +1 -0
  72. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.d.ts +36 -0
  73. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.js +43 -0
  74. package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.js.map +1 -0
  75. package/build/sdk/studio/sdk/model/setKerasParameterRequest.d.ts +4 -0
  76. package/build/sdk/studio/sdk/model/setKerasParameterRequest.js +5 -0
  77. package/build/sdk/studio/sdk/model/setKerasParameterRequest.js.map +1 -1
  78. package/build/sdk/studio/sdk/model/transferLearningModel.d.ts +2 -3
  79. package/build/sdk/studio/sdk/model/transferLearningModel.js +2 -3
  80. package/build/sdk/studio/sdk/model/transferLearningModel.js.map +1 -1
  81. package/build/sdk/studio/sdk/model/updateProjectRequest.d.ts +4 -0
  82. package/build/sdk/studio/sdk/model/updateProjectRequest.js +5 -0
  83. package/build/sdk/studio/sdk/model/updateProjectRequest.js.map +1 -1
  84. package/build/shared/viewmodels/init.d.ts +1 -0
  85. package/build/test/gstreamer.test.js +1847 -16
  86. package/build/test/gstreamer.test.js.map +1 -1
  87. package/cli/linux/linux.ts +6 -1
  88. package/cli/linux/runner-downloader.ts +18 -0
  89. package/cli/linux/runner.ts +38 -7
  90. package/cli/linux/webserver/public/inference-server.js +33 -2
  91. package/cli/linux/webserver/public/webserver.js +67 -7
  92. package/cli/linux/webserver/views/inference-server-view.ts +2 -2
  93. package/examples/js/classify-camera.js +11 -3
  94. package/package.json +1 -1
  95. package/test/gstreamer.test.ts +1877 -19
  96. package/build/cli/linux/webserver/escape-html-template-tag/escape.d.ts +0 -12
  97. package/build/cli/linux/webserver/escape-html-template-tag/escape.js +0 -59
  98. package/build/cli/linux/webserver/escape-html-template-tag/escape.js.map +0 -1
  99. package/build/cli/linux/webserver/escape-html-template-tag/index.d.ts +0 -7
  100. package/build/cli/linux/webserver/escape-html-template-tag/index.js +0 -24
  101. package/build/cli/linux/webserver/escape-html-template-tag/index.js.map +0 -1
  102. package/build/debug.d.ts +0 -1
  103. package/build/debug.js +0 -26
  104. package/build/debug.js.map +0 -1
  105. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.d.ts +0 -55
  106. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.js +0 -158
  107. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.js.map +0 -1
  108. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.d.ts +0 -55
  109. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.js +0 -158
  110. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.js.map +0 -1
  111. package/build/sdk/studio/sdk/model/listOrganizationBucketsResponseAllOfBuckets.js +0 -62
  112. package/build/sdk/studio/sdk/model/listOrganizationBucketsResponseAllOfBuckets.js.map +0 -1
@@ -12,9 +12,11 @@ const os_1 = __importDefault(require("os"));
12
12
  const spawn_helper_1 = require("./spawn-helper");
13
13
  const util_1 = __importDefault(require("util"));
14
14
  const crypto_1 = __importDefault(require("crypto"));
15
+ const argv_split_1 = require("../argv-split");
15
16
  const PREFIX = '\x1b[34m[GST]\x1b[0m';
17
+ const CUSTOM_GST_LAUNCH_COMMAND = 'custom-gst-launch-command';
16
18
  class GStreamer extends tsee_1.EventEmitter {
17
- constructor(verbose, spawnHelperOverride) {
19
+ constructor(verbose, options) {
18
20
  super();
19
21
  this._handledFiles = {};
20
22
  this._lastHash = '';
@@ -23,7 +25,8 @@ class GStreamer extends tsee_1.EventEmitter {
23
25
  this._isStarted = false;
24
26
  this._isRestarting = false;
25
27
  this._verbose = verbose;
26
- this._spawnHelper = spawnHelperOverride || spawn_helper_1.spawnHelper;
28
+ this._customLaunchCommand = options === null || options === void 0 ? void 0 : options.customLaunchCommand;
29
+ this._spawnHelper = (options === null || options === void 0 ? void 0 : options.spawnHelperOverride) || spawn_helper_1.spawnHelper;
27
30
  }
28
31
  async init() {
29
32
  try {
@@ -58,6 +61,9 @@ class GStreamer extends tsee_1.EventEmitter {
58
61
  }
59
62
  }
60
63
  async listDevices() {
64
+ if (this._customLaunchCommand) {
65
+ return [CUSTOM_GST_LAUNCH_COMMAND];
66
+ }
61
67
  let devices = await this.getAllDevices();
62
68
  if (this._verbose) {
63
69
  console.log(PREFIX, 'Found devices:', JSON.stringify(devices, null, 2));
@@ -97,85 +103,15 @@ class GStreamer extends tsee_1.EventEmitter {
97
103
  console.log(PREFIX, 'Detected RZ/G2L target, initializing camera OK');
98
104
  }
99
105
  }
100
- // now we need to determine the resolution... we want something as close as possible to dimensions.widthx480
101
- let caps = device.caps.filter(c => {
102
- return c.width >= dimensions.width && c.height >= dimensions.height;
103
- }).sort((a, b) => {
104
- let diffA = Math.abs(a.width - dimensions.width) + Math.abs(a.height - dimensions.height);
105
- let diffB = Math.abs(b.width - dimensions.width) + Math.abs(b.height - dimensions.height);
106
- return diffA - diffB;
107
- });
108
- // if the device supports video/x-raw, only list those types
109
- const videoCaps = caps.filter(x => x.type === 'video/x-raw');
110
- if (videoCaps.length > 0) {
111
- caps = videoCaps;
112
- }
113
- // choose the top of the list
114
- let cap = caps[0];
115
- if (!cap) {
116
- cap = {
117
- type: 'video/x-raw',
118
- width: dimensions.width,
119
- height: dimensions.height,
120
- framerate: 30,
121
- };
122
- }
123
- let videoSource = ['v4l2src', 'device=' + device.id];
124
- if (this._mode === 'rpi-bullseye') {
125
- // Rpi camera
126
- if (!device.id) {
127
- videoSource = ['libcamerasrc'];
128
- }
129
- else {
130
- videoSource = ['uvch264src', 'device=' + device.id];
131
- }
132
- }
133
- let invokeProcess;
134
- let args;
135
- if (cap.type === 'video/x-raw') {
136
- args = videoSource.concat([
137
- `!`,
138
- `video/x-raw,width=${cap.width},height=${cap.height}`,
139
- `!`,
140
- `videoconvert`,
141
- `!`,
142
- `jpegenc`,
143
- `!`,
144
- `multifilesink`,
145
- `location=test%05d.jpg`
146
- ]);
147
- invokeProcess = 'spawn';
148
- }
149
- else if (cap.type === 'image/jpeg') {
150
- args = videoSource.concat([
151
- `!`,
152
- `image/jpeg,width=${cap.width},height=${cap.height}`,
153
- `!`,
154
- `multifilesink`,
155
- `location=test%05d.jpg`
156
- ]);
157
- invokeProcess = 'spawn';
158
- }
159
- else if (cap.type === 'nvarguscamerasrc') {
160
- args = [
161
- `nvarguscamerasrc ! "video/x-raw(memory:NVMM),width=${cap.width},height=${cap.height}" ! ` +
162
- `nvvidconv flip-method=0 ! video/x-raw,width=${cap.width},height=${cap.height} ! nvvidconv ! ` +
163
- `jpegenc ! multifilesink location=test%05d.jpg`
164
- ];
165
- // no idea why... but if we throw this thru `spawn` this yields an invalid pipeline...
166
- invokeProcess = 'exec';
167
- }
168
- else {
169
- throw new Error('Invalid cap type ' + cap.type);
170
- }
106
+ const { invokeProcess, command, args } = this.getGstreamerLaunchCommand(device, dimensions);
171
107
  if (this._verbose) {
172
- console.log(PREFIX, 'Starting gst-launch-1.0 with', args);
108
+ console.log(PREFIX, `Starting ${command} with`, args);
173
109
  }
174
110
  if (invokeProcess === 'spawn') {
175
- this._captureProcess = child_process_1.spawn('gst-launch-1.0', args, { env: process.env, cwd: this._tempDir });
111
+ this._captureProcess = child_process_1.spawn(command, args, { env: process.env, cwd: this._tempDir });
176
112
  }
177
113
  else if (invokeProcess === 'exec') {
178
- this._captureProcess = child_process_1.exec('gst-launch-1.0 ' + args.join(' '), { env: process.env, cwd: this._tempDir });
114
+ this._captureProcess = child_process_1.exec(command + ' ' + args.join(' '), { env: process.env, cwd: this._tempDir });
179
115
  }
180
116
  else {
181
117
  throw new Error('Invalid value for invokeProcess');
@@ -293,6 +229,117 @@ class GStreamer extends tsee_1.EventEmitter {
293
229
  p.catch(() => this.stop());
294
230
  return p;
295
231
  }
232
+ getGstreamerLaunchCommand(device, dimensions) {
233
+ if (device.id === CUSTOM_GST_LAUNCH_COMMAND) {
234
+ if (!this._customLaunchCommand) {
235
+ throw new Error('_customLaunchCommand is null');
236
+ }
237
+ let customArgs = argv_split_1.split(this._customLaunchCommand);
238
+ customArgs = customArgs.concat([
239
+ `!`,
240
+ `multifilesink`,
241
+ `location=test%05d.jpg`
242
+ ]);
243
+ return {
244
+ invokeProcess: 'spawn',
245
+ command: 'gst-launch-1.0',
246
+ args: customArgs,
247
+ };
248
+ }
249
+ // now we need to determine the resolution... we want something as close as possible to dimensions.widthx480
250
+ let caps = device.caps.filter(c => {
251
+ return c.width >= dimensions.width && c.height >= dimensions.height;
252
+ }).sort((a, b) => {
253
+ let diffA = Math.abs(a.width - dimensions.width) + Math.abs(a.height - dimensions.height);
254
+ let diffB = Math.abs(b.width - dimensions.width) + Math.abs(b.height - dimensions.height);
255
+ return diffA - diffB;
256
+ });
257
+ // if the device supports video/x-raw, only list those types
258
+ const videoCaps = caps.filter(x => x.type === 'video/x-raw');
259
+ if (videoCaps.length > 0) {
260
+ caps = videoCaps;
261
+ }
262
+ // choose the top of the list
263
+ let cap = caps[0];
264
+ if (!cap) {
265
+ cap = {
266
+ type: 'video/x-raw',
267
+ width: dimensions.width,
268
+ height: dimensions.height,
269
+ framerate: 30,
270
+ };
271
+ }
272
+ let videoSource = ['v4l2src', 'device=' + device.id];
273
+ if (this._mode === 'rpi-bullseye') {
274
+ // Rpi camera
275
+ if (!device.id) {
276
+ videoSource = ['libcamerasrc'];
277
+ }
278
+ else {
279
+ videoSource = ['uvch264src', 'device=' + device.id];
280
+ }
281
+ }
282
+ if (device.id === 'pylonsrc') {
283
+ videoSource = ['pylonsrc'];
284
+ }
285
+ let invokeProcess;
286
+ let args;
287
+ if (cap.type === 'video/x-raw') {
288
+ args = videoSource.concat([
289
+ `!`,
290
+ `video/x-raw,width=${cap.width},height=${cap.height}`,
291
+ `!`,
292
+ `videoconvert`,
293
+ `!`,
294
+ `jpegenc`,
295
+ `!`,
296
+ `multifilesink`,
297
+ `location=test%05d.jpg`
298
+ ]);
299
+ invokeProcess = 'spawn';
300
+ }
301
+ else if (cap.type === 'image/jpeg') {
302
+ args = videoSource.concat([
303
+ `!`,
304
+ `image/jpeg,width=${cap.width},height=${cap.height}`,
305
+ `!`,
306
+ `multifilesink`,
307
+ `location=test%05d.jpg`
308
+ ]);
309
+ invokeProcess = 'spawn';
310
+ }
311
+ else if (cap.type === 'pylonsrc') {
312
+ args = videoSource.concat([
313
+ `!`,
314
+ `video/x-raw,width=${cap.width},height=${cap.height}`,
315
+ `!`,
316
+ `videoconvert`,
317
+ `!`,
318
+ `jpegenc`,
319
+ `!`,
320
+ `multifilesink`,
321
+ `location=test%05d.jpg`
322
+ ]);
323
+ invokeProcess = 'spawn';
324
+ }
325
+ else if (cap.type === 'nvarguscamerasrc') {
326
+ args = [
327
+ `nvarguscamerasrc ! "video/x-raw(memory:NVMM),width=${cap.width},height=${cap.height}" ! ` +
328
+ `nvvidconv flip-method=0 ! video/x-raw,width=${cap.width},height=${cap.height} ! nvvidconv ! ` +
329
+ `jpegenc ! multifilesink location=test%05d.jpg`
330
+ ];
331
+ // no idea why... but if we throw this thru `spawn` this yields an invalid pipeline...
332
+ invokeProcess = 'exec';
333
+ }
334
+ else {
335
+ throw new Error('Invalid cap type ' + cap.type);
336
+ }
337
+ return {
338
+ invokeProcess,
339
+ command: 'gst-launch-1.0',
340
+ args,
341
+ };
342
+ }
296
343
  async stop() {
297
344
  if (this._keepAliveTimeout) {
298
345
  clearTimeout(this._keepAliveTimeout);
@@ -335,6 +382,28 @@ class GStreamer extends tsee_1.EventEmitter {
335
382
  return stopRes;
336
383
  }
337
384
  async getAllDevices() {
385
+ if (this._customLaunchCommand) {
386
+ let width = 640;
387
+ let height = 480;
388
+ let widthM = CUSTOM_GST_LAUNCH_COMMAND.match(/width=(\d+)/);
389
+ if (widthM && widthM.length >= 1) {
390
+ width = Number(widthM[1]);
391
+ }
392
+ let heightM = CUSTOM_GST_LAUNCH_COMMAND.match(/height=(\d+)/);
393
+ if (heightM && heightM.length >= 1) {
394
+ height = Number(heightM[1]);
395
+ }
396
+ return [{
397
+ id: CUSTOM_GST_LAUNCH_COMMAND,
398
+ name: CUSTOM_GST_LAUNCH_COMMAND,
399
+ caps: [{
400
+ type: 'video/x-raw',
401
+ framerate: 60,
402
+ width: width,
403
+ height: height,
404
+ }],
405
+ }];
406
+ }
338
407
  let lines;
339
408
  try {
340
409
  lines = (await this._spawnHelper('gst-device-monitor-1.0', []))
@@ -464,6 +533,7 @@ class GStreamer extends tsee_1.EventEmitter {
464
533
  });
465
534
  // NVIDIA has their own plugins, query them too
466
535
  devices = devices.concat(await this.listNvarguscamerasrcDevices());
536
+ devices = devices.concat(await this.listPylonsrcDevices());
467
537
  let mapped = devices.map(d => {
468
538
  let name = devices.filter(x => x.name === d.name).length >= 2 ?
469
539
  d.name + ' (' + d.id + ')' :
@@ -573,6 +643,188 @@ class GStreamer extends tsee_1.EventEmitter {
573
643
  return [];
574
644
  }
575
645
  }
646
+ async listPylonsrcDevices() {
647
+ let hasPlugin;
648
+ try {
649
+ hasPlugin = (await this._spawnHelper('gst-inspect-1.0', [])).indexOf('pylonsrc') > -1;
650
+ }
651
+ catch (ex) {
652
+ if (this._verbose) {
653
+ console.log(PREFIX, 'Error invoking gst-inspect-1.0:', ex);
654
+ }
655
+ hasPlugin = false;
656
+ }
657
+ if (!hasPlugin) {
658
+ return [];
659
+ }
660
+ let caps = [];
661
+ let gstInspectRet;
662
+ {
663
+ let command = 'gst-inspect-1.0';
664
+ let args = ['pylonsrc'];
665
+ let opts = { ignoreErrors: true };
666
+ // not overridden spawn helper?
667
+ if (this._spawnHelper === spawn_helper_1.spawnHelper) {
668
+ gstInspectRet = await new Promise((resolve, reject) => {
669
+ const p = child_process_1.spawn(command, args, { env: process.env });
670
+ let allData = [];
671
+ p.stdout.on('data', (data) => {
672
+ allData.push(data);
673
+ if (data.toString('utf-8').indexOf('No devices found') > -1) {
674
+ p.kill('SIGINT');
675
+ resolve(Buffer.concat(allData).toString('utf-8'));
676
+ }
677
+ });
678
+ p.stderr.on('data', (data) => {
679
+ allData.push(data);
680
+ if (data.toString('utf-8').indexOf('No devices found') > -1) {
681
+ p.kill('SIGINT');
682
+ resolve(Buffer.concat(allData).toString('utf-8'));
683
+ }
684
+ });
685
+ p.on('error', reject);
686
+ p.on('close', (code) => {
687
+ if (code === 0 || opts.ignoreErrors === true) {
688
+ resolve(Buffer.concat(allData).toString('utf-8'));
689
+ }
690
+ else {
691
+ reject('Error code was not 0: ' + Buffer.concat(allData).toString('utf-8'));
692
+ }
693
+ });
694
+ });
695
+ }
696
+ else {
697
+ gstInspectRet = await this._spawnHelper(command, args, opts);
698
+ }
699
+ }
700
+ let gstInspectLines = gstInspectRet.split('\n');
701
+ let inRoiWidth = false;
702
+ let inRoiHeight = false;
703
+ let currProp = [];
704
+ let expectedIndent = 0;
705
+ let defaultWidth = 1920;
706
+ let defaultHeight = 1080;
707
+ // find AutoFunctionROIWidth-ROI1 and AutoFunctionROIHeight-ROI1
708
+ for (const line of gstInspectLines) {
709
+ let currIndent = line.split(/\w+/)[0].length;
710
+ if (line.indexOf('AutoFunctionROIWidth-ROI1') > -1) {
711
+ inRoiWidth = true;
712
+ expectedIndent = currIndent;
713
+ currProp = [line];
714
+ continue;
715
+ }
716
+ else if (line.indexOf('AutoFunctionROIHeight-ROI1') > -1) {
717
+ inRoiHeight = true;
718
+ expectedIndent = currIndent;
719
+ currProp = [line];
720
+ continue;
721
+ }
722
+ if (inRoiWidth) {
723
+ if (currIndent === expectedIndent) {
724
+ let roiWidth = currProp.join('\n');
725
+ if (this._verbose) {
726
+ console.log(PREFIX, 'AutoFunctionROIWidth-ROI1:\n', roiWidth);
727
+ }
728
+ let m = roiWidth.match(/Default\: (\d+)/);
729
+ if (m) {
730
+ defaultWidth = Number(m[1]);
731
+ }
732
+ inRoiWidth = false;
733
+ }
734
+ else {
735
+ currProp.push(line);
736
+ }
737
+ }
738
+ if (inRoiHeight) {
739
+ if (currIndent === expectedIndent) {
740
+ let roiHeight = currProp.join('\n');
741
+ if (this._verbose) {
742
+ console.log(PREFIX, 'AutoFunctionROIHeight-ROI1:\n', roiHeight);
743
+ }
744
+ let m = roiHeight.match(/Default\: (\d+)/);
745
+ if (m) {
746
+ defaultHeight = Number(m[1]);
747
+ }
748
+ inRoiHeight = false;
749
+ }
750
+ else {
751
+ currProp.push(line);
752
+ }
753
+ }
754
+ }
755
+ // console.log('gstInspectRes', gstInspectRet);
756
+ let gstLaunchRet;
757
+ {
758
+ let command = 'gst-launch-1.0';
759
+ let args = ['pylonsrc'];
760
+ let opts = { ignoreErrors: true };
761
+ // not overridden spawn helper?
762
+ if (this._spawnHelper === spawn_helper_1.spawnHelper) {
763
+ gstLaunchRet = await new Promise((resolve, reject) => {
764
+ const p = child_process_1.spawn(command, args, { env: process.env });
765
+ let allData = [];
766
+ p.stdout.on('data', (data) => {
767
+ allData.push(data);
768
+ if (data.toString('utf-8').indexOf('No devices found') > -1) {
769
+ p.kill('SIGINT');
770
+ resolve(Buffer.concat(allData).toString('utf-8'));
771
+ }
772
+ });
773
+ p.stderr.on('data', (data) => {
774
+ allData.push(data);
775
+ if (data.toString('utf-8').indexOf('No devices found') > -1) {
776
+ p.kill('SIGINT');
777
+ resolve(Buffer.concat(allData).toString('utf-8'));
778
+ }
779
+ });
780
+ p.on('error', reject);
781
+ p.on('close', (code) => {
782
+ if (code === 0 || opts.ignoreErrors === true) {
783
+ resolve(Buffer.concat(allData).toString('utf-8'));
784
+ }
785
+ else {
786
+ reject('Error code was not 0: ' + Buffer.concat(allData).toString('utf-8'));
787
+ }
788
+ });
789
+ });
790
+ }
791
+ else {
792
+ gstLaunchRet = await this._spawnHelper(command, args, opts);
793
+ }
794
+ }
795
+ let lines = gstLaunchRet.split('\n').filter(x => !!x).map(x => x.trim());
796
+ if (this._verbose) {
797
+ console.log(PREFIX, 'gst-launch-1.0 pylonsrc options', lines.join('\n'));
798
+ }
799
+ for (let l of lines) {
800
+ let m = l.match(/New clock: GstSystemClock/);
801
+ if (!m) {
802
+ continue;
803
+ }
804
+ // fps,height and width won't be used
805
+ let cap = {
806
+ framerate: 60,
807
+ height: defaultHeight,
808
+ width: defaultWidth,
809
+ type: 'pylonsrc'
810
+ };
811
+ caps.push(cap);
812
+ }
813
+ if (caps.length > 0) {
814
+ let d = {
815
+ caps: caps,
816
+ deviceClass: '',
817
+ id: 'pylonsrc',
818
+ inCapMode: false,
819
+ name: 'Basler camera',
820
+ rawCaps: [],
821
+ };
822
+ return [d];
823
+ }
824
+ else {
825
+ return [];
826
+ }
827
+ }
576
828
  getLastOptions() {
577
829
  return this._lastOptions;
578
830
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gstreamer.js","sourceRoot":"","sources":["../../../library/sensors/gstreamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gstreamer.js","sourceRoot":"","sources":["../../../library/sensors/gstreamer.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,8 @@ import { OrganizationAddDatasetRequest } from '../model/organizationAddDatasetRe
33
33
  import { OrganizationProjectsDataBatchDisableResponse } from '../model/organizationProjectsDataBatchDisableResponse';
34
34
  import { OrganizationProjectsDataBatchEnableResponse } from '../model/organizationProjectsDataBatchEnableResponse';
35
35
  import { OrganizationProjectsDataBatchRequest } from '../model/organizationProjectsDataBatchRequest';
36
+ import { PreviewDefaultFilesInFolderRequest } from '../model/previewDefaultFilesInFolderRequest';
37
+ import { PreviewDefaultFilesInFolderResponse } from '../model/previewDefaultFilesInFolderResponse';
36
38
  import { RenamePortalFileRequest } from '../model/renamePortalFileRequest';
37
39
  import { SetOrganizationDataDatasetRequest } from '../model/setOrganizationDataDatasetRequest';
38
40
  import { StartJobResponse } from '../model/startJobResponse';
@@ -590,6 +592,18 @@ export declare class OrganizationDataApi {
590
592
  [name: string]: string;
591
593
  };
592
594
  }): Promise<StartJobResponse>;
595
+ /**
596
+ * Preview files and directories in a default dataset for the given prefix, with support for wildcards. This is an internal API used when starting a transformation job.
597
+ * @summary Preview files in a default dataset
598
+ * @param organizationId Organization ID
599
+ * @param dataset Dataset name
600
+ * @param previewDefaultFilesInFolderRequest
601
+ */
602
+ previewDefaultFilesInFolder(organizationId: number, dataset: string, previewDefaultFilesInFolderRequest: PreviewDefaultFilesInFolderRequest, options?: {
603
+ headers: {
604
+ [name: string]: string;
605
+ };
606
+ }): Promise<PreviewDefaultFilesInFolderResponse>;
593
607
  /**
594
608
  * Preview a single file from a data item (same as downloadOrganizationDataFile but w/ content-disposition inline and could be truncated).
595
609
  * @summary Preview file