@norskvideo/norsk-studio-built-ins 1.27.0-2025-03-25-b3450d18 → 1.27.0-2025-03-27-419657f2

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 (109) hide show
  1. package/client/info.js +18075 -17001
  2. package/client/style.css +6 -10
  3. package/lib/info.js +6 -4
  4. package/lib/info.js.map +1 -1
  5. package/lib/input.rtmp/info.js +2 -0
  6. package/lib/input.rtmp/info.js.map +1 -1
  7. package/lib/input.silence/info.js +2 -0
  8. package/lib/input.silence/info.js.map +1 -1
  9. package/lib/input.srt-caller/info.d.ts +2 -2
  10. package/lib/input.srt-caller/info.js +39 -0
  11. package/lib/input.srt-caller/info.js.map +1 -1
  12. package/lib/input.srt-caller/inline-view.d.ts +6 -0
  13. package/lib/input.srt-caller/inline-view.js +10 -0
  14. package/lib/input.srt-caller/inline-view.js.map +1 -0
  15. package/lib/input.srt-caller/runtime.d.ts +25 -5
  16. package/lib/input.srt-caller/runtime.js +56 -24
  17. package/lib/input.srt-caller/runtime.js.map +1 -1
  18. package/lib/input.srt-listener/info.js +27 -1
  19. package/lib/input.srt-listener/info.js.map +1 -1
  20. package/lib/input.srt-listener/inline-view.js +1 -1
  21. package/lib/input.srt-listener/inline-view.js.map +1 -1
  22. package/lib/input.srt-listener/runtime.d.ts +8 -1
  23. package/lib/input.srt-listener/runtime.js +14 -3
  24. package/lib/input.srt-listener/runtime.js.map +1 -1
  25. package/lib/input.udp-ts/info.js +2 -0
  26. package/lib/input.udp-ts/info.js.map +1 -1
  27. package/lib/input.videoTestCard/info.js +2 -0
  28. package/lib/input.videoTestCard/info.js.map +1 -1
  29. package/lib/output.autoCmaf/info.js +2 -0
  30. package/lib/output.autoCmaf/info.js.map +1 -1
  31. package/lib/output.autoHls/info.js +2 -0
  32. package/lib/output.autoHls/info.js.map +1 -1
  33. package/lib/output.facebook/info.js +2 -0
  34. package/lib/output.facebook/info.js.map +1 -1
  35. package/lib/output.linkedin/info.js +2 -0
  36. package/lib/output.linkedin/info.js.map +1 -1
  37. package/lib/output.preview/info.js +2 -0
  38. package/lib/output.preview/info.js.map +1 -1
  39. package/lib/output.rtmp/info.d.ts +2 -0
  40. package/lib/output.rtmp/info.js +2 -0
  41. package/lib/output.rtmp/info.js.map +1 -1
  42. package/lib/output.srt-caller/info.js +6 -3
  43. package/lib/output.srt-caller/info.js.map +1 -1
  44. package/lib/output.srt-caller/inline-view.js +1 -1
  45. package/lib/output.srt-caller/inline-view.js.map +1 -1
  46. package/lib/output.srt-caller/runtime.d.ts +2 -7
  47. package/lib/output.srt-caller/runtime.js +2 -7
  48. package/lib/output.srt-caller/runtime.js.map +1 -1
  49. package/lib/output.srt-listener/info.js +4 -3
  50. package/lib/output.srt-listener/info.js.map +1 -1
  51. package/lib/output.srt-listener/runtime.d.ts +2 -7
  52. package/lib/output.srt-listener/runtime.js +2 -10
  53. package/lib/output.srt-listener/runtime.js.map +1 -1
  54. package/lib/output.statistics/info.js +2 -0
  55. package/lib/output.statistics/info.js.map +1 -1
  56. package/lib/output.twitch/info.js +2 -0
  57. package/lib/output.twitch/info.js.map +1 -1
  58. package/lib/output.udpTs/info.js +2 -0
  59. package/lib/output.udpTs/info.js.map +1 -1
  60. package/lib/output.whep/info.js +2 -0
  61. package/lib/output.whep/info.js.map +1 -1
  62. package/lib/output.youtube/info.js +2 -0
  63. package/lib/output.youtube/info.js.map +1 -1
  64. package/lib/processor.audioEncoder/info.js +2 -0
  65. package/lib/processor.audioEncoder/info.js.map +1 -1
  66. package/lib/processor.browserOverlay/info.js +2 -0
  67. package/lib/processor.browserOverlay/info.js.map +1 -1
  68. package/lib/processor.cascadingSwitch/info.js +2 -0
  69. package/lib/processor.cascadingSwitch/info.js.map +1 -1
  70. package/lib/processor.fixedLadder/info.js +2 -0
  71. package/lib/processor.fixedLadder/info.js.map +1 -1
  72. package/lib/processor.makeProgram/info.js +2 -0
  73. package/lib/processor.makeProgram/info.js.map +1 -1
  74. package/lib/processor.multiview/info.d.ts +21 -0
  75. package/lib/processor.multiview/info.js +130 -0
  76. package/lib/processor.multiview/info.js.map +1 -0
  77. package/lib/processor.multiview/runtime.d.ts +43 -0
  78. package/lib/processor.multiview/runtime.js +254 -0
  79. package/lib/processor.multiview/runtime.js.map +1 -0
  80. package/lib/processor.onscreenGraphic/info.js +2 -0
  81. package/lib/processor.onscreenGraphic/info.js.map +1 -1
  82. package/lib/processor.streamKeyOverride/info.js +2 -0
  83. package/lib/processor.streamKeyOverride/info.js.map +1 -1
  84. package/lib/processor.videoDecoder/info.js +2 -0
  85. package/lib/processor.videoDecoder/info.js.map +1 -1
  86. package/lib/shared/srt-caller-metrics.d.ts +8 -0
  87. package/lib/shared/srt-caller-metrics.js +13 -0
  88. package/lib/shared/srt-caller-metrics.js.map +1 -0
  89. package/lib/shared/srt-listener-metrics.d.ts +9 -0
  90. package/lib/shared/srt-listener-metrics.js +12 -0
  91. package/lib/shared/srt-listener-metrics.js.map +1 -0
  92. package/lib/shared/srt-types.d.ts +17 -0
  93. package/lib/shared/srt-types.js +25 -0
  94. package/lib/shared/srt-types.js.map +1 -1
  95. package/lib/shared/stream-statistics-view.d.ts +3 -0
  96. package/lib/shared/stream-statistics-view.js +164 -0
  97. package/lib/shared/stream-statistics-view.js.map +1 -0
  98. package/lib/test/multiview.d.ts +1 -0
  99. package/lib/test/multiview.js +237 -0
  100. package/lib/test/multiview.js.map +1 -0
  101. package/lib/util.stats.latency/info.js +2 -0
  102. package/lib/util.stats.latency/info.js.map +1 -1
  103. package/package.json +7 -5
  104. package/lib/output.srt-caller/srt-packet-metrics.d.ts +0 -4
  105. package/lib/output.srt-caller/srt-packet-metrics.js +0 -10
  106. package/lib/output.srt-caller/srt-packet-metrics.js.map +0 -1
  107. package/lib/output.srt-listener/srt-packet-metrics.d.ts +0 -4
  108. package/lib/output.srt-listener/srt-packet-metrics.js +0 -12
  109. package/lib/output.srt-listener/srt-packet-metrics.js.map +0 -1
package/client/style.css CHANGED
@@ -629,7 +629,7 @@
629
629
 
630
630
  .text-gray-900 {
631
631
  --tw-text-opacity: 1;
632
- color: rgb(17 24 39 / var(--tw-text-opacity));
632
+ color: rgb(18 25 35 / var(--tw-text-opacity));
633
633
  }
634
634
 
635
635
  .text-green-300 {
@@ -677,10 +677,6 @@
677
677
  color: rgb(255 255 255 / var(--tw-text-opacity));
678
678
  }
679
679
 
680
- .underline {
681
- text-decoration-line: underline;
682
- }
683
-
684
680
  .opacity-50 {
685
681
  opacity: 0.5;
686
682
  }
@@ -718,7 +714,7 @@
718
714
  line-height: 1.25rem;
719
715
  font-weight: 500;
720
716
  --tw-text-opacity: 1;
721
- color: rgb(17 24 39 / var(--tw-text-opacity));
717
+ color: rgb(18 25 35 / var(--tw-text-opacity));
722
718
  }
723
719
 
724
720
  .node-editor-label:is(.dark *) {
@@ -739,7 +735,7 @@
739
735
  font-size: 0.875rem;
740
736
  line-height: 1.25rem;
741
737
  --tw-text-opacity: 1;
742
- color: rgb(17 24 39 / var(--tw-text-opacity));
738
+ color: rgb(18 25 35 / var(--tw-text-opacity));
743
739
  }
744
740
 
745
741
  .node-editor-text-input:focus {
@@ -790,7 +786,7 @@
790
786
  font-size: 0.875rem;
791
787
  line-height: 1.25rem;
792
788
  --tw-text-opacity: 1;
793
- color: rgb(17 24 39 / var(--tw-text-opacity));
789
+ color: rgb(18 25 35 / var(--tw-text-opacity));
794
790
  }
795
791
 
796
792
  .node-editor-numeric-input:focus {
@@ -839,7 +835,7 @@
839
835
  font-size: 0.875rem;
840
836
  line-height: 1.25rem;
841
837
  --tw-text-opacity: 1;
842
- color: rgb(17 24 39 / var(--tw-text-opacity));
838
+ color: rgb(18 25 35 / var(--tw-text-opacity));
843
839
  }
844
840
 
845
841
  .node-editor-select-input:focus {
@@ -1080,7 +1076,7 @@
1080
1076
 
1081
1077
  .dark\:bg-gray-800:is(.dark *) {
1082
1078
  --tw-bg-opacity: 1;
1083
- background-color: rgb(31 41 55 / var(--tw-bg-opacity));
1079
+ background-color: rgb(30 37 48 / var(--tw-bg-opacity));
1084
1080
  }
1085
1081
 
1086
1082
  .dark\:bg-primary-600:is(.dark *) {
package/lib/info.js CHANGED
@@ -65,12 +65,14 @@ const info_23 = __importDefault(require("./processor.fixedLadder/info"));
65
65
  AllComponents.push((r) => (0, info_23.default)(r));
66
66
  const info_24 = __importDefault(require("./processor.makeProgram/info"));
67
67
  AllComponents.push((r) => (0, info_24.default)(r));
68
- const info_25 = __importDefault(require("./processor.onscreenGraphic/info"));
68
+ const info_25 = __importDefault(require("./processor.multiview/info"));
69
69
  AllComponents.push((r) => (0, info_25.default)(r));
70
- const info_26 = __importDefault(require("./processor.streamKeyOverride/info"));
70
+ const info_26 = __importDefault(require("./processor.onscreenGraphic/info"));
71
71
  AllComponents.push((r) => (0, info_26.default)(r));
72
- const info_27 = __importDefault(require("./processor.videoDecoder/info"));
72
+ const info_27 = __importDefault(require("./processor.streamKeyOverride/info"));
73
73
  AllComponents.push((r) => (0, info_27.default)(r));
74
- const info_28 = __importDefault(require("./util.stats.latency/info"));
74
+ const info_28 = __importDefault(require("./processor.videoDecoder/info"));
75
75
  AllComponents.push((r) => (0, info_28.default)(r));
76
+ const info_29 = __importDefault(require("./util.stats.latency/info"));
77
+ AllComponents.push((r) => (0, info_29.default)(r));
76
78
  //# sourceMappingURL=info.js.map
package/lib/info.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":";;;;;AAYA,8BASC;AAdD,MAAM,qBAAqB,GAA4C,EAAE,CAAC;AAC1E,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,aAAa,GAAkD,EAAE,CAAC;AAExE,SAAwB,WAAW,CAAC,CAAe,EAAE,IAAY;IAC/D,IAAG,CAAC,WAAW,EAAE,CAAC;QAChB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAA;QACF,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,6DAA2C;AAC3C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAU,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC1F,gEAAiD;AACjD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAa,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC7F,mEAAuD;AACvD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAgB,EAAC,CAAC,CAAoC,CAAC,CAAC;AAChG,qEAA2D;AAC3D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAkB,EAAC,CAAC,CAAoC,CAAC,CAAC;AAClG,+DAA+C;AAC/C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAY,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC5F,sEAA6D;AAC7D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAmB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACnG,kEAAqD;AACrD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAe,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC/F,iEAAmD;AACnD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAc,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC9F,kEAAqD;AACrD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAe,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC/F,mEAAqD;AACrD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAe,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC/F,kEAAmD;AACnD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAc,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC9F,+DAA6C;AAC7C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAW,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC3F,qEAAyD;AACzD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAiB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACjG,uEAA6D;AAC7D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAmB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACnG,qEAAyD;AACzD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAiB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACjG,iEAAiD;AACjD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAa,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC7F,gEAA+C;AAC/C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAY,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC5F,+DAA6C;AAC7C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAW,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC3F,kEAAmD;AACnD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAc,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC9F,0EAAmE;AACnE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAsB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACtG,4EAAuE;AACvE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAwB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACxG,6EAAyE;AACzE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAyB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACzG,yEAAiE;AACjE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAqB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACrG,yEAAiE;AACjE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAqB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACrG,6EAAyE;AACzE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAyB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACzG,+EAA6E;AAC7E,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAA2B,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC3G,0EAAmE;AACnE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAsB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACtG,sEAA2D;AAC3D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAkB,EAAC,CAAC,CAAoC,CAAC,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ exports.defaultStreamMapping = defaultStreamMapping;
7
7
  exports.default = default_1;
8
8
  const inline_view_1 = __importDefault(require("./inline-view"));
9
9
  const summary_view_1 = __importDefault(require("./summary-view"));
10
+ const FaVideo_1 = require("@react-icons/all-files/fa/FaVideo");
10
11
  const defaultPort = 1935;
11
12
  function defaultStreamMapping(cfg) {
12
13
  return {
@@ -37,6 +38,7 @@ function default_1({ defineComponent, mappingsToStreams, StreamMappingForm, vali
37
38
  category: 'input',
38
39
  name: "RTMP Ingest",
39
40
  description: "A component that listens for RTMP input on the address specified.",
41
+ icon: FaVideo_1.FaVideo,
40
42
  subscription: {
41
43
  accepts: undefined,
42
44
  produces: {
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.rtmp/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.rtmp/info.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = default_1;
4
+ const FaVolumeMute_1 = require("@react-icons/all-files/fa/FaVolumeMute");
4
5
  function default_1({ defineComponent }) {
5
6
  return defineComponent({
6
7
  identifier: 'input.silence',
7
8
  category: 'input',
8
9
  name: "Silence Generator",
9
10
  description: "A component that produces silent audio streams with configurable sample rate and channel layout.",
11
+ icon: FaVolumeMute_1.FaVolumeMute,
10
12
  subscription: {
11
13
  produces: {
12
14
  type: "dynamic-streams",
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.silence/info.ts"],"names":[],"mappings":";;AAGA,4BAqDC;AArDD,mBAAwB,EAAE,eAAe,EAAgB;IACvD,OAAO,eAAe,CAAgB;QACpC,UAAU,EAAE,eAAe;QAC3B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kGAAkG;QAC/G,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACjB,UAAU,EAAE,GAAG,CAAC,EAAE;wBAClB,KAAK,EAAE,OAAO;qBACf,CAAC;aACH;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI;gBACpD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE;aACpD,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,UAAU,EAAE;oBACV,IAAI,EAAE,yCAAyC;oBAC/C,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;4BACvB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;4BAClC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;yBACnC;wBACD,YAAY,EAAE,KAAK;qBACpB;iBACF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;4BACvB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;4BAClC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;yBACvC;wBACD,YAAY,EAAE,QAAQ;qBACvB;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.silence/info.ts"],"names":[],"mappings":";;AAIA,4BAsDC;AAxDD,yEAAsE;AAEtE,mBAAwB,EAAE,eAAe,EAAgB;IACvD,OAAO,eAAe,CAAgB;QACpC,UAAU,EAAE,eAAe;QAC3B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kGAAkG;QAC/G,IAAI,EAAE,2BAAY;QAClB,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACjB,UAAU,EAAE,GAAG,CAAC,EAAE;wBAClB,KAAK,EAAE,OAAO;qBACf,CAAC;aACH;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI;gBACpD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE;aACpD,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,UAAU,EAAE;oBACV,IAAI,EAAE,yCAAyC;oBAC/C,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;4BACvB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;4BAClC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;yBACnC;wBACD,YAAY,EAAE,KAAK;qBACpB;iBACF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;4BACvB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;4BAClC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;yBACvC;wBACD,YAAY,EAAE,QAAQ;qBACvB;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
2
- import type { SrtInputSettings } from "./runtime";
3
- export default function ({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation: validation }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<SrtInputSettings, object, object, object>;
2
+ import type { SrtInputEvent, SrtInputSettings, SrtInputState } from "./runtime";
3
+ export default function ({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation: validation }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<SrtInputSettings, SrtInputState, object, SrtInputEvent>;
@@ -5,7 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = default_1;
7
7
  const srt_socket_options_1 = __importDefault(require("../shared/srt-socket-options"));
8
+ const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
8
9
  const srt_form_views_1 = require("../shared/srt-form-views");
10
+ const FaPhone_1 = require("@react-icons/all-files/fa/FaPhone");
11
+ const srt_caller_metrics_1 = __importDefault(require("../shared/srt-caller-metrics"));
12
+ const stream_statistics_view_1 = __importDefault(require("../shared/stream-statistics-view"));
13
+ const inline_view_1 = __importDefault(require("./inline-view"));
9
14
  function default_1({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation: validation }) {
10
15
  const { Port, Hostname, SrtPassphrase, SrtStreamId } = validation;
11
16
  return defineComponent({
@@ -13,6 +18,7 @@ function default_1({ defineComponent, singleAvStreamMapping, singleAvStreamMappi
13
18
  category: 'input',
14
19
  name: "SRT Ingest (Caller)",
15
20
  description: "This component allows you to receive Secure Reliable Transport (SRT) streams by calling a remote SRT listener.",
21
+ icon: FaPhone_1.FaPhone,
16
22
  subscription: {
17
23
  accepts: undefined,
18
24
  produces: {
@@ -20,6 +26,39 @@ function default_1({ defineComponent, singleAvStreamMapping, singleAvStreamMappi
20
26
  streams: (cfg) => mappingsToStreams(cfg.streamMappings ?? singleAvStreamMapping(cfg))
21
27
  }
22
28
  },
29
+ runtime: {
30
+ initialState: () => ({
31
+ metrics: {
32
+ connectionCount: 0,
33
+ packetsLost: 0,
34
+ packetsResent: 0,
35
+ packetsSent: 0,
36
+ packetsReceived: 0
37
+ }
38
+ }),
39
+ handleEvent(ev, state) {
40
+ const evType = ev.type;
41
+ switch (evType) {
42
+ case 'metrics-updated':
43
+ state.metrics = ev.metrics;
44
+ break;
45
+ default:
46
+ (0, util_1.assertUnreachable)(evType);
47
+ }
48
+ return { ...state };
49
+ },
50
+ inline: inline_view_1.default,
51
+ metrics: [
52
+ {
53
+ title: "SRT Transmission",
54
+ view: srt_caller_metrics_1.default
55
+ },
56
+ {
57
+ title: "Stream Statistics",
58
+ view: stream_statistics_view_1.default
59
+ }
60
+ ]
61
+ },
23
62
  display: (desc) => {
24
63
  return {
25
64
  port: desc.config.port.toString(),
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.srt-caller/info.ts"],"names":[],"mappings":";;;;;AAKA,4BAoDC;AAvDD,sFAA4D;AAC5D,6DAA8D;AAE9D,mBAAwB,EACtB,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,UAAU,EAAE,UAAU,EACT;IACb,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAClE,OAAO,eAAe,CACpB;QACE,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,gHAAgH;QAC7H,YAAY,EAAE;YACZ,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE;gBACR,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACtF;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACjC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;aACrB,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC1H,IAAI,EAAE,EAAE,IAAI,EAAE,wDAAwD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;gBAC/I,UAAU,EAAE,EAAE,IAAI,EAAE,6CAA6C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE;gBACtI,QAAQ,EAAE,EAAE,IAAI,EAAE,4DAA4D,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE;gBACjJ,aAAa,EAAE;oBACb,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE;wBACJ,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,oCAAmB;wBACzB,IAAI,EAAE,IAAA,4BAAgB,EAAC,UAAU,CAAC;qBACnC;iBACF;gBACD,cAAc,EAAE,yBAAyB;gBACzC,KAAK,EAAE;oBACL,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.srt-caller/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { SrtInputState } from "./runtime";
2
+ import React from "react";
3
+ declare function InlineView({ state }: {
4
+ state: SrtInputState;
5
+ }): React.JSX.Element;
6
+ export default InlineView;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ function InlineView({ state }) {
5
+ return ((0, jsx_runtime_1.jsx)("div", { className: "srt-output", children: (0, jsx_runtime_1.jsx)("div", { children: state.metrics.connectionCount == 0 ?
6
+ (0, jsx_runtime_1.jsx)("div", { className: "active text-red-300 dark:text-red-300", children: "Not Connected" })
7
+ : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected" }), (0, jsx_runtime_1.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent] }), (0, jsx_runtime_1.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost, "/", state.metrics.packetsResent] })] }) }) }));
8
+ }
9
+ exports.default = InlineView;
10
+ //# sourceMappingURL=inline-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/input.srt-caller/inline-view.tsx"],"names":[],"mappings":";;;AAGA,SAAS,UAAU,CAAC,EAAE,KAAK,EAA4B;IACrD,OAAO,CACL,gCAAK,SAAS,EAAC,YAAY,YACzB,0CACG,KAAK,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;gBACnC,gCAAK,SAAS,EAAC,uCAAuC,8BAEhD;gBACN,CAAC,CAAC,6DACA,gCAAK,SAAS,EAAC,2CAA2C,0BAEpD,EACN,sDAAY,KAAK,CAAC,OAAO,CAAC,WAAW,IAAO,EAC5C,6DAAmB,KAAK,CAAC,OAAO,CAAC,WAAW,OAAG,KAAK,CAAC,OAAO,CAAC,aAAa,IAAO,IAChF,GACD,GACF,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
- import { Norsk, SrtInputSettings as SdkSettings } from '@norskvideo/norsk-sdk';
2
- import { SocketOptions } from '../shared/srt-types';
3
- import { SimpleInputWrapper } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
1
+ import { Norsk, SrtInputSettings as SdkSettings, SourceMediaNode } from '@norskvideo/norsk-sdk';
2
+ import { SocketOptions, SrtCallerMetrics } from '../shared/srt-types';
3
+ import { CustomSourceNode } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
4
4
  import { OnCreated, ServerComponentDefinition, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
5
5
  import { StreamMappingConfiguration } from '@norskvideo/norsk-studio/lib/extension/client-types';
6
6
  export type SrtInputSettings = Pick<SdkSettings, 'port' | 'host' | 'passphrase' | 'streamId'> & {
@@ -10,6 +10,26 @@ export type SrtInputSettings = Pick<SdkSettings, 'port' | 'host' | 'passphrase'
10
10
  notes?: string;
11
11
  streamMappings?: StreamMappingConfiguration;
12
12
  };
13
- export default class SrtInputDefinition implements ServerComponentDefinition<SrtInputSettings, SimpleInputWrapper> {
14
- create(norsk: Norsk, cfg: SrtInputSettings, cb: OnCreated<SimpleInputWrapper>, runtime: StudioRuntime): Promise<void>;
13
+ export type SrtInputEvent = {
14
+ type: 'metrics-updated';
15
+ metrics: SrtCallerMetrics;
16
+ };
17
+ export type SrtInputState = {
18
+ metrics: SrtCallerMetrics;
19
+ };
20
+ export type SrtInputCommand = object;
21
+ export default class SrtInputDefinition implements ServerComponentDefinition<SrtInputSettings, SrtInput, SrtInputState, SrtInputCommand, SrtInputEvent> {
22
+ create(norsk: Norsk, cfg: SrtInputSettings, cb: OnCreated<SrtInput>, runtime: StudioRuntime<SrtInputState, SrtInputCommand, SrtInputEvent>): Promise<void>;
23
+ handleMetricsUpdate(node: SrtInput): Promise<void>;
24
+ }
25
+ declare class SrtInput extends CustomSourceNode {
26
+ norsk: Norsk;
27
+ cfg: SrtInputSettings;
28
+ initialised: Promise<void>;
29
+ runtime: StudioRuntime<SrtInputState, SrtInputCommand, SrtInputEvent>;
30
+ node?: SourceMediaNode;
31
+ static create(norsk: Norsk, cfg: SrtInputSettings, runtime: StudioRuntime<SrtInputState, SrtInputCommand, SrtInputEvent>): Promise<SrtInput>;
32
+ constructor(cfg: SrtInputSettings, norsk: Norsk, runtime: StudioRuntime<SrtInputState, SrtInputCommand, SrtInputEvent>);
33
+ initialise(): Promise<void>;
15
34
  }
35
+ export {};
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const srt_types_1 = require("../shared/srt-types");
3
4
  const base_nodes_1 = require("@norskvideo/norsk-studio/lib/extension/base-nodes");
4
5
  const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
5
6
  class SrtInputDefinition {
@@ -8,32 +9,63 @@ class SrtInputDefinition {
8
9
  message: 'SRT Caller is not connected',
9
10
  level: 'error'
10
11
  });
11
- const wrapper = new base_nodes_1.SimpleInputWrapper(cfg.id, async () => {
12
- return await norsk.input.srt({
13
- sourceName: cfg.id,
14
- mode: 'caller',
15
- onConnection: () => {
16
- runtime.updates.clearAlert('disconnected');
17
- return { accept: true, sourceName: cfg.id };
18
- },
19
- onConnectionStatusChange(status, _sourceName) {
20
- switch (status) {
21
- case 'disconnected':
22
- runtime.updates.setAlert('disconnected', {
23
- message: 'SRT Caller got disconnected',
24
- level: 'error'
25
- });
26
- break;
27
- default:
28
- (0, util_1.assertUnreachable)(status);
29
- }
30
- },
31
- ...cfg
32
- });
12
+ const input = await SrtInput.create(norsk, cfg, runtime);
13
+ cb(input);
14
+ }
15
+ async handleMetricsUpdate(node) {
16
+ const latest = node.runtime.updates.latestMetrics();
17
+ const targetNodeId = node.node?.id;
18
+ if (!targetNodeId)
19
+ return;
20
+ node.runtime.updates.raiseEvent({
21
+ type: 'metrics-updated',
22
+ metrics: (0, srt_types_1.extractSrtCallerMetricsForNode)(targetNodeId, latest)
33
23
  });
34
- await wrapper.initialised;
35
- cb(wrapper);
36
24
  }
37
25
  }
38
26
  exports.default = SrtInputDefinition;
27
+ class SrtInput extends base_nodes_1.CustomSourceNode {
28
+ norsk;
29
+ cfg;
30
+ initialised;
31
+ runtime;
32
+ node;
33
+ static async create(norsk, cfg, runtime) {
34
+ const node = new SrtInput(cfg, norsk, runtime);
35
+ await node.initialised;
36
+ return node;
37
+ }
38
+ constructor(cfg, norsk, runtime) {
39
+ super(cfg.id);
40
+ this.cfg = cfg;
41
+ this.id = cfg.id;
42
+ this.norsk = norsk;
43
+ this.runtime = runtime;
44
+ this.initialised = this.initialise();
45
+ }
46
+ async initialise() {
47
+ this.node = await this.norsk.input.srt({
48
+ sourceName: this.cfg.id,
49
+ mode: 'caller',
50
+ onConnection: () => {
51
+ this.runtime.updates.clearAlert('disconnected');
52
+ return { accept: true, sourceName: this.cfg.id };
53
+ },
54
+ onConnectionStatusChange: (status, _sourceName) => {
55
+ switch (status) {
56
+ case 'disconnected':
57
+ this.runtime.updates.setAlert('disconnected', {
58
+ message: 'SRT Caller got disconnected',
59
+ level: 'error'
60
+ });
61
+ break;
62
+ default:
63
+ (0, util_1.assertUnreachable)(status);
64
+ }
65
+ },
66
+ ...this.cfg
67
+ });
68
+ this.setup({ output: [this.node] });
69
+ }
70
+ }
39
71
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/input.srt-caller/runtime.ts"],"names":[],"mappings":";;AAEA,kFAAuF;AAEvF,mEAA6E;AAW7E,MAAqB,kBAAkB;IACrC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,GAAqB,EAAE,EAAiC,EAAE,OAAsB;QACzG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE;YACvC,OAAO,EAAE,6BAA6B;YACtC,KAAK,EAAE,OAAO;SACf,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;YACxD,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC3B,UAAU,EAAE,GAAG,CAAC,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,GAAG,EAAE;oBACjB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oBAC3C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,CAAA;gBAC7C,CAAC;gBACD,wBAAwB,CAAC,MAAM,EAAE,WAAW;oBAC1C,QAAQ,MAAM,EAAE,CAAC;wBACf,KAAK,cAAc;4BACjB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE;gCACvC,OAAO,EAAE,6BAA6B;gCACtC,KAAK,EAAE,OAAO;6BACf,CAAC,CAAA;4BACF,MAAM;wBACR;4BACE,IAAA,wBAAiB,EAAC,MAAM,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,GAAG,GAAG;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,WAAW,CAAC;QAC1B,EAAE,CAAC,OAAO,CAAC,CAAC;IACd,CAAC;CACF;AAhCD,qCAgCC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/input.srt-caller/runtime.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,10 @@ exports.default = default_1;
8
8
  const inline_view_1 = __importDefault(require("./inline-view"));
9
9
  const summary_view_1 = __importDefault(require("./summary-view"));
10
10
  const srt_socket_options_1 = __importDefault(require("../shared/srt-socket-options"));
11
+ const stream_statistics_view_1 = __importDefault(require("../shared/stream-statistics-view"));
11
12
  const srt_form_views_1 = require("../shared/srt-form-views");
13
+ const FaHeadphones_1 = require("@react-icons/all-files/fa/FaHeadphones");
14
+ const srt_listener_metrics_1 = __importDefault(require("../shared/srt-listener-metrics"));
12
15
  function defaultStreamMapping(cfg) {
13
16
  return {
14
17
  streams: cfg.streamIds?.flatMap((s) => [{
@@ -39,6 +42,7 @@ function default_1({ defineComponent, mappingsToStreams, StreamMappingForm, vali
39
42
  category: 'input',
40
43
  name: "SRT Ingest (Listener)",
41
44
  description: "This component handles media ingest via the SRT(Secure Reliable Transport) protocol. It acts as a listener, receiving media streams from remote SRT sources and is highly configurable, allowing for custom IP addresses, ports, and stream handling behaviours.",
45
+ icon: FaHeadphones_1.FaHeadphones,
42
46
  subscription: {
43
47
  accepts: undefined,
44
48
  produces: {
@@ -54,12 +58,24 @@ function default_1({ defineComponent, mappingsToStreams, StreamMappingForm, vali
54
58
  };
55
59
  },
56
60
  runtime: {
57
- initialState: () => ({ connectedStreams: [], disabledStreams: [] }),
61
+ initialState: () => ({
62
+ connectedStreams: [],
63
+ disabledStreams: [],
64
+ names: [],
65
+ metrics: {
66
+ connectionCount: 0,
67
+ packetsLost: [],
68
+ packetsResent: [],
69
+ packetsSent: [],
70
+ packetsReceived: []
71
+ }
72
+ }),
58
73
  handleEvent(ev, state) {
59
74
  const evType = ev.type;
60
75
  switch (evType) {
61
76
  case "source-connected":
62
77
  state.connectedStreams.push(ev.streamId);
78
+ state.names[ev.index] = ev.streamId;
63
79
  break;
64
80
  case "source-disconnected":
65
81
  state.connectedStreams = state.connectedStreams.filter((streamId) => streamId !== ev.streamId);
@@ -70,6 +86,9 @@ function default_1({ defineComponent, mappingsToStreams, StreamMappingForm, vali
70
86
  case "source-disabled":
71
87
  state.disabledStreams.push(ev.streamId);
72
88
  break;
89
+ case 'metrics-updated':
90
+ state.metrics = ev.metrics;
91
+ break;
73
92
  default:
74
93
  assertUnreachable(evType);
75
94
  }
@@ -77,6 +96,13 @@ function default_1({ defineComponent, mappingsToStreams, StreamMappingForm, vali
77
96
  },
78
97
  inline: inline_view_1.default,
79
98
  summary: summary_view_1.default,
99
+ metrics: [
100
+ { title: "SRT Transmission", view: srt_listener_metrics_1.default },
101
+ {
102
+ title: "Stream Statistics",
103
+ view: stream_statistics_view_1.default
104
+ }
105
+ ]
80
106
  },
81
107
  configForm: {
82
108
  form: {
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.srt-listener/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.srt-listener/info.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ function InlineView({ state, config }) {
10
10
  const connectedSources = (0, jsx_runtime_1.jsxs)("div", { className: "mt-2", children: [" ", state.connectedStreams.length > 0 ? (0, jsx_runtime_1.jsx)("span", { children: "Connected sources" }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}), (0, jsx_runtime_1.jsx)("ul", { className: "srt-input-connected-sources", children: sourcesToRender.map((sourceName) => {
11
11
  return (0, jsx_runtime_1.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
12
12
  }) })] });
13
- return (0, jsx_runtime_1.jsx)("div", { className: "srt-input", id: `srt-input-${config.id}`, children: connectedSources });
13
+ return (0, jsx_runtime_1.jsxs)("div", { className: "srt-input", id: `srt-input-${config.id}`, children: [connectedSources, (0, jsx_runtime_1.jsxs)("div", { children: ["Received: ", state.metrics.packetsReceived.reduce((a, i) => a + i, 0)] }), (0, jsx_runtime_1.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost.reduce((a, i) => a + i, 0), "/", state.metrics.packetsResent.reduce((a, i) => a + i, 0)] })] });
14
14
  }
15
15
  exports.default = InlineView;
16
16
  //# sourceMappingURL=inline-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/input.srt-listener/inline-view.tsx"],"names":[],"mappings":";;;AAEA,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAsD;IACvF,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IACrE,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QACjD,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IACD,MAAM,gBAAgB,GACpB,iCAAK,SAAS,EAAC,MAAM,kBAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iEAA8B,CAAC,CAAC,CAAC,kDAAK,EAChG,+BAAI,SAAS,EAAC,6BAA6B,YACxC,eAAe,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBAClC,OAAO,+BAAqB,SAAS,EAAC,gBAAgB,YAAE,UAAU,IAAlD,UAAU,CAA8C,CAAA;gBAC1E,CAAC,CAAC,GACC,IACD,CAAA;IACR,OAAO,gCAAK,SAAS,EAAC,WAAW,EAAC,EAAE,EAAE,aAAa,MAAM,CAAC,EAAE,EAAE,YAC3D,gBAAgB,GACb,CAAA;AACR,CAAC;AAED,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/input.srt-listener/inline-view.tsx"],"names":[],"mappings":";;;AAEA,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAsD;IACvF,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IACrE,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QACjD,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IACD,MAAM,gBAAgB,GACpB,iCAAK,SAAS,EAAC,MAAM,kBAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iEAA8B,CAAC,CAAC,CAAC,kDAAK,EAChG,+BAAI,SAAS,EAAC,6BAA6B,YACxC,eAAe,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBAClC,OAAO,+BAAqB,SAAS,EAAC,gBAAgB,YAAE,UAAU,IAAlD,UAAU,CAA8C,CAAA;gBAC1E,CAAC,CAAC,GACC,IACD,CAAA;IACR,OAAO,iCAAK,SAAS,EAAC,WAAW,EAAC,EAAE,EAAE,aAAa,MAAM,CAAC,EAAE,EAAE,aAC3D,gBAAgB,EACjB,0DAAgB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAO,EAC/E,6DAAmB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAO,IACnI,CAAA;AACR,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Norsk, SrtInputSettings as SdkSettings, SrtInputNode } from '@norskvideo/norsk-sdk';
2
- import { SocketOptions } from '../shared/srt-types';
2
+ import { SocketOptions, SrtListenerMetrics } from '../shared/srt-types';
3
3
  import { CreatedMediaNode, InstanceRouteArgs, OnCreated, RelatedMediaNodes, RuntimeUpdates, ServerComponentDefinition, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
4
4
  import { StreamMappingConfiguration } from '@norskvideo/norsk-studio/lib/extension/client-types';
5
5
  export type SrtInputSettings = Pick<SdkSettings, 'port' | 'host' | 'passphrase'> & {
@@ -14,10 +14,13 @@ export type SrtInputSettings = Pick<SdkSettings, 'port' | 'host' | 'passphrase'>
14
14
  export type SrtInputState = {
15
15
  connectedStreams: string[];
16
16
  disabledStreams: string[];
17
+ metrics: SrtListenerMetrics;
18
+ names: string[];
17
19
  };
18
20
  export type SrtInputEvent = {
19
21
  type: "source-connected";
20
22
  streamId: string;
23
+ index: number;
21
24
  } | {
22
25
  type: "source-disconnected";
23
26
  streamId: string;
@@ -27,6 +30,9 @@ export type SrtInputEvent = {
27
30
  } | {
28
31
  type: "source-disabled";
29
32
  streamId: string;
33
+ } | {
34
+ type: 'metrics-updated';
35
+ metrics: SrtListenerMetrics;
30
36
  };
31
37
  export type SrtInputCommand = {
32
38
  type: "disable-source";
@@ -58,5 +64,6 @@ export declare class SrtInput implements CreatedMediaNode {
58
64
  export default class SrtInputDefinition implements ServerComponentDefinition<SrtInputSettings, SrtInput, SrtInputState, SrtInputCommand> {
59
65
  create(norsk: Norsk, cfg: SrtInputSettings, cb: OnCreated<SrtInput>, runtime: StudioRuntime<SrtInputState, SrtInputCommand, SrtInputEvent>): Promise<void>;
60
66
  handleCommand(node: SrtInput, command: SrtInputCommand): Promise<void>;
67
+ handleMetricsUpdate(node: SrtInput): Promise<void>;
61
68
  instanceRoutes(): Promise<import("@norskvideo/norsk-studio/lib/extension/runtime-types").RouteInfo<InstanceRouteArgs<SrtInputSettings, SrtInput, SrtInputState, SrtInputCommand>>[]>;
62
69
  }
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SrtInput = void 0;
7
+ const srt_types_1 = require("../shared/srt-types");
7
8
  const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
8
9
  const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
9
10
  const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
@@ -65,7 +66,7 @@ class SrtInput {
65
66
  if (this.cfg.streamIds.includes(streamId) && !this.activeStreams.has(streamId)) {
66
67
  (0, logging_1.debuglog)("Accepting SRT connection", { streamId, remoteHost });
67
68
  this.activeStreams.set(streamId, index);
68
- this.updates.raiseEvent({ type: "source-connected", streamId });
69
+ this.updates.raiseEvent({ type: "source-connected", streamId, index });
69
70
  return {
70
71
  accept: true,
71
72
  sourceName: streamId
@@ -79,7 +80,7 @@ class SrtInput {
79
80
  };
80
81
  }
81
82
  (0, logging_1.debuglog)("Accepting SRT connection", { streamName, remoteHost });
82
- this.updates.raiseEvent({ type: "source-connected", streamId: streamName });
83
+ this.updates.raiseEvent({ type: "source-connected", streamId: streamName, index });
83
84
  this.activeStreams.set(streamName, index);
84
85
  return {
85
86
  accept: true,
@@ -95,7 +96,7 @@ class SrtInput {
95
96
  }
96
97
  if (this.cfg.streamIds.includes(streamId)) {
97
98
  (0, logging_1.debuglog)("Accepting SRT connection", { streamId, remoteHost });
98
- this.updates.raiseEvent({ type: "source-connected", streamId });
99
+ this.updates.raiseEvent({ type: "source-connected", streamId, index });
99
100
  this.activeStreams.set(streamId, index);
100
101
  return {
101
102
  accept: true,
@@ -161,6 +162,16 @@ class SrtInputDefinition {
161
162
  (0, util_1.assertUnreachable)(commandType);
162
163
  }
163
164
  }
165
+ async handleMetricsUpdate(node) {
166
+ const latest = node.updates.latestMetrics();
167
+ const targetNodeId = node.srtServer?.id;
168
+ if (!targetNodeId)
169
+ return;
170
+ node.updates.raiseEvent({
171
+ type: 'metrics-updated',
172
+ metrics: (0, srt_types_1.extractSrtListenerMetricsForNode)(targetNodeId, latest)
173
+ });
174
+ }
164
175
  async instanceRoutes() {
165
176
  return (0, api_1.defineApi)(path_1.default.join(__dirname, 'types.yaml'), {
166
177
  '/disconnect': {