@norskvideo/norsk-studio-built-ins 1.12.0-2025-02-12-84fa1941 → 1.12.0-2025-02-13-eeaecbf9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/info.js +306 -189
- package/client/style.css +10 -0
- package/lib/output.autoCmaf/info.js +3 -1
- package/lib/output.autoCmaf/info.js.map +1 -1
- package/lib/output.autoCmaf/inline-view.d.ts +6 -0
- package/lib/output.autoCmaf/inline-view.js +8 -0
- package/lib/output.autoCmaf/inline-view.js.map +1 -0
- package/lib/output.rtmp/info.js +9 -1
- package/lib/output.rtmp/info.js.map +1 -1
- package/lib/output.rtmp/inline-view.js +3 -0
- package/lib/output.rtmp/inline-view.js.map +1 -1
- package/lib/output.rtmp/runtime.d.ts +30 -5
- package/lib/output.rtmp/runtime.js +169 -34
- package/lib/output.rtmp/runtime.js.map +1 -1
- package/lib/output.rtmp/summary-view.d.ts +4 -0
- package/lib/output.rtmp/summary-view.js +24 -0
- package/lib/output.rtmp/summary-view.js.map +1 -0
- package/lib/output.rtmp/types.d.ts +101 -0
- package/lib/output.rtmp/types.js +3 -0
- package/lib/output.rtmp/types.js.map +1 -0
- package/lib/output.rtmp/types.yaml +30 -0
- package/lib/output.srt/info.js +4 -0
- package/lib/output.srt/info.js.map +1 -1
- package/lib/output.srt/inline-view.d.ts +6 -0
- package/lib/output.srt/inline-view.js +8 -0
- package/lib/output.srt/inline-view.js.map +1 -0
- package/lib/output.srt/runtime.d.ts +12 -6
- package/lib/output.srt/runtime.js +75 -36
- package/lib/output.srt/runtime.js.map +1 -1
- package/lib/output.srt/summary-view.d.ts +4 -0
- package/lib/output.srt/summary-view.js +24 -0
- package/lib/output.srt/summary-view.js.map +1 -0
- package/lib/output.whep/info.js +1 -1
- package/lib/output.whep/info.js.map +1 -1
- package/lib/output.whep/runtime.d.ts +1 -4
- package/lib/output.whep/runtime.js +0 -1
- package/lib/output.whep/runtime.js.map +1 -1
- package/lib/test/rtmp-output.js +105 -1
- package/lib/test/rtmp-output.js.map +1 -1
- package/lib/test/srt-output.js +93 -4
- package/lib/test/srt-output.js.map +1 -1
- package/package.json +3 -3
package/client/info.js
CHANGED
@@ -570,6 +570,23 @@ var init_fullscreen = __esm({
|
|
570
570
|
}
|
571
571
|
});
|
572
572
|
|
573
|
+
// build/output.autoCmaf/inline-view.js
|
574
|
+
var inline_view_exports3 = {};
|
575
|
+
__export(inline_view_exports3, {
|
576
|
+
default: () => inline_view_default3
|
577
|
+
});
|
578
|
+
function InlineView5({ state }) {
|
579
|
+
return (0, import_jsx_runtime8.jsx)("div", { className: "-output", children: state.enabled ? (0, import_jsx_runtime8.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Output enabled" }) : (0, import_jsx_runtime8.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" }) });
|
580
|
+
}
|
581
|
+
var import_jsx_runtime8, inline_view_default3;
|
582
|
+
var init_inline_view3 = __esm({
|
583
|
+
"build/output.autoCmaf/inline-view.js"() {
|
584
|
+
"use strict";
|
585
|
+
import_jsx_runtime8 = __toESM(require_jsx_runtime());
|
586
|
+
inline_view_default3 = InlineView5;
|
587
|
+
}
|
588
|
+
});
|
589
|
+
|
573
590
|
// build/output.autoCmaf/form-views.js
|
574
591
|
var form_views_exports = {};
|
575
592
|
__export(form_views_exports, {
|
@@ -577,16 +594,16 @@ __export(form_views_exports, {
|
|
577
594
|
SegmentConfiguration: () => SegmentConfiguration
|
578
595
|
});
|
579
596
|
function S3Destination(destination) {
|
580
|
-
return (0,
|
597
|
+
return (0, import_jsx_runtime9.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime9.jsx)("div", { className: "col-span-1", children: "Host" }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-2", children: destination.host }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-1", children: "Path" }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-2", children: destination.prefix }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-1", children: "Include Ads" }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-2", children: destination.includeAdInsertions ? "yes" : "no" })] });
|
581
598
|
}
|
582
599
|
function SegmentConfiguration(cfg) {
|
583
|
-
return (0,
|
600
|
+
return (0, import_jsx_runtime9.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime9.jsx)("div", { className: "col-span-1", children: "Segments" }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-2", children: cfg.defaultSegmentCount == 0 ? "all" : cfg.defaultSegmentCount }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-1", children: "Segment Target" }), (0, import_jsx_runtime9.jsxs)("div", { className: "col-span-2", children: [cfg.targetSegmentDuration, "s"] }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-1", children: "Part Target" }), (0, import_jsx_runtime9.jsxs)("div", { className: "col-span-2", children: [cfg.targetPartDuration, "s"] }), (0, import_jsx_runtime9.jsx)("div", { className: "col-span-1", children: "Retention" }), (0, import_jsx_runtime9.jsxs)("div", { className: "col-span-2", children: [cfg.retentionPeriod, "s"] })] });
|
584
601
|
}
|
585
|
-
var
|
602
|
+
var import_jsx_runtime9;
|
586
603
|
var init_form_views = __esm({
|
587
604
|
"build/output.autoCmaf/form-views.js"() {
|
588
605
|
"use strict";
|
589
|
-
|
606
|
+
import_jsx_runtime9 = __toESM(require_jsx_runtime());
|
590
607
|
}
|
591
608
|
});
|
592
609
|
|
@@ -598,11 +615,11 @@ var require_webrtc_client = __commonJS({
|
|
598
615
|
});
|
599
616
|
|
600
617
|
// build/output.preview/inline-view.js
|
601
|
-
var
|
602
|
-
__export(
|
603
|
-
default: () =>
|
618
|
+
var inline_view_exports4 = {};
|
619
|
+
__export(inline_view_exports4, {
|
620
|
+
default: () => inline_view_default4
|
604
621
|
});
|
605
|
-
function
|
622
|
+
function InlineView6({ state, config, raise }) {
|
606
623
|
const url = state.url;
|
607
624
|
const id = config.id;
|
608
625
|
const [showPreview, setShowPreview] = (0, import_react6.useState)(config.showPreview ?? true);
|
@@ -644,7 +661,7 @@ function InlineView5({ state, config, raise }) {
|
|
644
661
|
}, [config.showPreview]);
|
645
662
|
raise && (0, import_react6.useEffect)(raise, []);
|
646
663
|
if (!url)
|
647
|
-
return (0,
|
664
|
+
return (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, { children: "..." });
|
648
665
|
function percentage(levels) {
|
649
666
|
if (!levels) {
|
650
667
|
return 0;
|
@@ -654,37 +671,73 @@ function InlineView5({ state, config, raise }) {
|
|
654
671
|
const snapped = Math.floor(capped * 10) * 10;
|
655
672
|
return Math.max(0, 100 - snapped);
|
656
673
|
}
|
657
|
-
return (0,
|
674
|
+
return (0, import_jsx_runtime10.jsxs)("div", { className: "preview-outer-container", children: [(0, import_jsx_runtime10.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [(0, import_jsx_runtime10.jsx)("input", { type: "checkbox", id: `video-toggle-${id}`, checked: showPreview, onChange: (e) => setShowPreview(e.target.checked), className: "h-4 w-4" }), (0, import_jsx_runtime10.jsx)("label", { htmlFor: `video-toggle-${id}`, className: "text-sm", children: "Show Preview" })] }), showPreview ? (0, import_jsx_runtime10.jsx)("div", { className: "preview-video", id: `preview-${id}`, children: (0, import_jsx_runtime10.jsx)("style", { children: `
|
658
675
|
#preview-${id} video::-webkit-media-controls-play-button { display: none; },
|
659
|
-
` }) }) : (0,
|
676
|
+
` }) }) : (0, import_jsx_runtime10.jsx)("div", { className: "preview-video bg-black flex items-center justify-center text-white h-full", children: "Preview turned off" }), (0, import_jsx_runtime10.jsx)("div", { className: "preview-levels", children: (0, import_jsx_runtime10.jsx)("div", { className: `preview-level clip-${percentage(state.levels)}-preview` }) })] });
|
660
677
|
}
|
661
|
-
var
|
662
|
-
var
|
678
|
+
var import_jsx_runtime10, import_react6, import_webrtc_client, inline_view_default4;
|
679
|
+
var init_inline_view4 = __esm({
|
663
680
|
"build/output.preview/inline-view.js"() {
|
664
681
|
"use strict";
|
665
|
-
|
682
|
+
import_jsx_runtime10 = __toESM(require_jsx_runtime());
|
666
683
|
import_react6 = __toESM(require_react());
|
667
684
|
import_webrtc_client = __toESM(require_webrtc_client());
|
668
|
-
|
685
|
+
inline_view_default4 = InlineView6;
|
686
|
+
}
|
687
|
+
});
|
688
|
+
|
689
|
+
// build/output.rtmp/summary-view.js
|
690
|
+
var summary_view_exports4 = {};
|
691
|
+
__export(summary_view_exports4, {
|
692
|
+
default: () => summary_view_default4
|
693
|
+
});
|
694
|
+
function SummaryView6({ state, sendCommand }) {
|
695
|
+
const handleEnableOutput = () => {
|
696
|
+
void enableOutput();
|
697
|
+
};
|
698
|
+
const enableOutput = async () => {
|
699
|
+
sendCommand({
|
700
|
+
type: "enable-output"
|
701
|
+
});
|
702
|
+
};
|
703
|
+
const handleDisableOutput = () => {
|
704
|
+
void disableOutput();
|
705
|
+
};
|
706
|
+
const disableOutput = async () => {
|
707
|
+
sendCommand({
|
708
|
+
type: "disable-output"
|
709
|
+
});
|
710
|
+
};
|
711
|
+
return (0, import_jsx_runtime11.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime11.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-blue-500" : "bg-red-500"}` }), (0, import_jsx_runtime11.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime11.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime11.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime11.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-blue-700 text-white rounded", children: "Enable Output" }) })] }) });
|
712
|
+
}
|
713
|
+
var import_jsx_runtime11, summary_view_default4;
|
714
|
+
var init_summary_view4 = __esm({
|
715
|
+
"build/output.rtmp/summary-view.js"() {
|
716
|
+
"use strict";
|
717
|
+
import_jsx_runtime11 = __toESM(require_jsx_runtime());
|
718
|
+
summary_view_default4 = SummaryView6;
|
669
719
|
}
|
670
720
|
});
|
671
721
|
|
672
722
|
// build/output.rtmp/inline-view.js
|
673
|
-
var
|
674
|
-
__export(
|
675
|
-
default: () =>
|
723
|
+
var inline_view_exports5 = {};
|
724
|
+
__export(inline_view_exports5, {
|
725
|
+
default: () => inline_view_default5
|
676
726
|
});
|
677
|
-
function
|
678
|
-
|
679
|
-
|
680
|
-
|
727
|
+
function InlineView7({ state, config }) {
|
728
|
+
if (!state.enabled) {
|
729
|
+
return (0, import_jsx_runtime12.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" });
|
730
|
+
}
|
731
|
+
const connected = (0, import_jsx_runtime12.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected and publishing" });
|
732
|
+
const disconnected = (0, import_jsx_runtime12.jsxs)("div", { className: "inactive text-orange-500 dark:text-orange-300", children: ["Disconnected ", state.connectRetries > 0 ? `- retrying(${state.connectRetries})` : ""] });
|
733
|
+
return (0, import_jsx_runtime12.jsx)("div", { className: "rtmp-output", id: `rtmp-output-${config.id}`, children: state.connected ? connected : disconnected });
|
681
734
|
}
|
682
|
-
var
|
683
|
-
var
|
735
|
+
var import_jsx_runtime12, inline_view_default5;
|
736
|
+
var init_inline_view5 = __esm({
|
684
737
|
"build/output.rtmp/inline-view.js"() {
|
685
738
|
"use strict";
|
686
|
-
|
687
|
-
|
739
|
+
import_jsx_runtime12 = __toESM(require_jsx_runtime());
|
740
|
+
inline_view_default5 = InlineView7;
|
688
741
|
}
|
689
742
|
});
|
690
743
|
|
@@ -763,30 +816,80 @@ var require_util = __commonJS({
|
|
763
816
|
}
|
764
817
|
});
|
765
818
|
|
819
|
+
// build/output.srt/summary-view.js
|
820
|
+
var summary_view_exports5 = {};
|
821
|
+
__export(summary_view_exports5, {
|
822
|
+
default: () => summary_view_default5
|
823
|
+
});
|
824
|
+
function SummaryView7({ state, sendCommand }) {
|
825
|
+
const handleEnableOutput = () => {
|
826
|
+
void enableOutput();
|
827
|
+
};
|
828
|
+
const enableOutput = async () => {
|
829
|
+
sendCommand({
|
830
|
+
type: "enable-output"
|
831
|
+
});
|
832
|
+
};
|
833
|
+
const handleDisableOutput = () => {
|
834
|
+
void disableOutput();
|
835
|
+
};
|
836
|
+
const disableOutput = async () => {
|
837
|
+
sendCommand({
|
838
|
+
type: "disable-output"
|
839
|
+
});
|
840
|
+
};
|
841
|
+
return (0, import_jsx_runtime13.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime13.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime13.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime13.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-green-500" : "bg-red-500"}` }), (0, import_jsx_runtime13.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime13.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime13.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime13.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-green-700 text-white rounded", children: "Enable Output" }) })] }) });
|
842
|
+
}
|
843
|
+
var import_jsx_runtime13, summary_view_default5;
|
844
|
+
var init_summary_view5 = __esm({
|
845
|
+
"build/output.srt/summary-view.js"() {
|
846
|
+
"use strict";
|
847
|
+
import_jsx_runtime13 = __toESM(require_jsx_runtime());
|
848
|
+
summary_view_default5 = SummaryView7;
|
849
|
+
}
|
850
|
+
});
|
851
|
+
|
852
|
+
// build/output.srt/inline-view.js
|
853
|
+
var inline_view_exports6 = {};
|
854
|
+
__export(inline_view_exports6, {
|
855
|
+
default: () => inline_view_default6
|
856
|
+
});
|
857
|
+
function InlineView8({ state }) {
|
858
|
+
return (0, import_jsx_runtime14.jsx)("div", { className: "srt-output", children: state.enabled ? (0, import_jsx_runtime14.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Output enabled" }) : (0, import_jsx_runtime14.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" }) });
|
859
|
+
}
|
860
|
+
var import_jsx_runtime14, inline_view_default6;
|
861
|
+
var init_inline_view6 = __esm({
|
862
|
+
"build/output.srt/inline-view.js"() {
|
863
|
+
"use strict";
|
864
|
+
import_jsx_runtime14 = __toESM(require_jsx_runtime());
|
865
|
+
inline_view_default6 = InlineView8;
|
866
|
+
}
|
867
|
+
});
|
868
|
+
|
766
869
|
// build/output.statistics/inline-view.js
|
767
|
-
var
|
768
|
-
__export(
|
769
|
-
default: () =>
|
870
|
+
var inline_view_exports7 = {};
|
871
|
+
__export(inline_view_exports7, {
|
872
|
+
default: () => inline_view_default7
|
770
873
|
});
|
771
|
-
function
|
874
|
+
function InlineView9({ state }) {
|
772
875
|
if (!state.previous)
|
773
|
-
return (0,
|
876
|
+
return (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, {});
|
774
877
|
const format = (stat) => Math.floor(stat).toLocaleString("en-US", { maximumFractionDigits: 0 });
|
775
|
-
return (0,
|
878
|
+
return (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: state.previous.allStreams.map((s, i) => {
|
776
879
|
const metaCase = s.metadata.case;
|
777
880
|
switch (metaCase) {
|
778
881
|
case "audio":
|
779
|
-
return (0,
|
882
|
+
return (0, import_jsx_runtime15.jsxs)("div", { children: [(0, import_jsx_runtime15.jsxs)("div", { children: ["StreamKey: ", streamKey(s.streamKey)] }), (0, import_jsx_runtime15.jsxs)("div", { children: ["Bitrate: ", format(s.bitrate), "bps"] })] }, i);
|
780
883
|
case "video":
|
781
|
-
return (0,
|
884
|
+
return (0, import_jsx_runtime15.jsxs)("div", { children: [(0, import_jsx_runtime15.jsxs)("div", { children: ["StreamKey: ", streamKey(s.streamKey)] }), (0, import_jsx_runtime15.jsxs)("div", { children: ["Bitrate: ", format(s.bitrate), "bps"] })] }, i);
|
782
885
|
case "ancillary":
|
783
|
-
return (0,
|
886
|
+
return (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, {});
|
784
887
|
case "subtitle":
|
785
|
-
return (0,
|
888
|
+
return (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, {});
|
786
889
|
case "playlist":
|
787
|
-
return (0,
|
890
|
+
return (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, {});
|
788
891
|
case void 0:
|
789
|
-
return (0,
|
892
|
+
return (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, {});
|
790
893
|
default:
|
791
894
|
assertUnreachable7(metaCase);
|
792
895
|
}
|
@@ -795,19 +898,19 @@ function InlineView7({ state }) {
|
|
795
898
|
function streamKey(streamKey2) {
|
796
899
|
return streamKey2.streamId.toString();
|
797
900
|
}
|
798
|
-
var
|
799
|
-
var
|
901
|
+
var import_jsx_runtime15, inline_view_default7;
|
902
|
+
var init_inline_view7 = __esm({
|
800
903
|
"build/output.statistics/inline-view.js"() {
|
801
904
|
"use strict";
|
802
|
-
|
905
|
+
import_jsx_runtime15 = __toESM(require_jsx_runtime());
|
803
906
|
init_info();
|
804
|
-
|
907
|
+
inline_view_default7 = InlineView9;
|
805
908
|
}
|
806
909
|
});
|
807
910
|
|
808
911
|
// build/output.statistics/info.js
|
809
912
|
function info_default12({ defineComponent, All }) {
|
810
|
-
const
|
913
|
+
const InlineView15 = import_react10.default.lazy(async () => Promise.resolve().then(() => (init_inline_view7(), inline_view_exports7)));
|
811
914
|
return defineComponent({
|
812
915
|
identifier: "output.statistics",
|
813
916
|
category: "output",
|
@@ -836,7 +939,7 @@ function info_default12({ defineComponent, All }) {
|
|
836
939
|
}
|
837
940
|
return { ...state };
|
838
941
|
},
|
839
|
-
inline:
|
942
|
+
inline: InlineView15
|
840
943
|
},
|
841
944
|
configForm: {
|
842
945
|
form: {
|
@@ -856,45 +959,12 @@ var init_info = __esm({
|
|
856
959
|
}
|
857
960
|
});
|
858
961
|
|
859
|
-
// build/output.whep/summary-view.js
|
860
|
-
var summary_view_exports4 = {};
|
861
|
-
__export(summary_view_exports4, {
|
862
|
-
default: () => summary_view_default4
|
863
|
-
});
|
864
|
-
function SummaryView6({ state, sendCommand }) {
|
865
|
-
const handleEnableOutput = () => {
|
866
|
-
void enableOutput();
|
867
|
-
};
|
868
|
-
const enableOutput = async () => {
|
869
|
-
sendCommand({
|
870
|
-
type: "enable-output"
|
871
|
-
});
|
872
|
-
};
|
873
|
-
const handleDisableOutput = () => {
|
874
|
-
void disableOutput();
|
875
|
-
};
|
876
|
-
const disableOutput = async () => {
|
877
|
-
sendCommand({
|
878
|
-
type: "disable-output"
|
879
|
-
});
|
880
|
-
};
|
881
|
-
return (0, import_jsx_runtime12.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime12.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-blue-500" : "bg-red-500"}` }), (0, import_jsx_runtime12.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime12.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime12.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime12.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-blue-700 text-white rounded", children: "Enable Output" }) })] }) });
|
882
|
-
}
|
883
|
-
var import_jsx_runtime12, summary_view_default4;
|
884
|
-
var init_summary_view4 = __esm({
|
885
|
-
"build/output.whep/summary-view.js"() {
|
886
|
-
"use strict";
|
887
|
-
import_jsx_runtime12 = __toESM(require_jsx_runtime());
|
888
|
-
summary_view_default4 = SummaryView6;
|
889
|
-
}
|
890
|
-
});
|
891
|
-
|
892
962
|
// build/output.whep/inline-view.js
|
893
|
-
var
|
894
|
-
__export(
|
895
|
-
default: () =>
|
963
|
+
var inline_view_exports8 = {};
|
964
|
+
__export(inline_view_exports8, {
|
965
|
+
default: () => inline_view_default8
|
896
966
|
});
|
897
|
-
function
|
967
|
+
function InlineView10({ state, config, raise }) {
|
898
968
|
const url = state.url;
|
899
969
|
const id = config.id;
|
900
970
|
const [showPreview, setShowPreview] = (0, import_react11.useState)(config.showPreview ?? true);
|
@@ -936,38 +1006,71 @@ function InlineView8({ state, config, raise }) {
|
|
936
1006
|
}, [config.showPreview]);
|
937
1007
|
raise && (0, import_react11.useEffect)(raise, []);
|
938
1008
|
if (!url)
|
939
|
-
return (0,
|
1009
|
+
return (0, import_jsx_runtime16.jsx)(import_jsx_runtime16.Fragment, { children: "..." });
|
940
1010
|
const videoStyles = `
|
941
1011
|
#whep-${id} video::-webkit-media-controls-play-button {
|
942
1012
|
display: none;
|
943
1013
|
}
|
944
1014
|
`;
|
945
|
-
return (0,
|
1015
|
+
return (0, import_jsx_runtime16.jsxs)("div", { className: "whep-container", children: [(0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [(0, import_jsx_runtime16.jsx)("input", { type: "checkbox", id: `video-toggle-${id}`, checked: showPreview, onChange: (e) => setShowPreview(e.target.checked), className: "h-4 w-4" }), (0, import_jsx_runtime16.jsx)("label", { htmlFor: `video-toggle-${id}`, className: "text-sm", children: "Show Preview" })] }), showPreview ? (0, import_jsx_runtime16.jsx)("div", { className: "whep-video", id: `whep-${id}`, children: (0, import_jsx_runtime16.jsx)("style", { children: videoStyles }) }) : (0, import_jsx_runtime16.jsx)("div", { className: "whep-video bg-black flex items-center justify-center text-white h-full", children: "Preview turned off" })] });
|
946
1016
|
}
|
947
|
-
var
|
948
|
-
var
|
1017
|
+
var import_jsx_runtime16, import_react11, import_webrtc_client2, inline_view_default8;
|
1018
|
+
var init_inline_view8 = __esm({
|
949
1019
|
"build/output.whep/inline-view.js"() {
|
950
1020
|
"use strict";
|
951
|
-
|
1021
|
+
import_jsx_runtime16 = __toESM(require_jsx_runtime());
|
952
1022
|
import_react11 = __toESM(require_react());
|
953
1023
|
import_webrtc_client2 = __toESM(require_webrtc_client());
|
954
|
-
|
1024
|
+
inline_view_default8 = InlineView10;
|
955
1025
|
}
|
956
1026
|
});
|
957
1027
|
|
958
|
-
// build/
|
959
|
-
var
|
960
|
-
__export(
|
961
|
-
default: () =>
|
1028
|
+
// build/output.whep/summary-view.js
|
1029
|
+
var summary_view_exports6 = {};
|
1030
|
+
__export(summary_view_exports6, {
|
1031
|
+
default: () => summary_view_default6
|
962
1032
|
});
|
963
1033
|
function SummaryView8({ state, sendCommand }) {
|
1034
|
+
const handleEnableOutput = () => {
|
1035
|
+
void enableOutput();
|
1036
|
+
};
|
1037
|
+
const enableOutput = async () => {
|
1038
|
+
sendCommand({
|
1039
|
+
type: "enable-output"
|
1040
|
+
});
|
1041
|
+
};
|
1042
|
+
const handleDisableOutput = () => {
|
1043
|
+
void disableOutput();
|
1044
|
+
};
|
1045
|
+
const disableOutput = async () => {
|
1046
|
+
sendCommand({
|
1047
|
+
type: "disable-output"
|
1048
|
+
});
|
1049
|
+
};
|
1050
|
+
return (0, import_jsx_runtime17.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime17.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-blue-500" : "bg-red-500"}` }), (0, import_jsx_runtime17.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime17.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime17.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime17.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-blue-700 text-white rounded", children: "Enable Output" }) })] }) });
|
1051
|
+
}
|
1052
|
+
var import_jsx_runtime17, summary_view_default6;
|
1053
|
+
var init_summary_view6 = __esm({
|
1054
|
+
"build/output.whep/summary-view.js"() {
|
1055
|
+
"use strict";
|
1056
|
+
import_jsx_runtime17 = __toESM(require_jsx_runtime());
|
1057
|
+
summary_view_default6 = SummaryView8;
|
1058
|
+
}
|
1059
|
+
});
|
1060
|
+
|
1061
|
+
// build/processor.browserOverlay/summary-view.js
|
1062
|
+
var summary_view_exports7 = {};
|
1063
|
+
__export(summary_view_exports7, {
|
1064
|
+
default: () => summary_view_default7
|
1065
|
+
});
|
1066
|
+
function SummaryView9({ state, sendCommand }) {
|
964
1067
|
const [url, setUrl] = (0, import_react13.useState)(state.currentUrl);
|
965
1068
|
const [enabled, setEnabled] = (0, import_react13.useState)(state.enabled);
|
966
1069
|
const stateChanged = (0, import_react13.useMemo)(() => {
|
967
1070
|
return url !== state.currentUrl || enabled !== state.enabled;
|
968
1071
|
}, [url, enabled]);
|
969
1072
|
const buttonClass = "mt-2 mb-5 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800";
|
970
|
-
return (0,
|
1073
|
+
return (0, import_jsx_runtime18.jsxs)("div", { className: "space-y-3 mb-5", children: [(0, import_jsx_runtime18.jsx)("h2", { className: "text-xl font-bold text-gray-900 dark:text-white", children: "Controls" }), (0, import_jsx_runtime18.jsxs)("div", { className: "mb-5", children: [(0, import_jsx_runtime18.jsx)("label", { htmlFor: "url", className: "mb-2 mr-2 text-sm font-medium text-gray-900 dark:text-white", children: "URL" }), (0, import_jsx_runtime18.jsx)("input", { type: "email", id: "url", className: "bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500", value: url, onChange: (e) => setUrl(e.target.value), required: true })] }), (0, import_jsx_runtime18.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime18.jsxs)("label", { className: "inline-flex items-center cursor-pointer", children: [(0, import_jsx_runtime18.jsx)("span", { className: "me-3 text-sm font-medium text-gray-900 dark:text-gray-300", children: "Enabled" }), (0, import_jsx_runtime18.jsx)("input", { type: "checkbox", checked: enabled, onChange: (e) => setEnabled(e.target.checked), className: "sr-only peer" }), (0, import_jsx_runtime18.jsx)("div", { className: "relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600" })] }) }), (0, import_jsx_runtime18.jsx)("button", { type: "button", className: `${buttonClass} ${!stateChanged ? "opacity-50 cursor-not-allowed" : ""}`, disabled: !stateChanged, onClick: () => {
|
971
1074
|
if (url !== state.currentUrl) {
|
972
1075
|
sendCommand({ type: "change-url", url });
|
973
1076
|
}
|
@@ -980,30 +1083,30 @@ function SummaryView8({ state, sendCommand }) {
|
|
980
1083
|
}
|
981
1084
|
}, children: "Commit" })] });
|
982
1085
|
}
|
983
|
-
var
|
984
|
-
var
|
1086
|
+
var import_jsx_runtime18, import_react13, summary_view_default7;
|
1087
|
+
var init_summary_view7 = __esm({
|
985
1088
|
"build/processor.browserOverlay/summary-view.js"() {
|
986
1089
|
"use strict";
|
987
|
-
|
1090
|
+
import_jsx_runtime18 = __toESM(require_jsx_runtime());
|
988
1091
|
import_react13 = __toESM(require_react());
|
989
|
-
|
1092
|
+
summary_view_default7 = SummaryView9;
|
990
1093
|
}
|
991
1094
|
});
|
992
1095
|
|
993
1096
|
// build/processor.browserOverlay/inline-view.js
|
994
|
-
var
|
995
|
-
__export(
|
996
|
-
default: () =>
|
1097
|
+
var inline_view_exports9 = {};
|
1098
|
+
__export(inline_view_exports9, {
|
1099
|
+
default: () => inline_view_default9
|
997
1100
|
});
|
998
|
-
function
|
999
|
-
return (0,
|
1101
|
+
function InlineView11({ state, config }) {
|
1102
|
+
return (0, import_jsx_runtime19.jsx)("div", { id: `browser-overlay-${config.id}`, children: (0, import_jsx_runtime19.jsxs)("div", { className: "w-64 grid grid-cols-[min-content,1fr] gap-2", children: [(0, import_jsx_runtime19.jsx)("div", { children: "URL:" }), (0, import_jsx_runtime19.jsx)("div", { className: "truncate", children: state.currentUrl }), (0, import_jsx_runtime19.jsx)("div", { children: "Enabled:" }), (0, import_jsx_runtime19.jsx)("div", { children: (0, import_jsx_runtime19.jsxs)("label", { className: "inline-flex items-center cursor-pointer", children: [(0, import_jsx_runtime19.jsx)("input", { type: "checkbox", checked: state.enabled, disabled: true, className: "sr-only peer" }), (0, import_jsx_runtime19.jsx)("div", { className: "relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600" })] }) })] }) });
|
1000
1103
|
}
|
1001
|
-
var
|
1002
|
-
var
|
1104
|
+
var import_jsx_runtime19, inline_view_default9;
|
1105
|
+
var init_inline_view9 = __esm({
|
1003
1106
|
"build/processor.browserOverlay/inline-view.js"() {
|
1004
1107
|
"use strict";
|
1005
|
-
|
1006
|
-
|
1108
|
+
import_jsx_runtime19 = __toESM(require_jsx_runtime());
|
1109
|
+
inline_view_default9 = InlineView11;
|
1007
1110
|
}
|
1008
1111
|
});
|
1009
1112
|
|
@@ -1018,10 +1121,10 @@ function OrderInput(props) {
|
|
1018
1121
|
}, [props.defaultValue]);
|
1019
1122
|
const [value, setValue] = (0, import_react15.useState)(props.defaultValue ?? []);
|
1020
1123
|
if (value.length == 0) {
|
1021
|
-
return (0,
|
1124
|
+
return (0, import_jsx_runtime20.jsx)("p", { className: "node-editor-helper-text", children: "Sources will appear here when subscriptions have been added to this node" });
|
1022
1125
|
} else {
|
1023
|
-
return (0,
|
1024
|
-
return (0,
|
1126
|
+
return (0, import_jsx_runtime20.jsx)("div", { id: props.id, children: (0, import_jsx_runtime20.jsx)("ul", { children: value.map((v, ix) => {
|
1127
|
+
return (0, import_jsx_runtime20.jsxs)("li", { className: "flex", children: [(0, import_jsx_runtime20.jsx)("span", { className: "node-editor-label flex-grow", children: v }), ix == 0 ? (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {}) : (0, import_jsx_runtime20.jsx)("svg", { onClick: moveUp(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime20.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 6.75L12 3m0 0l3.75 3.75M12 3v18" }) }), ix == value.length - 1 ? (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {}) : (0, import_jsx_runtime20.jsx)("svg", { onClick: moveDown(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime20.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 17.25L12 21m0 0l-3.75-3.75M12 21V3" }) })] }, v);
|
1025
1128
|
}) }) });
|
1026
1129
|
}
|
1027
1130
|
function moveUp(ix) {
|
@@ -1043,33 +1146,33 @@ function OrderInput(props) {
|
|
1043
1146
|
};
|
1044
1147
|
}
|
1045
1148
|
}
|
1046
|
-
var
|
1149
|
+
var import_jsx_runtime20, import_react15, source_selection_default;
|
1047
1150
|
var init_source_selection = __esm({
|
1048
1151
|
"build/processor.cascadingSwitch/source-selection.js"() {
|
1049
1152
|
"use strict";
|
1050
|
-
|
1153
|
+
import_jsx_runtime20 = __toESM(require_jsx_runtime());
|
1051
1154
|
import_react15 = __toESM(require_react());
|
1052
1155
|
source_selection_default = OrderInput;
|
1053
1156
|
}
|
1054
1157
|
});
|
1055
1158
|
|
1056
1159
|
// build/processor.cascadingSwitch/inline-view.js
|
1057
|
-
var
|
1058
|
-
__export(
|
1059
|
-
default: () =>
|
1160
|
+
var inline_view_exports10 = {};
|
1161
|
+
__export(inline_view_exports10, {
|
1162
|
+
default: () => inline_view_default10
|
1060
1163
|
});
|
1061
|
-
function
|
1062
|
-
return (0,
|
1164
|
+
function InlineView13({ state, config }) {
|
1165
|
+
return (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [(0, import_jsx_runtime21.jsx)("h5", { children: "Sources" }), (0, import_jsx_runtime21.jsxs)("ul", { children: [config.sources.map((s, i) => state.activeSource == s ? (0, import_jsx_runtime21.jsxs)("li", { className: activeClasses, children: [s, " <--"] }, i) : state.availableSources.includes(s) ? (0, import_jsx_runtime21.jsxs)("li", { className: availableClasses, children: [s, " (available)"] }, i) : (0, import_jsx_runtime21.jsxs)("li", { className: inactiveClasses, children: [s, " (inactive)"] }, i)), (0, import_jsx_runtime21.jsx)("li", { className: state.activeSource == "fallback" ? activeClasses : availableClasses, children: "fallback" }, "fallback")] })] });
|
1063
1166
|
}
|
1064
|
-
var
|
1065
|
-
var
|
1167
|
+
var import_jsx_runtime21, activeClasses, availableClasses, inactiveClasses, inline_view_default10;
|
1168
|
+
var init_inline_view10 = __esm({
|
1066
1169
|
"build/processor.cascadingSwitch/inline-view.js"() {
|
1067
1170
|
"use strict";
|
1068
|
-
|
1171
|
+
import_jsx_runtime21 = __toESM(require_jsx_runtime());
|
1069
1172
|
activeClasses = "active text-green-500 dark:text-green-300";
|
1070
1173
|
availableClasses = "available text-green-500 dark:text-green-300";
|
1071
1174
|
inactiveClasses = "inactive text-orange-500 dark:text-orange-300";
|
1072
|
-
|
1175
|
+
inline_view_default10 = InlineView13;
|
1073
1176
|
}
|
1074
1177
|
});
|
1075
1178
|
|
@@ -1079,13 +1182,13 @@ __export(rung_view_exports, {
|
|
1079
1182
|
default: () => rung_view_default
|
1080
1183
|
});
|
1081
1184
|
function rung_view_default(rung) {
|
1082
|
-
return (0,
|
1185
|
+
return (0, import_jsx_runtime22.jsx)("div", { className: "text-gray-900 dark:text-white", children: rung.name });
|
1083
1186
|
}
|
1084
|
-
var
|
1187
|
+
var import_jsx_runtime22;
|
1085
1188
|
var init_rung_view = __esm({
|
1086
1189
|
"build/processor.fixedLadder/rung-view.js"() {
|
1087
1190
|
"use strict";
|
1088
|
-
|
1191
|
+
import_jsx_runtime22 = __toESM(require_jsx_runtime());
|
1089
1192
|
}
|
1090
1193
|
});
|
1091
1194
|
|
@@ -1108,7 +1211,7 @@ function CodecEditor(props) {
|
|
1108
1211
|
target.style.height = target.scrollHeight + "px";
|
1109
1212
|
}
|
1110
1213
|
}, []);
|
1111
|
-
return (0,
|
1214
|
+
return (0, import_jsx_runtime23.jsx)("textarea", { ref: textAreaRef, className: "w-full min-h-fit bg-white text-gray-900 dark:text-white dark:bg-black", onChange: (e) => {
|
1112
1215
|
const target = e.currentTarget;
|
1113
1216
|
try {
|
1114
1217
|
const codec = JSON.parse(target.value);
|
@@ -1118,11 +1221,11 @@ function CodecEditor(props) {
|
|
1118
1221
|
}
|
1119
1222
|
}, defaultValue: JSON.stringify(value, void 0, 2) });
|
1120
1223
|
}
|
1121
|
-
var
|
1224
|
+
var import_jsx_runtime23, import_react16;
|
1122
1225
|
var init_codec_editor = __esm({
|
1123
1226
|
"build/processor.fixedLadder/codec-editor.js"() {
|
1124
1227
|
"use strict";
|
1125
|
-
|
1228
|
+
import_jsx_runtime23 = __toESM(require_jsx_runtime());
|
1126
1229
|
import_react16 = __toESM(require_react());
|
1127
1230
|
}
|
1128
1231
|
});
|
@@ -1133,13 +1236,13 @@ __export(codec_view_exports, {
|
|
1133
1236
|
default: () => CodecEditor2
|
1134
1237
|
});
|
1135
1238
|
function CodecEditor2(props) {
|
1136
|
-
return (0,
|
1239
|
+
return (0, import_jsx_runtime24.jsxs)("div", { className: "text-gray-900 dark:text-white", children: [props.width, "x", props.height] });
|
1137
1240
|
}
|
1138
|
-
var
|
1241
|
+
var import_jsx_runtime24;
|
1139
1242
|
var init_codec_view = __esm({
|
1140
1243
|
"build/processor.fixedLadder/codec-view.js"() {
|
1141
1244
|
"use strict";
|
1142
|
-
|
1245
|
+
import_jsx_runtime24 = __toESM(require_jsx_runtime());
|
1143
1246
|
}
|
1144
1247
|
});
|
1145
1248
|
|
@@ -1168,34 +1271,34 @@ function GraphicSelection(props) {
|
|
1168
1271
|
}, []);
|
1169
1272
|
const [graphcs, setGraphics] = (0, import_react18.useState)([]);
|
1170
1273
|
if (loading) {
|
1171
|
-
return (0,
|
1274
|
+
return (0, import_jsx_runtime25.jsx)("div", { children: "Loading.." });
|
1172
1275
|
}
|
1173
1276
|
if (graphcs.length == 0) {
|
1174
|
-
return (0,
|
1277
|
+
return (0, import_jsx_runtime25.jsx)("div", { children: "No graphics loaded" });
|
1175
1278
|
}
|
1176
|
-
return (0,
|
1177
|
-
return (0,
|
1279
|
+
return (0, import_jsx_runtime25.jsx)("div", { children: (0, import_jsx_runtime25.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime25.jsx)("option", { value: "", children: "---" }, "empty"), graphcs.map((o, i) => {
|
1280
|
+
return (0, import_jsx_runtime25.jsx)("option", { value: o, children: o }, i);
|
1178
1281
|
})] }) });
|
1179
1282
|
function myOnChange(e) {
|
1180
1283
|
props.onChanged(e.target.value);
|
1181
1284
|
}
|
1182
1285
|
}
|
1183
|
-
var
|
1286
|
+
var import_jsx_runtime25, import_react18, image_selection_default;
|
1184
1287
|
var init_image_selection = __esm({
|
1185
1288
|
"build/processor.onscreenGraphic/image-selection.js"() {
|
1186
1289
|
"use strict";
|
1187
|
-
|
1290
|
+
import_jsx_runtime25 = __toESM(require_jsx_runtime());
|
1188
1291
|
import_react18 = __toESM(require_react());
|
1189
1292
|
image_selection_default = GraphicSelection;
|
1190
1293
|
}
|
1191
1294
|
});
|
1192
1295
|
|
1193
1296
|
// build/processor.onscreenGraphic/summary-view.js
|
1194
|
-
var
|
1195
|
-
__export(
|
1196
|
-
default: () =>
|
1297
|
+
var summary_view_exports8 = {};
|
1298
|
+
__export(summary_view_exports8, {
|
1299
|
+
default: () => summary_view_default8
|
1197
1300
|
});
|
1198
|
-
function
|
1301
|
+
function SummaryView11({ state, sendCommand, urls }) {
|
1199
1302
|
const [graphic, setGraphic] = (0, import_react19.useState)(state.activeGraphic?.file);
|
1200
1303
|
const [position, setPosition] = (0, import_react19.useState)(state.activeGraphic?.position ?? { type: "named", position: "topleft" });
|
1201
1304
|
const [graphics, setGraphics] = (0, import_react19.useState)([]);
|
@@ -1330,7 +1433,7 @@ function SummaryView10({ state, sendCommand, urls }) {
|
|
1330
1433
|
const buttonClass = "mt-2 mb-5 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800";
|
1331
1434
|
const deleteButtonClass = "mt-2 text-white w-full justify-center bg-red-600 hover:bg-red-700 focus:ring-4 focus:outline-none focus:ring-red-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-red-700 dark:hover:bg-red-800 dark:focus:ring-red-900";
|
1332
1435
|
const fileInputClass = "block w-full text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400";
|
1333
|
-
return (0,
|
1436
|
+
return (0, import_jsx_runtime26.jsxs)("div", { className: "space-y-3", children: [(0, import_jsx_runtime26.jsx)("h2", { className: "text-xl font-bold text-gray-900 dark:text-white", children: "Controls" }), (0, import_jsx_runtime26.jsxs)("div", { children: [(0, import_jsx_runtime26.jsx)("label", { htmlFor: "select-graphic", className: "block text-gray-900 dark:text-white mb-1", children: "Source" }), (0, import_jsx_runtime26.jsxs)("select", { id: "select-graphic", className: "w-full node-editor-select-input", value: graphic || "", onChange: (e) => setGraphic(e.target.value || void 0), children: [(0, import_jsx_runtime26.jsx)("option", { value: "", children: "---" }), graphics.map((s) => (0, import_jsx_runtime26.jsx)("option", { value: s, children: s }, s))] })] }), graphic && (0, import_jsx_runtime26.jsxs)("div", { children: [(0, import_jsx_runtime26.jsx)("label", { htmlFor: "select-position", className: "block text-gray-900 dark:text-white mb-1", children: "Graphic position" }), (0, import_jsx_runtime26.jsx)(PositionSelector, { initialPosition: position, onChange: setPosition, graphicChanged, ...state })] }), (0, import_jsx_runtime26.jsx)("button", { type: "button", className: `${buttonClass} ${!stateChanged ? "opacity-50 cursor-not-allowed" : ""}`, onClick: () => sendCommand({ type: "change-graphic", file: graphic, position }), disabled: !stateChanged, children: "Commit" }), !showFileInput && !uploadStatus.success && (0, import_jsx_runtime26.jsx)("button", { type: "button", className: buttonClass, onClick: () => setShowFileInput(true), style: { marginBottom: "1rem" }, children: "Upload Graphic" }), showFileInput && (0, import_jsx_runtime26.jsxs)("form", { style: { display: "block", marginBottom: "1rem" }, children: [(0, import_jsx_runtime26.jsx)("input", { type: "file", id: "file", name: "filename", onChange: onFileChange, className: fileInputClass }), showUploadButton && (0, import_jsx_runtime26.jsx)("button", { type: "button", className: buttonClass, onClick: uploadFile, children: "Upload" })] }), (0, import_jsx_runtime26.jsx)("button", { type: "button", className: deleteButtonClass, onClick: () => setShowDeleteDropdown(!showDeleteDropdown), style: { marginBottom: "1rem" }, children: showDeleteDropdown ? "Hide Delete Options" : "Delete Graphics" }), showDeleteDropdown && (0, import_jsx_runtime26.jsxs)("div", { className: "mt-2 p-2 bg-gray-100 dark:bg-gray-800 rounded-lg", children: [(0, import_jsx_runtime26.jsx)("h3", { className: "text-lg font-semibold mb-2 text-gray-900 dark:text-white", children: "Select Graphic to Delete" }), (0, import_jsx_runtime26.jsxs)("select", { className: "w-full mb-2 node-editor-select-input", value: graphicToDelete, onChange: (e) => setGraphicToDelete(e.target.value), children: [(0, import_jsx_runtime26.jsx)("option", { value: "", children: " Select a graphic" }), graphics.map((graphicName) => (0, import_jsx_runtime26.jsx)("option", { value: graphicName, children: graphicName }, graphicName))] }), (0, import_jsx_runtime26.jsx)("button", { onClick: deleteBug, disabled: !graphicToDelete, className: `${deleteButtonClass} ${!graphicToDelete ? "opacity-50 cursor-not-allowed" : ""}`, children: "Delete Selected Graphic" })] }), uploadStatus.message && (0, import_jsx_runtime26.jsx)("div", { className: `mt-2 text-center ${uploadStatus.success ? "text-green-600" : "text-red-600"}`, children: uploadStatus.message })] });
|
1334
1437
|
}
|
1335
1438
|
function convertPosition(givenPosition, currentVideo, currentGraphic) {
|
1336
1439
|
if (!givenPosition)
|
@@ -1376,11 +1479,11 @@ function clamp(min, num, max) {
|
|
1376
1479
|
function assertUnreachable12(_) {
|
1377
1480
|
throw new Error("Didn't expect to get here");
|
1378
1481
|
}
|
1379
|
-
var
|
1380
|
-
var
|
1482
|
+
var import_jsx_runtime26, import_react19, PositionSelector, summary_view_default8;
|
1483
|
+
var init_summary_view8 = __esm({
|
1381
1484
|
"build/processor.onscreenGraphic/summary-view.js"() {
|
1382
1485
|
"use strict";
|
1383
|
-
|
1486
|
+
import_jsx_runtime26 = __toESM(require_jsx_runtime());
|
1384
1487
|
import_react19 = __toESM(require_react());
|
1385
1488
|
PositionSelector = ({ initialPosition: givenPosition = { type: "named", position: "topleft" }, onChange, currentVideo, currentGraphic, graphicChanged }) => {
|
1386
1489
|
const convertPos = (pos) => convertPosition(pos, currentVideo, currentGraphic);
|
@@ -1448,7 +1551,7 @@ var init_summary_view6 = __esm({
|
|
1448
1551
|
window.removeEventListener("mouseup", handleMouseUp);
|
1449
1552
|
};
|
1450
1553
|
}, [isDragging]);
|
1451
|
-
return (0,
|
1554
|
+
return (0, import_jsx_runtime26.jsxs)("div", { className: "relative w-full max-w-lg mx-auto mt-4 mb-8", children: [(0, import_jsx_runtime26.jsxs)("div", { className: "mb-4 flex items-center gap-2", children: [(0, import_jsx_runtime26.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: "Position Type:" }), (0, import_jsx_runtime26.jsxs)("select", { value: position.type, onChange: (e) => {
|
1452
1555
|
const newType = e.target.value;
|
1453
1556
|
if (newType === "named") {
|
1454
1557
|
setPosition(convertPos({ type: "named", position: "topleft" }));
|
@@ -1456,12 +1559,12 @@ var init_summary_view6 = __esm({
|
|
1456
1559
|
setPositionUnit("%");
|
1457
1560
|
setPosition({ ...convertPos(position), type: "percentage" });
|
1458
1561
|
}
|
1459
|
-
}, className: "node-editor-select-input", children: [(0,
|
1562
|
+
}, className: "node-editor-select-input", children: [(0, import_jsx_runtime26.jsx)("option", { value: "coordinate", children: "Custom Position" }), (0, import_jsx_runtime26.jsx)("option", { value: "named", children: "Preset Position" })] })] }), position.type === "named" ? (0, import_jsx_runtime26.jsx)("div", { className: "mb-4", children: (0, import_jsx_runtime26.jsxs)("select", { value: position.position, onChange: (e) => {
|
1460
1563
|
setPosition(convertPos({
|
1461
1564
|
type: "named",
|
1462
1565
|
position: e.target.value
|
1463
1566
|
}));
|
1464
|
-
}, className: "w-full node-editor-select-input", children: [(0,
|
1567
|
+
}, className: "w-full node-editor-select-input", children: [(0, import_jsx_runtime26.jsx)("option", { value: "topleft", children: "Top Left" }), (0, import_jsx_runtime26.jsx)("option", { value: "topright", children: "Top Right" }), (0, import_jsx_runtime26.jsx)("option", { value: "bottomleft", children: "Bottom Left" }), (0, import_jsx_runtime26.jsx)("option", { value: "bottomright", children: "Bottom Right" }), (0, import_jsx_runtime26.jsx)("option", { value: "center", children: "Centered" })] }) }) : (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [(0, import_jsx_runtime26.jsxs)("div", { className: "mb-4 flex items-center gap-2", children: [(0, import_jsx_runtime26.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: "Position Unit:" }), (0, import_jsx_runtime26.jsxs)("select", { value: positionUnit, onChange: (e) => {
|
1465
1568
|
setPositionUnit(e.target.value);
|
1466
1569
|
if (e.target.value === "px" && position.type !== "coordinate" && currentVideo && currentGraphic) {
|
1467
1570
|
const { width: videoWidth, height: videoHeight } = currentVideo;
|
@@ -1486,18 +1589,18 @@ var init_summary_view6 = __esm({
|
|
1486
1589
|
yStr: void 0
|
1487
1590
|
});
|
1488
1591
|
}
|
1489
|
-
}, className: "node-editor-select-input", children: [(0,
|
1592
|
+
}, className: "node-editor-select-input", children: [(0, import_jsx_runtime26.jsx)("option", { value: "px", children: "Pixels" }), (0, import_jsx_runtime26.jsx)("option", { value: "%", children: "Percentage" })] })] }), (0, import_jsx_runtime26.jsxs)("div", { className: "relative bg-gray-200 dark:bg-gray-700 rounded-lg", style: {
|
1490
1593
|
width: "100%",
|
1491
1594
|
userSelect: "none",
|
1492
1595
|
aspectRatio: currentVideo ? `${currentVideo.width} / ${currentVideo.height}` : `3 / 2`
|
1493
|
-
}, ref: previewAreaRef, children: [(0,
|
1596
|
+
}, ref: previewAreaRef, children: [(0, import_jsx_runtime26.jsxs)("div", { className: "absolute inset-0 flex flex-col items-center justify-center text-gray-500 dark:text-gray-400", children: [(0, import_jsx_runtime26.jsx)("span", { children: currentVideo ? "Video Preview Area" : "Video Dimensions Unknown" }), " ", currentVideo ? (0, import_jsx_runtime26.jsxs)("span", { children: [currentVideo.width, "x", currentVideo.height, "px"] }) : ""] }), (0, import_jsx_runtime26.jsx)("div", { className: `absolute cursor-move ${currentGraphic && !graphicChanged ? "" : "p-2"} rounded-lg bg-primary-500 bg-opacity-50 hover:bg-opacity-75 transition-colors
|
1494
1597
|
${isDragging ? "bg-opacity-75" : ""}`, style: {
|
1495
1598
|
left: `${position.xPct}%`,
|
1496
1599
|
top: `${position.yPct}%`,
|
1497
1600
|
transform: `translate(-${position.xPct}%, -${position.yPct}%)`,
|
1498
1601
|
aspectRatio: currentGraphic && !graphicChanged ? `${currentGraphic.width} / ${currentGraphic.height}` : `1`,
|
1499
1602
|
width: currentGraphic && currentVideo && !graphicChanged ? currentGraphic.width / currentVideo.width * 100 + "%" : void 0
|
1500
|
-
}, onMouseDown: handleMouseDown, ref: previewTargetRef, children: (0,
|
1603
|
+
}, onMouseDown: handleMouseDown, ref: previewTargetRef, children: (0, import_jsx_runtime26.jsx)("svg", { className: `${currentGraphic && !graphicChanged ? "w-full h-full" : "w-6 h-6"} text-white`, "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: (0, import_jsx_runtime26.jsx)("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 6v12m-6-6h12m-6-6 1.5 1.5M12 6l-1.5 1.5m1.5 10.5L10.5 16.5M12 18l1.5-1.5M6 12l1.5-1.5M7.5 13.5 6 12m12 0-1.5-1.5M16.5 13.5 18 12" }) }) })] }), (0, import_jsx_runtime26.jsxs)("div", { className: "mt-2 text-sm text-gray-600 dark:text-gray-300 text-center", children: ["Position:", " ", position.type === "percentage" ? `${position.xPct.toFixed(1)}%, ${position.yPct.toFixed(1)}%` : `${Math.round(position.x)}px, ${Math.round(position.y)}px`] }), (0, import_jsx_runtime26.jsxs)("div", { className: "mt-2 flex gap-4", children: [(0, import_jsx_runtime26.jsxs)("div", { children: [(0, import_jsx_runtime26.jsxs)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: ["X Position ", positionUnit] }), (0, import_jsx_runtime26.jsx)("input", { type: "number", step: positionUnit === "%" ? "0.1" : "1", value: position.xStr ?? (positionUnit === "%" ? position.xPct.toFixed(1) : Math.round(position.x)), onChange: (e) => {
|
1501
1604
|
const newX = Number(e.target.value);
|
1502
1605
|
setPosition(convertPos({
|
1503
1606
|
type: positionUnit === "%" ? "percentage" : "coordinate",
|
@@ -1506,7 +1609,7 @@ var init_summary_view6 = __esm({
|
|
1506
1609
|
y: position.y,
|
1507
1610
|
yStr: position.yStr
|
1508
1611
|
}));
|
1509
|
-
}, className: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm dark:bg-gray-700 dark:border-gray-600" })] }), (0,
|
1612
|
+
}, className: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm dark:bg-gray-700 dark:border-gray-600" })] }), (0, import_jsx_runtime26.jsxs)("div", { children: [(0, import_jsx_runtime26.jsxs)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: ["Y Position ", positionUnit] }), (0, import_jsx_runtime26.jsx)("input", { type: "number", step: positionUnit === "%" ? "0.1" : "1", value: position.yStr ?? (positionUnit === "%" ? position.yPct.toFixed(1) : Math.round(position.y)), onChange: (e) => {
|
1510
1613
|
const newY = Number(e.target.value);
|
1511
1614
|
setPosition(convertPos({
|
1512
1615
|
type: positionUnit === "%" ? "percentage" : "coordinate",
|
@@ -1517,7 +1620,7 @@ var init_summary_view6 = __esm({
|
|
1517
1620
|
}));
|
1518
1621
|
}, className: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm dark:bg-gray-700 dark:border-gray-600" })] })] })] })] });
|
1519
1622
|
};
|
1520
|
-
|
1623
|
+
summary_view_default8 = SummaryView11;
|
1521
1624
|
}
|
1522
1625
|
});
|
1523
1626
|
|
@@ -15840,11 +15943,11 @@ var init_auto = __esm({
|
|
15840
15943
|
});
|
15841
15944
|
|
15842
15945
|
// build/util.stats.latency/inline-view.js
|
15843
|
-
var
|
15844
|
-
__export(
|
15845
|
-
default: () =>
|
15946
|
+
var inline_view_exports11 = {};
|
15947
|
+
__export(inline_view_exports11, {
|
15948
|
+
default: () => inline_view_default11
|
15846
15949
|
});
|
15847
|
-
function
|
15950
|
+
function InlineView14({ state, config: _2 }) {
|
15848
15951
|
const chartContainer = (0, import_react21.useRef)(null);
|
15849
15952
|
const [chartControl, setChartControl] = (0, import_react21.useState)(void 0);
|
15850
15953
|
function makeDataSet(key, color2, values) {
|
@@ -15906,16 +16009,16 @@ function InlineView12({ state, config: _2 }) {
|
|
15906
16009
|
return;
|
15907
16010
|
chartControl.data = makeData(state);
|
15908
16011
|
}, [state]);
|
15909
|
-
return (0,
|
16012
|
+
return (0, import_jsx_runtime27.jsx)("div", { className: "bg-gray-50 dark:bg-gray-700 rounded", style: { width: "360px", height: "200px", padding: "10px" }, children: (0, import_jsx_runtime27.jsx)("canvas", { className: "bg-gray-50 dark:bg-gray-700 rounded", ref: chartContainer }) });
|
15910
16013
|
}
|
15911
|
-
var
|
15912
|
-
var
|
16014
|
+
var import_jsx_runtime27, import_react21, inline_view_default11;
|
16015
|
+
var init_inline_view11 = __esm({
|
15913
16016
|
"build/util.stats.latency/inline-view.js"() {
|
15914
16017
|
"use strict";
|
15915
|
-
|
16018
|
+
import_jsx_runtime27 = __toESM(require_jsx_runtime());
|
15916
16019
|
import_react21 = __toESM(require_react());
|
15917
16020
|
init_auto();
|
15918
|
-
|
16021
|
+
inline_view_default11 = InlineView14;
|
15919
16022
|
}
|
15920
16023
|
});
|
15921
16024
|
|
@@ -15925,22 +16028,22 @@ __export(source_node_selection_exports, {
|
|
15925
16028
|
default: () => source_node_selection_default
|
15926
16029
|
});
|
15927
16030
|
function SourceNodeSelection(props) {
|
15928
|
-
return (0,
|
16031
|
+
return (0, import_jsx_runtime28.jsx)("div", { children: (0, import_jsx_runtime28.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime28.jsx)("option", { value: "", children: "---" }, "empty"), Object.values(props.latestDocument.components).map((o, i) => {
|
15929
16032
|
if (o.id == props.id)
|
15930
|
-
return (0,
|
16033
|
+
return (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, {});
|
15931
16034
|
if (o.info.category === "output")
|
15932
16035
|
return;
|
15933
|
-
return (0,
|
16036
|
+
return (0, import_jsx_runtime28.jsx)("option", { value: o.id, children: o.config.displayName }, i);
|
15934
16037
|
})] }) });
|
15935
16038
|
function myOnChange(e) {
|
15936
16039
|
props.onChanged(e.target.value);
|
15937
16040
|
}
|
15938
16041
|
}
|
15939
|
-
var
|
16042
|
+
var import_jsx_runtime28, source_node_selection_default;
|
15940
16043
|
var init_source_node_selection = __esm({
|
15941
16044
|
"build/util.stats.latency/source-node-selection.js"() {
|
15942
16045
|
"use strict";
|
15943
|
-
|
16046
|
+
import_jsx_runtime28 = __toESM(require_jsx_runtime());
|
15944
16047
|
source_node_selection_default = SourceNodeSelection;
|
15945
16048
|
}
|
15946
16049
|
});
|
@@ -16416,8 +16519,9 @@ var import_config = __toESM(require_config());
|
|
16416
16519
|
var import_react5 = __toESM(require_react());
|
16417
16520
|
function info_default7(R) {
|
16418
16521
|
const { defineComponent, All, validation: { Z, Hostname } } = R;
|
16419
|
-
const
|
16522
|
+
const SummaryView12 = import_react5.default.lazy(async () => Promise.resolve().then(() => (init_summary_view3(), summary_view_exports3)));
|
16420
16523
|
const FullscreenView2 = import_react5.default.lazy(async () => Promise.resolve().then(() => (init_fullscreen(), fullscreen_exports)));
|
16524
|
+
const InlineView15 = import_react5.default.lazy(async () => Promise.resolve().then(() => (init_inline_view3(), inline_view_exports3)));
|
16421
16525
|
const SegmentConfiguration2 = import_react5.default.lazy(async () => {
|
16422
16526
|
const views = await Promise.resolve().then(() => (init_form_views(), form_views_exports));
|
16423
16527
|
return { default: views.SegmentConfiguration };
|
@@ -16499,8 +16603,9 @@ function info_default7(R) {
|
|
16499
16603
|
}
|
16500
16604
|
return { ...state };
|
16501
16605
|
},
|
16502
|
-
summary:
|
16503
|
-
fullscreen: FullscreenView2
|
16606
|
+
summary: SummaryView12,
|
16607
|
+
fullscreen: FullscreenView2,
|
16608
|
+
inline: InlineView15
|
16504
16609
|
},
|
16505
16610
|
configForm: {
|
16506
16611
|
global: {
|
@@ -16673,7 +16778,7 @@ var import_react7 = __toESM(require_react());
|
|
16673
16778
|
var import_config2 = __toESM(require_config());
|
16674
16779
|
function info_default9(R) {
|
16675
16780
|
const { defineComponent, Av, validation: { JitterBuffer } } = R;
|
16676
|
-
const
|
16781
|
+
const InlineView15 = import_react7.default.lazy(async () => Promise.resolve().then(() => (init_inline_view4(), inline_view_exports4)));
|
16677
16782
|
return defineComponent({
|
16678
16783
|
identifier: "output.preview",
|
16679
16784
|
category: "output",
|
@@ -16724,7 +16829,7 @@ function info_default9(R) {
|
|
16724
16829
|
}
|
16725
16830
|
return { ...state };
|
16726
16831
|
},
|
16727
|
-
inline:
|
16832
|
+
inline: InlineView15
|
16728
16833
|
},
|
16729
16834
|
configForm: {
|
16730
16835
|
global: {
|
@@ -16750,7 +16855,8 @@ function assertUnreachable4(_) {
|
|
16750
16855
|
// build/output.rtmp/info.js
|
16751
16856
|
var import_react8 = __toESM(require_react());
|
16752
16857
|
function info_default10({ defineComponent, Av, validation: { Z, JitterBuffer } }) {
|
16753
|
-
const
|
16858
|
+
const SummaryView12 = import_react8.default.lazy(async () => Promise.resolve().then(() => (init_summary_view4(), summary_view_exports4)));
|
16859
|
+
const InlineView15 = import_react8.default.lazy(async () => Promise.resolve().then(() => (init_inline_view5(), inline_view_exports5)));
|
16754
16860
|
return defineComponent({
|
16755
16861
|
identifier: "output.rtmp",
|
16756
16862
|
category: "output",
|
@@ -16773,7 +16879,7 @@ function info_default10({ defineComponent, Av, validation: { Z, JitterBuffer } }
|
|
16773
16879
|
};
|
16774
16880
|
},
|
16775
16881
|
runtime: {
|
16776
|
-
initialState: () => ({ connected: false, connectRetries: 0 }),
|
16882
|
+
initialState: () => ({ connected: false, connectRetries: 0, enabled: true }),
|
16777
16883
|
handleEvent: (ev, state) => {
|
16778
16884
|
const evType = ev.type;
|
16779
16885
|
switch (evType) {
|
@@ -16784,12 +16890,19 @@ function info_default10({ defineComponent, Av, validation: { Z, JitterBuffer } }
|
|
16784
16890
|
state.connected = false;
|
16785
16891
|
state.connectRetries++;
|
16786
16892
|
break;
|
16893
|
+
case "output-enabled":
|
16894
|
+
state.enabled = true;
|
16895
|
+
break;
|
16896
|
+
case "output-disabled":
|
16897
|
+
state.enabled = false;
|
16898
|
+
break;
|
16787
16899
|
default:
|
16788
16900
|
assertUnreachable5(evType);
|
16789
16901
|
}
|
16790
16902
|
return { ...state };
|
16791
16903
|
},
|
16792
|
-
inline:
|
16904
|
+
inline: InlineView15,
|
16905
|
+
summary: SummaryView12
|
16793
16906
|
},
|
16794
16907
|
configForm: {
|
16795
16908
|
form: {
|
@@ -16814,6 +16927,8 @@ var import_react9 = __toESM(require_react());
|
|
16814
16927
|
var import_util = __toESM(require_util());
|
16815
16928
|
function info_default11(registration) {
|
16816
16929
|
const { defineComponent, All, validation } = registration;
|
16930
|
+
const SummaryView12 = import_react9.default.lazy(async () => Promise.resolve().then(() => (init_summary_view5(), summary_view_exports5)));
|
16931
|
+
const InlineView15 = import_react9.default.lazy(async () => Promise.resolve().then(() => (init_inline_view6(), inline_view_exports6)));
|
16817
16932
|
const { Port, Hostname, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
|
16818
16933
|
const SocketConfiguration2 = import_react9.default.lazy(async () => {
|
16819
16934
|
const views = await Promise.resolve().then(() => (init_srt_form_views(), srt_form_views_exports));
|
@@ -16857,7 +16972,9 @@ function info_default11(registration) {
|
|
16857
16972
|
(0, import_util.assertUnreachable)(evType);
|
16858
16973
|
}
|
16859
16974
|
return { ...state };
|
16860
|
-
}
|
16975
|
+
},
|
16976
|
+
summary: SummaryView12,
|
16977
|
+
inline: InlineView15
|
16861
16978
|
},
|
16862
16979
|
configForm: {
|
16863
16980
|
form: {
|
@@ -16957,10 +17074,10 @@ function info_default13({ defineComponent, All, validation: { Port, Hostname, Ji
|
|
16957
17074
|
// build/output.whep/info.js
|
16958
17075
|
var import_config3 = __toESM(require_config());
|
16959
17076
|
var import_react12 = __toESM(require_react());
|
16960
|
-
var SummaryView7 = import_react12.default.lazy(async () => Promise.resolve().then(() => (init_summary_view4(), summary_view_exports4)));
|
16961
17077
|
function info_default14(R) {
|
16962
17078
|
const { defineComponent, Av, validation: { JitterBuffer } } = R;
|
16963
|
-
const
|
17079
|
+
const InlineView15 = import_react12.default.lazy(async () => Promise.resolve().then(() => (init_inline_view8(), inline_view_exports8)));
|
17080
|
+
const SummaryView12 = import_react12.default.lazy(async () => Promise.resolve().then(() => (init_summary_view6(), summary_view_exports6)));
|
16964
17081
|
return defineComponent({
|
16965
17082
|
identifier: "output.whep",
|
16966
17083
|
category: "output",
|
@@ -17000,8 +17117,8 @@ function info_default14(R) {
|
|
17000
17117
|
}
|
17001
17118
|
return { ...state };
|
17002
17119
|
},
|
17003
|
-
inline:
|
17004
|
-
summary:
|
17120
|
+
inline: InlineView15,
|
17121
|
+
summary: SummaryView12
|
17005
17122
|
},
|
17006
17123
|
configForm: {
|
17007
17124
|
global: {
|
@@ -17025,8 +17142,8 @@ function assertUnreachable8(_) {
|
|
17025
17142
|
// build/processor.browserOverlay/info.js
|
17026
17143
|
var import_config4 = __toESM(require_config());
|
17027
17144
|
var import_react14 = __toESM(require_react());
|
17028
|
-
var
|
17029
|
-
var
|
17145
|
+
var SummaryView10 = import_react14.default.lazy(async () => Promise.resolve().then(() => (init_summary_view7(), summary_view_exports7)));
|
17146
|
+
var InlineView12 = import_react14.default.lazy(async () => Promise.resolve().then(() => (init_inline_view9(), inline_view_exports9)));
|
17030
17147
|
function info_default15({ defineComponent, Video, validation: { Z } }) {
|
17031
17148
|
return defineComponent({
|
17032
17149
|
identifier: "processor.browserOverlay",
|
@@ -17053,8 +17170,8 @@ function info_default15({ defineComponent, Video, validation: { Z } }) {
|
|
17053
17170
|
};
|
17054
17171
|
},
|
17055
17172
|
runtime: {
|
17056
|
-
summary:
|
17057
|
-
inline:
|
17173
|
+
summary: SummaryView10,
|
17174
|
+
inline: InlineView12,
|
17058
17175
|
initialState: () => ({
|
17059
17176
|
currentUrl: "",
|
17060
17177
|
enabled: true
|
@@ -17091,7 +17208,7 @@ function assertUnreachable9(_) {
|
|
17091
17208
|
// build/processor.cascadingSwitch/info.js
|
17092
17209
|
function info_default16({ defineComponent, Av, React: React14, common: { Resolutions, FrameRates } }) {
|
17093
17210
|
const SourceSelection = React14.lazy(async () => Promise.resolve().then(() => (init_source_selection(), source_selection_exports)));
|
17094
|
-
const
|
17211
|
+
const InlineView15 = React14.lazy(async () => Promise.resolve().then(() => (init_inline_view10(), inline_view_exports10)));
|
17095
17212
|
return defineComponent({
|
17096
17213
|
identifier: "processor.cascadingSwitch",
|
17097
17214
|
category: "processor",
|
@@ -17173,9 +17290,9 @@ function info_default16({ defineComponent, Av, React: React14, common: { Resolut
|
|
17173
17290
|
assertUnreachable10(evType);
|
17174
17291
|
}
|
17175
17292
|
},
|
17176
|
-
inline:
|
17177
|
-
summary:
|
17178
|
-
fullscreen:
|
17293
|
+
inline: InlineView15,
|
17294
|
+
summary: InlineView15,
|
17295
|
+
fullscreen: InlineView15
|
17179
17296
|
},
|
17180
17297
|
configForm: {
|
17181
17298
|
form: {
|
@@ -17560,7 +17677,7 @@ var import_config6 = __toESM(require_config());
|
|
17560
17677
|
var import_react20 = __toESM(require_react());
|
17561
17678
|
function info_default18({ defineComponent, Video }) {
|
17562
17679
|
const GraphicSelection2 = import_react20.default.lazy(async () => Promise.resolve().then(() => (init_image_selection(), image_selection_exports)));
|
17563
|
-
const
|
17680
|
+
const SummaryView12 = import_react20.default.lazy(async () => Promise.resolve().then(() => (init_summary_view8(), summary_view_exports8)));
|
17564
17681
|
return defineComponent({
|
17565
17682
|
identifier: "processor.onscreenGraphic",
|
17566
17683
|
category: "processor",
|
@@ -17586,7 +17703,7 @@ function info_default18({ defineComponent, Video }) {
|
|
17586
17703
|
};
|
17587
17704
|
},
|
17588
17705
|
runtime: {
|
17589
|
-
summary:
|
17706
|
+
summary: SummaryView12,
|
17590
17707
|
initialState: () => ({}),
|
17591
17708
|
handleEvent: (ev, state) => {
|
17592
17709
|
const evType = ev.type;
|
@@ -17788,7 +17905,7 @@ function info_default19({ defineComponent, All, validation: { Z } }) {
|
|
17788
17905
|
var import_react22 = __toESM(require_react());
|
17789
17906
|
function info_default20(R) {
|
17790
17907
|
const { defineComponent } = R;
|
17791
|
-
const
|
17908
|
+
const InlineView15 = import_react22.default.lazy(async () => Promise.resolve().then(() => (init_inline_view11(), inline_view_exports11)));
|
17792
17909
|
const SourceNodeSelection2 = import_react22.default.lazy(async () => Promise.resolve().then(() => (init_source_node_selection(), source_node_selection_exports)));
|
17793
17910
|
return defineComponent({
|
17794
17911
|
identifier: "util.stats.latency",
|
@@ -17821,7 +17938,7 @@ function info_default20(R) {
|
|
17821
17938
|
}
|
17822
17939
|
return { ...state };
|
17823
17940
|
},
|
17824
|
-
inline:
|
17941
|
+
inline: InlineView15
|
17825
17942
|
},
|
17826
17943
|
configForm: {
|
17827
17944
|
form: {
|