@norskvideo/norsk-studio-source-switcher 1.27.0-2025-03-10-85778fae → 1.27.0-2025-03-13-5c343278

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 CHANGED
@@ -298,7 +298,7 @@ __export(inline_view_exports, {
298
298
  default: () => inline_view_default
299
299
  });
300
300
  function InlineView({ state }) {
301
- return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [(0, import_jsx_runtime.jsx)("h5", { children: "Sources" }), (0, import_jsx_runtime.jsx)("ul", { children: state.knownSources.map((s, i) => state.activeSource.id == s.id && state.activeSource.key == s.key ? (0, import_jsx_runtime.jsxs)("li", { className: activeClasses, children: [s.key ?? s.id, " <--"] }, i) : state.availableSources.find((a) => a.id == s.id && a.key == s.key) ? (0, import_jsx_runtime.jsxs)("li", { className: availableClasses, children: [s.key ?? s.id, " (available)"] }, i) : (0, import_jsx_runtime.jsxs)("li", { className: inactiveClasses, children: [s.key ?? s.id, " (inactive)"] }, i)) })] });
301
+ return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [(0, import_jsx_runtime.jsx)("h5", { children: "Sources" }), (0, import_jsx_runtime.jsx)("ul", { children: state.knownSources.map((s, i) => state.activeSource.sourceName == s.sourceName ? (0, import_jsx_runtime.jsxs)("li", { className: activeClasses, children: [s.sourceName, " <--"] }, i) : state.availableSources.find((a) => a.sourceName == s.sourceName) ? (0, import_jsx_runtime.jsxs)("li", { className: availableClasses, children: [s.sourceName, " (available)"] }, i) : (0, import_jsx_runtime.jsxs)("li", { className: inactiveClasses, children: [s.sourceName, " (inactive)"] }, i)) })] });
302
302
  }
303
303
  var import_jsx_runtime, activeClasses, availableClasses, inactiveClasses, inline_view_default;
304
304
  var init_inline_view = __esm({
@@ -330,7 +330,7 @@ function SummaryView({ state, config, sendCommand }) {
330
330
  const [initialLoad, setInitialLoad] = (0, import_react.useState)(true);
331
331
  (0, import_react.useEffect)(() => {
332
332
  if (previewSource !== activePlayerSource || initialLoad) {
333
- const player = previewSource == void 0 ? state.previewPlayerUrl : state.players.find((p) => p.source.id == previewSource.id && p.source.key == previewSource.key)?.player;
333
+ const player = previewSource == void 0 ? state.previewPlayerUrl : state.players.find((p) => p.source.sourceName == previewSource.sourceName)?.player;
334
334
  if (!player)
335
335
  return;
336
336
  if (currentClient) {
@@ -349,9 +349,9 @@ function SummaryView({ state, config, sendCommand }) {
349
349
  initialLoad,
350
350
  state.players
351
351
  ]);
352
- return (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [(0, import_jsx_runtime2.jsx)("h5", { children: "Sources" }), (0, import_jsx_runtime2.jsx)("ul", { children: state.knownSources.map((s, i) => state.activeSource.id == s.id && state.activeSource.key == s.key ? (0, import_jsx_runtime2.jsxs)("li", { className: activeClasses2, children: [s.key ?? s.id, " <--"] }, i) : state.availableSources.find((a) => s.id == a.id && s.key == a.key) ? (0, import_jsx_runtime2.jsxs)("li", { className: availableClasses2, children: [s.key ?? s.id, " (available)"] }, i) : (0, import_jsx_runtime2.jsxs)("li", { className: inactiveClasses2, children: [s.key ?? s.id, " (inactive)"] }, i)) }), config.enablePreviews ? (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [(0, import_jsx_runtime2.jsx)("h4", { children: previewSource ? previewSource.key ?? previewSource.id : "Preview" }), (0, import_jsx_runtime2.jsx)("div", { id: `${config.id}-preview` })] }) : null, (0, import_jsx_runtime2.jsx)("label", { htmlFor: "select-preview", className: "mt-2", children: "Source" }), (0, import_jsx_runtime2.jsxs)("select", { id: "select-preview", className: "mt-2 node-editor-select-input", onChange: (e) => {
352
+ return (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [(0, import_jsx_runtime2.jsx)("h5", { children: "Sources" }), (0, import_jsx_runtime2.jsx)("ul", { children: state.knownSources.map((s, i) => state.activeSource.sourceName == s.sourceName && state.activeSource.sourceName == s.sourceName ? (0, import_jsx_runtime2.jsxs)("li", { className: activeClasses2, children: [s.sourceName, " <--"] }, i) : state.availableSources.find((a) => s.sourceName == a.sourceName) ? (0, import_jsx_runtime2.jsxs)("li", { className: availableClasses2, children: [s.sourceName, " (available)"] }, i) : (0, import_jsx_runtime2.jsxs)("li", { className: inactiveClasses2, children: [s.sourceName, " (inactive)"] }, i)) }), config.enablePreviews ? (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [(0, import_jsx_runtime2.jsx)("h4", { children: previewSource ? previewSource.sourceName : "Preview" }), (0, import_jsx_runtime2.jsx)("div", { id: `${config.id}-preview` })] }) : null, (0, import_jsx_runtime2.jsx)("label", { htmlFor: "select-preview", className: "mt-2", children: "Source" }), (0, import_jsx_runtime2.jsxs)("select", { id: "select-preview", className: "mt-2 node-editor-select-input", onChange: (e) => {
353
353
  setPreviewSource(JSON.parse(e.currentTarget.value));
354
- }, children: [(0, import_jsx_runtime2.jsx)("option", { selected: previewSource === void 0, children: "---" }), state.availableSources.map((s, i) => (0, import_jsx_runtime2.jsx)("option", { selected: previewSource == s, value: JSON.stringify(s), children: s.key ?? s.id }, i))] }), previewSource ? (0, import_jsx_runtime2.jsx)("button", { type: "button", className: "mt-2 mb-2 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", onClick: (e) => {
354
+ }, children: [(0, import_jsx_runtime2.jsx)("option", { selected: previewSource === void 0, children: "---" }), state.availableSources.map((s, i) => (0, import_jsx_runtime2.jsx)("option", { selected: previewSource == s, value: JSON.stringify(s), children: s.sourceName }, i))] }), previewSource ? (0, import_jsx_runtime2.jsx)("button", { type: "button", className: "mt-2 mb-2 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", onClick: (e) => {
355
355
  e.preventDefault();
356
356
  sendCommand({ type: "select-source", source: previewSource, overlays: [] });
357
357
  setPreviewSource(void 0);
@@ -2873,9 +2873,9 @@ function createPlayerElement(stream, container) {
2873
2873
  return element;
2874
2874
  }
2875
2875
  async function maybeCreatePlayer(created, source, url) {
2876
- if (!created.find((c) => c.source.id == source.id && c.source.key == source.key)) {
2876
+ if (!created.find((c) => c.source.sourceName == source.sourceName)) {
2877
2877
  const container = document.getElementById(mkContainerId(source)) || void 0;
2878
- const client = new MyWhepClient({ url, container, streamId: source.id, streamKey: source.key });
2878
+ const client = new MyWhepClient({ url, container, sourceName: source.sourceName });
2879
2879
  await client.start();
2880
2880
  const next = [...created];
2881
2881
  next.push({
@@ -2901,17 +2901,17 @@ function FullScreenView(multiCamera) {
2901
2901
  nextCreated = await maybeCreatePlayer(nextCreated, entry.source, entry.player);
2902
2902
  }
2903
2903
  if (multiCamera.state.previewPlayerUrl)
2904
- nextCreated = await maybeCreatePlayer(nextCreated, { id: "preview" }, multiCamera.state.previewPlayerUrl);
2904
+ nextCreated = await maybeCreatePlayer(nextCreated, { sourceName: "preview" }, multiCamera.state.previewPlayerUrl);
2905
2905
  let initialLivePreviewSource;
2906
2906
  if (state.livePreviewSource === void 0) {
2907
- const fallbackSource = nextCreated.find((s) => s.source.id === "fallback");
2907
+ const fallbackSource = nextCreated.find((s) => s.source.sourceName === "fallback");
2908
2908
  if (fallbackSource) {
2909
2909
  initialLivePreviewSource = fallbackSource;
2910
2910
  }
2911
2911
  }
2912
2912
  setState({ ...state, createdClient: nextCreated, livePreviewSource: initialLivePreviewSource });
2913
2913
  for (const c of nextCreated) {
2914
- if (!multiCamera.state.players.find((s) => s.source.id == c.source.id && s.source.key == s.source.key)) {
2914
+ if (!multiCamera.state.players.find((s) => s.source.sourceName == c.source.sourceName)) {
2915
2915
  c.client.videoElements.forEach((e) => {
2916
2916
  e.remove();
2917
2917
  });
@@ -2922,18 +2922,17 @@ function FullScreenView(multiCamera) {
2922
2922
  accept: "video",
2923
2923
  ondrop: (e) => {
2924
2924
  const video = e.relatedTarget;
2925
- const streamId = video.getAttribute("data-streamid");
2926
- const streamKey = video.getAttribute("data-streamkey");
2927
- if (!streamId) {
2925
+ const source = video.getAttribute("data-source");
2926
+ if (!source) {
2928
2927
  } else {
2929
2928
  const targetRect = refLivePreviewVideo.current?.getBoundingClientRect();
2930
2929
  if (targetRect) {
2931
2930
  const relativeX = e.dragEvent.page.x - targetRect?.left;
2932
2931
  const relativeY = e.dragEvent.page.y - targetRect?.top;
2933
2932
  setState((state2) => {
2934
- const sourceVideo = state2.createdClient.find((c) => c.source.id == streamId && c.source.key == streamKey);
2933
+ const sourceVideo = state2.createdClient.find((c) => c.source.sourceName == source);
2935
2934
  if (!sourceVideo) {
2936
- console.warn("Couldn't find source to build overlay", { streamId, streamKey });
2935
+ console.warn("Couldn't find source to build overlay", { source });
2937
2936
  return state2;
2938
2937
  }
2939
2938
  const videoRect = video.getBoundingClientRect();
@@ -2991,7 +2990,7 @@ function FullScreenView(multiCamera) {
2991
2990
  }, [state.livePreviewSource]);
2992
2991
  const takeButtonClasses = "text-gray-900 bg-white border border-gray-300 focus:outline-none focus:ring-0 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 dark:bg-gray-800 dark:border-gray-600 dark:focus:ring-gray-700 w-full dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700 dark:hover:border-gray-600";
2993
2992
  const sourcesSorted = multiCamera.state.availableSources.sort(sortSource).reduce(({ fallback, inputs }, s) => {
2994
- if (s.id === "fallback") {
2993
+ if (s.sourceName === "fallback") {
2995
2994
  return { fallback: s, inputs };
2996
2995
  }
2997
2996
  return { fallback, inputs: [...inputs, s] };
@@ -3003,7 +3002,7 @@ function FullScreenView(multiCamera) {
3003
3002
  const isLive = isSourceSwitchSourceEqual(s, multiCamera.state.activeSource);
3004
3003
  return (0, import_jsx_runtime3.jsxs)("div", { className: "relative", children: [(0, import_jsx_runtime3.jsx)("div", { className: `${isLive ? "border-green-400 border-solid border-2" : ""}`, id: mkContainerId(s) }), (0, import_jsx_runtime3.jsxs)("button", { className: takeButtonClasses, onClick: (_e) => {
3005
3004
  setState({ ...state, livePreviewSource: state.createdClient.find((c) => isSourceSwitchSourceEqual(c.source, s)) });
3006
- }, children: ["Preview ", s.key ?? s.id] }), (0, import_jsx_runtime3.jsx)("div", { children: isLive ? (0, import_jsx_runtime3.jsx)("span", { className: "absolute top-2 left-2 z-10 px-1 bg-green-300 text-white dark:text-black cursor-default text-xs", children: "Live" }) : (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}) })] }, i);
3005
+ }, children: ["Preview ", s.sourceName] }), (0, import_jsx_runtime3.jsx)("div", { children: isLive ? (0, import_jsx_runtime3.jsx)("span", { className: "absolute top-2 left-2 z-10 px-1 bg-green-300 text-white dark:text-black cursor-default text-xs", children: "Live" }) : (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}) })] }, i);
3007
3006
  }) })] }), (0, import_jsx_runtime3.jsxs)("div", { id: "live-views", className: "grid grid-cols-2 gap-4 mb-6", children: [(0, import_jsx_runtime3.jsxs)("div", { id: "video-live-preview", className: "h-full relative 2xl:w-8/12 lg:w-10/12 justify-self-end", children: [(0, import_jsx_runtime3.jsx)("video", { onClick: () => {
3008
3007
  setState((s) => {
3009
3008
  clearSelection(s.overlays);
@@ -3089,13 +3088,13 @@ function FullScreenView(multiCamera) {
3089
3088
  })
3090
3089
  });
3091
3090
  }
3092
- }, children: ["Take ", state.overlays.length > 0 ? "Composition" : state.livePreviewSource?.source.key ?? state.livePreviewSource?.source.id] }), state.overlays.length > 0 ? (0, import_jsx_runtime3.jsx)("button", { className: takeButtonClasses, onClick: (_e) => {
3091
+ }, children: ["Take ", state.overlays.length > 0 ? "Composition" : state.livePreviewSource?.source.sourceName] }), state.overlays.length > 0 ? (0, import_jsx_runtime3.jsx)("button", { className: takeButtonClasses, onClick: (_e) => {
3093
3092
  setState({ ...state, overlays: [] });
3094
- }, children: "Clear Composition" }) : (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}), (0, import_jsx_runtime3.jsxs)("div", { className: "absolute top-0 left-0 z-10 ml-2 mt-2 p-2 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white opacity-70", children: ["Live Preview: ", (0, import_jsx_runtime3.jsx)("span", { id: "active-source-overlay", children: state.livePreviewSource?.source.key ?? state.livePreviewSource?.source.id })] })] }), (0, import_jsx_runtime3.jsxs)("div", { className: "relative 2xl:w-8/12 lg:w-10/12 justify-self-start", children: [(0, import_jsx_runtime3.jsx)("div", { id: "preview-container-preview", className: "w-full" }), (0, import_jsx_runtime3.jsxs)("div", { className: "absolute top-0 left-0 z-10 ml-2 mt-2 p-2 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white opacity-70", children: ["Live Output: ", (0, import_jsx_runtime3.jsx)("span", { id: "active-source-overlay", children: multiCamera.state.activeSource.key ?? multiCamera.state.activeSource.id })] })] })] })] }) });
3093
+ }, children: "Clear Composition" }) : (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}), (0, import_jsx_runtime3.jsxs)("div", { className: "absolute top-0 left-0 z-10 ml-2 mt-2 p-2 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white opacity-70", children: ["Live Preview: ", (0, import_jsx_runtime3.jsx)("span", { id: "active-source-overlay", children: state.livePreviewSource?.source.sourceName })] })] }), (0, import_jsx_runtime3.jsxs)("div", { className: "relative 2xl:w-8/12 lg:w-10/12 justify-self-start", children: [(0, import_jsx_runtime3.jsx)("div", { id: "preview-container-preview", className: "w-full" }), (0, import_jsx_runtime3.jsxs)("div", { className: "absolute top-0 left-0 z-10 ml-2 mt-2 p-2 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white opacity-70", children: ["Live Output: ", (0, import_jsx_runtime3.jsx)("span", { id: "active-source-overlay", children: multiCamera.state.activeSource.sourceName })] })] })] })] }) });
3095
3094
  }
3096
3095
  function sortSource(a, b) {
3097
- const aKey = a.key || "";
3098
- const bKey = b.key || "";
3096
+ const aKey = a.sourceName || "";
3097
+ const bKey = b.sourceName || "";
3099
3098
  if (aKey > bKey)
3100
3099
  return 1;
3101
3100
  if (aKey < bKey)
@@ -3103,10 +3102,10 @@ function sortSource(a, b) {
3103
3102
  return 0;
3104
3103
  }
3105
3104
  function isSourceSwitchSourceEqual(a, b) {
3106
- return a.id === b.id && a.key === b.key;
3105
+ return a.sourceName === b.sourceName;
3107
3106
  }
3108
3107
  function mkContainerId(source) {
3109
- return `preview-container-${source.id}${source.key ? "-" + source.key : ""}`;
3108
+ return `preview-container-${source.sourceName}`;
3110
3109
  }
3111
3110
  var import_jsx_runtime3, import_react2, import_interactjs, import_webrtc_client2, DEFAULT_OVERLAY_WIDTH, MyWhepClient, fullscreen_view_default;
3112
3111
  var init_fullscreen_view = __esm({
@@ -3121,12 +3120,10 @@ var init_fullscreen_view = __esm({
3121
3120
  started;
3122
3121
  resolveStartedPromise;
3123
3122
  mediaStream;
3124
- streamId;
3125
- streamKey;
3123
+ sourceName;
3126
3124
  constructor(config) {
3127
3125
  super(config);
3128
- this.streamId = config.streamId;
3129
- this.streamKey = config.streamKey;
3126
+ this.sourceName = config.sourceName;
3130
3127
  this.started = new Promise((resolve, _reject) => {
3131
3128
  this.resolveStartedPromise = resolve;
3132
3129
  if (this.mediaStream) {
@@ -3159,9 +3156,7 @@ var init_fullscreen_view = __esm({
3159
3156
  this.resolveStartedPromise?.(stream);
3160
3157
  e.style.userSelect = "none";
3161
3158
  e.style.touchAction = "none";
3162
- e.setAttribute("data-streamid", this.streamId);
3163
- if (this.streamKey)
3164
- e.setAttribute("data-streamkey", this.streamKey);
3159
+ e.setAttribute("data-source", this.sourceName);
3165
3160
  let element = void 0;
3166
3161
  let target = void 0;
3167
3162
  (0, import_interactjs.default)(e).draggable({
@@ -3219,20 +3214,36 @@ function info_default(R) {
3219
3214
  description: "This component manages multiple A/V (audio and video) streams from different sources, switching between the sources dynamically.",
3220
3215
  subscription: {
3221
3216
  accepts: {
3222
- type: "multi-stream",
3223
- media: Av
3217
+ type: "dynamic-streams",
3218
+ mode: { type: "multiple", groupBy: "sourceName" },
3219
+ streams: () => Av.map((media) => ({ media }))
3224
3220
  },
3225
3221
  produces: {
3226
- type: "single-stream",
3227
- media: Av
3222
+ type: "simple-stream",
3223
+ audio: true,
3224
+ video: true
3228
3225
  }
3229
3226
  },
3227
+ // I think we can validate on actual input streams at this point?
3230
3228
  extraValidation: (ctx) => {
3231
- ctx.subscriptions.forEach((s) => {
3232
- if (s.validatedStreams.select.includes("audio") && s.validatedStreams.select.includes("video")) {
3233
- return;
3229
+ const inputStreams = ctx.subscriptions.flatMap((s) => s.expectedStreams);
3230
+ const sourceNames = new Set(inputStreams.map((s) => s.sourceName));
3231
+ if (sourceNames.has(void 0)) {
3232
+ ctx.addError(`All streams must have a sourceName`);
3233
+ }
3234
+ sourceNames.forEach((s) => {
3235
+ const video = inputStreams.filter((i) => i.sourceName == s && i.media == "video");
3236
+ const audio = inputStreams.filter((i) => i.sourceName == s && i.media == "audio");
3237
+ if (video.length == 0) {
3238
+ ctx.addError(`missing video with sourceName ${s}`);
3239
+ } else if (video.length > 1) {
3240
+ ctx.addError(`video with sourceName ${s} exists more than once`);
3241
+ }
3242
+ if (audio.length == 0) {
3243
+ ctx.addError(`missing audio with sourceName ${s}`);
3244
+ } else if (audio.length > 1) {
3245
+ ctx.addError(`audio with sourceName ${s} exists more than once`);
3234
3246
  }
3235
- ctx.addError("Each subscription for Source Switcher must contain both video *and* audio, subscription to " + s.source + " only contains " + s.validatedStreams.select.join(","));
3236
3247
  });
3237
3248
  },
3238
3249
  display: (desc) => {
@@ -3247,7 +3258,7 @@ function info_default(R) {
3247
3258
  ],
3248
3259
  runtime: {
3249
3260
  initialState: () => ({
3250
- activeSource: { id: "" },
3261
+ activeSource: { sourceName: "" },
3251
3262
  activeOverlays: [],
3252
3263
  availableSources: [],
3253
3264
  knownSources: [],
@@ -3268,8 +3279,8 @@ function info_default(R) {
3268
3279
  state.previewPlayerUrl = ev.url;
3269
3280
  return { ...state };
3270
3281
  case "source-offline": {
3271
- const sourceIndex = state.availableSources.findIndex((s) => s.key == ev.source.key && s.id == ev.source.id);
3272
- const playerIndex = state.players.findIndex((s) => s.source.key == ev.source.key && s.source.id == ev.source.id);
3282
+ const sourceIndex = state.availableSources.findIndex((s) => s.sourceName == ev.source.sourceName);
3283
+ const playerIndex = state.players.findIndex((s) => s.source.sourceName == ev.source.sourceName);
3273
3284
  if (sourceIndex >= 0)
3274
3285
  state.availableSources.splice(sourceIndex, 1);
3275
3286
  if (playerIndex >= 0)
@@ -78,10 +78,6 @@
78
78
  }
79
79
  }
80
80
 
81
- .fixed {
82
- position: fixed;
83
- }
84
-
85
81
  .absolute {
86
82
  position: absolute;
87
83
  }
@@ -12,12 +12,10 @@ class MyWhepClient extends webrtc_client_1.WhepClient {
12
12
  started;
13
13
  resolveStartedPromise;
14
14
  mediaStream;
15
- streamId;
16
- streamKey;
15
+ sourceName;
17
16
  constructor(config) {
18
17
  super(config);
19
- this.streamId = config.streamId;
20
- this.streamKey = config.streamKey;
18
+ this.sourceName = config.sourceName;
21
19
  this.started = new Promise((resolve, _reject) => {
22
20
  this.resolveStartedPromise = resolve;
23
21
  if (this.mediaStream) {
@@ -51,9 +49,7 @@ class MyWhepClient extends webrtc_client_1.WhepClient {
51
49
  this.resolveStartedPromise?.(stream);
52
50
  e.style.userSelect = 'none';
53
51
  e.style.touchAction = 'none';
54
- e.setAttribute('data-streamid', this.streamId);
55
- if (this.streamKey)
56
- e.setAttribute('data-streamkey', this.streamKey);
52
+ e.setAttribute('data-source', this.sourceName);
57
53
  let element = undefined;
58
54
  let target = undefined;
59
55
  (0, interactjs_1.default)(e).draggable({
@@ -102,9 +98,9 @@ function createPlayerElement(stream, container) {
102
98
  return element;
103
99
  }
104
100
  async function maybeCreatePlayer(created, source, url) {
105
- if (!created.find((c) => c.source.id == source.id && c.source.key == source.key)) {
101
+ if (!created.find((c) => c.source.sourceName == source.sourceName)) {
106
102
  const container = document.getElementById(mkContainerId(source)) || undefined;
107
- const client = new MyWhepClient({ url, container, streamId: source.id, streamKey: source.key });
103
+ const client = new MyWhepClient({ url, container, sourceName: source.sourceName });
108
104
  await client.start();
109
105
  const next = [...created];
110
106
  next.push({
@@ -130,17 +126,17 @@ function FullScreenView(multiCamera) {
130
126
  nextCreated = await maybeCreatePlayer(nextCreated, entry.source, entry.player);
131
127
  }
132
128
  if (multiCamera.state.previewPlayerUrl)
133
- nextCreated = await maybeCreatePlayer(nextCreated, { id: 'preview' }, multiCamera.state.previewPlayerUrl);
129
+ nextCreated = await maybeCreatePlayer(nextCreated, { sourceName: 'preview' }, multiCamera.state.previewPlayerUrl);
134
130
  let initialLivePreviewSource;
135
131
  if (state.livePreviewSource === undefined) {
136
- const fallbackSource = nextCreated.find((s) => s.source.id === "fallback");
132
+ const fallbackSource = nextCreated.find((s) => s.source.sourceName === "fallback");
137
133
  if (fallbackSource) {
138
134
  initialLivePreviewSource = fallbackSource;
139
135
  }
140
136
  }
141
137
  setState({ ...state, createdClient: nextCreated, livePreviewSource: initialLivePreviewSource });
142
138
  for (const c of nextCreated) {
143
- if (!multiCamera.state.players.find((s) => s.source.id == c.source.id && s.source.key == s.source.key)) {
139
+ if (!multiCamera.state.players.find((s) => s.source.sourceName == c.source.sourceName)) {
144
140
  c.client.videoElements.forEach((e) => {
145
141
  e.remove();
146
142
  });
@@ -152,9 +148,8 @@ function FullScreenView(multiCamera) {
152
148
  accept: 'video',
153
149
  ondrop: (e) => {
154
150
  const video = e.relatedTarget;
155
- const streamId = video.getAttribute('data-streamid');
156
- const streamKey = video.getAttribute('data-streamkey');
157
- if (!streamId) {
151
+ const source = video.getAttribute('data-source');
152
+ if (!source) {
158
153
  }
159
154
  else {
160
155
  const targetRect = refLivePreviewVideo.current?.getBoundingClientRect();
@@ -162,9 +157,9 @@ function FullScreenView(multiCamera) {
162
157
  const relativeX = e.dragEvent.page.x - targetRect?.left;
163
158
  const relativeY = e.dragEvent.page.y - targetRect?.top;
164
159
  setState((state) => {
165
- const sourceVideo = state.createdClient.find((c) => c.source.id == streamId && c.source.key == streamKey);
160
+ const sourceVideo = state.createdClient.find((c) => c.source.sourceName == source);
166
161
  if (!sourceVideo) {
167
- console.warn("Couldn't find source to build overlay", { streamId, streamKey });
162
+ console.warn("Couldn't find source to build overlay", { source });
168
163
  return state;
169
164
  }
170
165
  const videoRect = video.getBoundingClientRect();
@@ -224,7 +219,7 @@ function FullScreenView(multiCamera) {
224
219
  const takeButtonClasses = "text-gray-900 bg-white border border-gray-300 focus:outline-none focus:ring-0 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 dark:bg-gray-800 dark:border-gray-600 dark:focus:ring-gray-700 w-full dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700 dark:hover:border-gray-600";
225
220
  const sourcesSorted = multiCamera.state.availableSources.sort(sortSource)
226
221
  .reduce(({ fallback, inputs }, s) => {
227
- if (s.id === "fallback") {
222
+ if (s.sourceName === "fallback") {
228
223
  return { fallback: s, inputs };
229
224
  }
230
225
  return { fallback, inputs: [...inputs, s] };
@@ -234,7 +229,7 @@ function FullScreenView(multiCamera) {
234
229
  }
235
230
  return (0, jsx_runtime_1.jsx)("div", { id: "camera-control-container", className: "bg-gray-50 dark:bg-gray-900", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col h-full gap-4 2xl:mx-40 md:mx-6", children: [(0, jsx_runtime_1.jsxs)("div", { id: "camera-control-preview-grid", className: "mb-6", children: [(0, jsx_runtime_1.jsx)("h2", { children: "Camera Control" }), (0, jsx_runtime_1.jsx)("div", { className: "grid 2xl:grid-cols-5 lg:grid-cols-4 md:grid-cols-3 sm:grid-cols-2 xs:grid-cols-2 grid-rows-1 gap-4", children: sourcesSorted.inputs.map((s, i) => {
236
231
  const isLive = isSourceSwitchSourceEqual(s, multiCamera.state.activeSource);
237
- return (0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)("div", { className: `${isLive ? 'border-green-400 border-solid border-2' : ''}`, id: mkContainerId(s) }), (0, jsx_runtime_1.jsxs)("button", { className: takeButtonClasses, onClick: (_e) => { setState({ ...state, livePreviewSource: state.createdClient.find((c) => isSourceSwitchSourceEqual(c.source, s)) }); }, children: ["Preview ", s.key ?? s.id] }), (0, jsx_runtime_1.jsx)("div", { children: isLive ? (0, jsx_runtime_1.jsx)("span", { className: "absolute top-2 left-2 z-10 px-1 bg-green-300 text-white dark:text-black cursor-default text-xs", children: "Live" }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}) })] }, i);
232
+ return (0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)("div", { className: `${isLive ? 'border-green-400 border-solid border-2' : ''}`, id: mkContainerId(s) }), (0, jsx_runtime_1.jsxs)("button", { className: takeButtonClasses, onClick: (_e) => { setState({ ...state, livePreviewSource: state.createdClient.find((c) => isSourceSwitchSourceEqual(c.source, s)) }); }, children: ["Preview ", s.sourceName] }), (0, jsx_runtime_1.jsx)("div", { children: isLive ? (0, jsx_runtime_1.jsx)("span", { className: "absolute top-2 left-2 z-10 px-1 bg-green-300 text-white dark:text-black cursor-default text-xs", children: "Live" }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}) })] }, i);
238
233
  }) })] }), (0, jsx_runtime_1.jsxs)("div", { id: "live-views", className: "grid grid-cols-2 gap-4 mb-6", children: [(0, jsx_runtime_1.jsxs)("div", { id: "video-live-preview", className: "h-full relative 2xl:w-8/12 lg:w-10/12 justify-self-end", children: [(0, jsx_runtime_1.jsx)("video", { onClick: () => {
239
234
  setState((s) => {
240
235
  clearSelection(s.overlays);
@@ -318,13 +313,13 @@ function FullScreenView(multiCamera) {
318
313
  })
319
314
  });
320
315
  }
321
- }, children: ["Take ", state.overlays.length > 0 ? "Composition" : state.livePreviewSource?.source.key ?? state.livePreviewSource?.source.id] }), state.overlays.length > 0 ? (0, jsx_runtime_1.jsx)("button", { className: takeButtonClasses, onClick: (_e) => {
316
+ }, children: ["Take ", state.overlays.length > 0 ? "Composition" : state.livePreviewSource?.source.sourceName] }), state.overlays.length > 0 ? (0, jsx_runtime_1.jsx)("button", { className: takeButtonClasses, onClick: (_e) => {
322
317
  setState({ ...state, overlays: [] });
323
- }, children: "Clear Composition" }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}), (0, jsx_runtime_1.jsxs)("div", { className: "absolute top-0 left-0 z-10 ml-2 mt-2 p-2 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white opacity-70", children: ["Live Preview: ", (0, jsx_runtime_1.jsx)("span", { id: "active-source-overlay", children: state.livePreviewSource?.source.key ?? state.livePreviewSource?.source.id })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "relative 2xl:w-8/12 lg:w-10/12 justify-self-start", children: [(0, jsx_runtime_1.jsx)("div", { id: "preview-container-preview", className: "w-full" }), (0, jsx_runtime_1.jsxs)("div", { className: "absolute top-0 left-0 z-10 ml-2 mt-2 p-2 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white opacity-70", children: ["Live Output: ", (0, jsx_runtime_1.jsx)("span", { id: "active-source-overlay", children: multiCamera.state.activeSource.key ?? multiCamera.state.activeSource.id })] })] })] })] }) });
318
+ }, children: "Clear Composition" }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}), (0, jsx_runtime_1.jsxs)("div", { className: "absolute top-0 left-0 z-10 ml-2 mt-2 p-2 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white opacity-70", children: ["Live Preview: ", (0, jsx_runtime_1.jsx)("span", { id: "active-source-overlay", children: state.livePreviewSource?.source.sourceName })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "relative 2xl:w-8/12 lg:w-10/12 justify-self-start", children: [(0, jsx_runtime_1.jsx)("div", { id: "preview-container-preview", className: "w-full" }), (0, jsx_runtime_1.jsxs)("div", { className: "absolute top-0 left-0 z-10 ml-2 mt-2 p-2 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white opacity-70", children: ["Live Output: ", (0, jsx_runtime_1.jsx)("span", { id: "active-source-overlay", children: multiCamera.state.activeSource.sourceName })] })] })] })] }) });
324
319
  }
325
320
  function sortSource(a, b) {
326
- const aKey = a.key || '';
327
- const bKey = b.key || '';
321
+ const aKey = a.sourceName || '';
322
+ const bKey = b.sourceName || '';
328
323
  if (aKey > bKey)
329
324
  return 1;
330
325
  if (aKey < bKey)
@@ -332,10 +327,10 @@ function sortSource(a, b) {
332
327
  return 0;
333
328
  }
334
329
  function isSourceSwitchSourceEqual(a, b) {
335
- return a.id === b.id && a.key === b.key;
330
+ return a.sourceName === b.sourceName;
336
331
  }
337
332
  function mkContainerId(source) {
338
- return `preview-container-${source.id}${source.key ? '-' + source.key : ''}`;
333
+ return `preview-container-${source.sourceName}`;
339
334
  }
340
335
  exports.default = FullScreenView;
341
336
  //# sourceMappingURL=fullscreen-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fullscreen-view.js","sourceRoot":"","sources":["../src/fullscreen-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullscreen-view.js","sourceRoot":"","sources":["../src/fullscreen-view.tsx"],"names":[],"mappings":"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"}
package/lib/info.js CHANGED
@@ -41,20 +41,37 @@ function default_1(R) {
41
41
  description: "This component manages multiple A/V (audio and video) streams from different sources, switching between the sources dynamically.",
42
42
  subscription: {
43
43
  accepts: {
44
- type: 'multi-stream',
45
- media: Av
44
+ type: 'dynamic-streams',
45
+ mode: { type: 'multiple', groupBy: "sourceName" },
46
+ streams: () => Av.map((media) => ({ media }))
46
47
  },
47
48
  produces: {
48
- type: "single-stream",
49
- media: Av
49
+ type: "simple-stream",
50
+ audio: true,
51
+ video: true
50
52
  }
51
53
  },
52
54
  extraValidation: (ctx) => {
53
- ctx.subscriptions.forEach((s) => {
54
- if (s.validatedStreams.select.includes("audio") && s.validatedStreams.select.includes("video")) {
55
- return;
55
+ const inputStreams = ctx.subscriptions.flatMap((s) => s.expectedStreams);
56
+ const sourceNames = new Set(inputStreams.map((s) => s.sourceName));
57
+ if (sourceNames.has(undefined)) {
58
+ ctx.addError(`All streams must have a sourceName`);
59
+ }
60
+ sourceNames.forEach((s) => {
61
+ const video = inputStreams.filter((i => i.sourceName == s && i.media == "video"));
62
+ const audio = inputStreams.filter((i => i.sourceName == s && i.media == "audio"));
63
+ if (video.length == 0) {
64
+ ctx.addError(`missing video with sourceName ${s}`);
65
+ }
66
+ else if (video.length > 1) {
67
+ ctx.addError(`video with sourceName ${s} exists more than once`);
68
+ }
69
+ if (audio.length == 0) {
70
+ ctx.addError(`missing audio with sourceName ${s}`);
71
+ }
72
+ else if (audio.length > 1) {
73
+ ctx.addError(`audio with sourceName ${s} exists more than once`);
56
74
  }
57
- ctx.addError("Each subscription for Source Switcher must contain both video *and* audio, subscription to " + s.source + " only contains " + s.validatedStreams.select.join(","));
58
75
  });
59
76
  },
60
77
  display: (desc) => {
@@ -69,7 +86,7 @@ function default_1(R) {
69
86
  ],
70
87
  runtime: {
71
88
  initialState: () => ({
72
- activeSource: { id: '' },
89
+ activeSource: { sourceName: '' },
73
90
  activeOverlays: [],
74
91
  availableSources: [],
75
92
  knownSources: [],
@@ -90,8 +107,8 @@ function default_1(R) {
90
107
  state.previewPlayerUrl = ev.url;
91
108
  return { ...state };
92
109
  case 'source-offline': {
93
- const sourceIndex = state.availableSources.findIndex((s) => s.key == ev.source.key && s.id == ev.source.id);
94
- const playerIndex = state.players.findIndex((s) => s.source.key == ev.source.key && s.source.id == ev.source.id);
110
+ const sourceIndex = state.availableSources.findIndex((s) => s.sourceName == ev.source.sourceName);
111
+ const playerIndex = state.players.findIndex((s) => s.source.sourceName == ev.source.sourceName);
95
112
  if (sourceIndex >= 0)
96
113
  state.availableSources.splice(sourceIndex, 1);
97
114
  if (playerIndex >= 0)
package/lib/info.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ const activeClasses = "active text-green-500 dark:text-green-300";
5
5
  const availableClasses = "available text-green-500 dark:text-green-300";
6
6
  const inactiveClasses = "inactive text-orange-500 dark:text-orange-300";
7
7
  function InlineView({ state }) {
8
- return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h5", { children: "Sources" }), (0, jsx_runtime_1.jsx)("ul", { children: state.knownSources.map((s, i) => state.activeSource.id == s.id && state.activeSource.key == s.key ?
9
- (0, jsx_runtime_1.jsxs)("li", { className: activeClasses, children: [s.key ?? s.id, " <--"] }, i)
10
- : state.availableSources.find((a) => a.id == s.id && a.key == s.key)
11
- ? (0, jsx_runtime_1.jsxs)("li", { className: availableClasses, children: [s.key ?? s.id, " (available)"] }, i)
12
- : (0, jsx_runtime_1.jsxs)("li", { className: inactiveClasses, children: [s.key ?? s.id, " (inactive)"] }, i)) })] });
8
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h5", { children: "Sources" }), (0, jsx_runtime_1.jsx)("ul", { children: state.knownSources.map((s, i) => state.activeSource.sourceName == s.sourceName ?
9
+ (0, jsx_runtime_1.jsxs)("li", { className: activeClasses, children: [s.sourceName, " <--"] }, i)
10
+ : state.availableSources.find((a) => a.sourceName == s.sourceName)
11
+ ? (0, jsx_runtime_1.jsxs)("li", { className: availableClasses, children: [s.sourceName, " (available)"] }, i)
12
+ : (0, jsx_runtime_1.jsxs)("li", { className: inactiveClasses, children: [s.sourceName, " (inactive)"] }, i)) })] });
13
13
  }
14
14
  exports.default = InlineView;
15
15
  //# sourceMappingURL=inline-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../src/inline-view.tsx"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAAG,2CAA2C,CAAC;AAClE,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AACxE,MAAM,eAAe,GAAG,+CAA+C,CAAC;AAExE,SAAS,UAAU,CAAC,EAAE,KAAK,EAA4D;IACrF,OAAO,6DACL,qDAAgB,EAChB,yCACG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/B,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChE,gCAAY,SAAS,EAAE,aAAa,aAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,aAA3C,CAAC,CAAuD;oBACjE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;wBAClE,CAAC,CAAC,gCAAY,SAAS,EAAE,gBAAgB,aAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,qBAA9C,CAAC,CAA+D;wBAC3E,CAAC,CAAC,gCAAY,SAAS,EAAE,eAAe,aAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,oBAA7C,CAAC,CAA6D,CAC9E,GACE,IACJ,CAAA;AACL,CAAC;AAED,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../src/inline-view.tsx"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAAG,2CAA2C,CAAC;AAClE,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AACxE,MAAM,eAAe,GAAG,+CAA+C,CAAC;AAExE,SAAS,UAAU,CAAC,EAAE,KAAK,EAA4D;IACrF,OAAO,6DACL,qDAAgB,EAChB,yCACG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/B,KAAK,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;oBAC7C,gCAAY,SAAS,EAAE,aAAa,aAAG,CAAC,CAAC,UAAU,aAA1C,CAAC,CAAsD;oBAChE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC;wBAChE,CAAC,CAAC,gCAAY,SAAS,EAAE,gBAAgB,aAAG,CAAC,CAAC,UAAU,qBAA7C,CAAC,CAA8D;wBAC1E,CAAC,CAAC,gCAAY,SAAS,EAAE,eAAe,aAAG,CAAC,CAAC,UAAU,oBAA5C,CAAC,CAA4D,CAC7E,GACE,IACJ,CAAA;AACL,CAAC;AAED,kBAAe,UAAU,CAAC"}