@livepeer-frameworks/streamcrafter-wc 0.1.1 → 0.1.3

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.
@@ -1,17 +1,27 @@
1
1
  /**
2
2
  * <fw-sc-advanced> — Advanced/dev mode side panel.
3
- * Simplified port of AdvancedPanel.tsx from streamcrafter-react.
3
+ * Full port of AdvancedPanel.tsx from streamcrafter-react.
4
+ * Tabs: Audio, Stats, Info, Compositor (when enabled).
4
5
  */
5
6
  import { LitElement } from "lit";
6
7
  import type { IngestControllerHost } from "../controllers/ingest-controller-host.js";
8
+ import type { RendererType, RendererStats } from "@livepeer-frameworks/streamcrafter-core";
7
9
  export declare class FwScAdvanced extends LitElement {
8
10
  ic: IngestControllerHost;
11
+ compositorEnabled: boolean;
12
+ compositorRendererType: RendererType | null;
13
+ compositorStats: RendererStats | null;
14
+ sceneCount: number;
15
+ layerCount: number;
9
16
  private _activeTab;
10
17
  static styles: import("lit").CSSResult[];
11
18
  protected render(): import("lit").TemplateResult<1>;
19
+ private _renderAudio;
20
+ private _renderToggle;
12
21
  private _renderStats;
13
22
  private _renderInfo;
14
- private _row;
23
+ private _renderCompositor;
24
+ private _simpleRow;
15
25
  }
16
26
  declare global {
17
27
  interface HTMLElementTagNameMap {
@@ -17,6 +17,7 @@ export declare class FwStreamCrafter extends LitElement {
17
17
  private _showSettings;
18
18
  private _showSources;
19
19
  private _isAdvancedPanelOpen;
20
+ private _contextMenu;
20
21
  private _videoEl;
21
22
  pc: IngestControllerHost;
22
23
  static styles: import("lit").CSSResult[];
@@ -26,6 +27,11 @@ export declare class FwStreamCrafter extends LitElement {
26
27
  updated(changed: Map<string, unknown>): void;
27
28
  private _initController;
28
29
  private _syncVideoPreview;
30
+ private _boundDismissContextMenu;
31
+ private _handleContextMenu;
32
+ private _dismissContextMenu;
33
+ private _copyWhipUrl;
34
+ private _copyStreamInfo;
29
35
  startCamera(options?: Parameters<IngestControllerHost["startCamera"]>[0]): Promise<MediaSource>;
30
36
  startScreenShare(options?: Parameters<IngestControllerHost["startScreenShare"]>[0]): Promise<MediaSource | null>;
31
37
  startStreaming(): Promise<void>;
@@ -39,6 +45,12 @@ export declare class FwStreamCrafter extends LitElement {
39
45
  setQualityProfile(p: QualityProfile): Promise<void>;
40
46
  destroy(): void;
41
47
  protected render(): import("lit").TemplateResult<1>;
48
+ private _getSourceLayerVisibility;
49
+ private _toggleSourceLayerVisibility;
50
+ private _getCompositorRendererType;
51
+ private _getCompositorStats;
52
+ private _getSceneCount;
53
+ private _getLayerCount;
42
54
  private _renderSourceRow;
43
55
  private _renderSettingsPopup;
44
56
  }
@@ -35,6 +35,8 @@ export interface IngestControllerHostState {
35
35
  isWebCodecsActive: boolean;
36
36
  isWebCodecsAvailable: boolean;
37
37
  encoderStats: EncoderStats | null;
38
+ audioLevel: number;
39
+ peakAudioLevel: number;
38
40
  }
39
41
  type HostElement = ReactiveControllerHost & HTMLElement;
40
42
  export declare class IngestControllerHost implements ReactiveController {
@@ -42,6 +44,7 @@ export declare class IngestControllerHost implements ReactiveController {
42
44
  private controller;
43
45
  private unsubs;
44
46
  private encoderStatsCleanup;
47
+ private audioLevelCleanup;
45
48
  s: IngestControllerHostState;
46
49
  constructor(host: HostElement, initialProfile?: QualityProfile);
47
50
  initialize(config: IngestControllerConfigV2): void;
@@ -51,6 +54,8 @@ export declare class IngestControllerHost implements ReactiveController {
51
54
  private update;
52
55
  private subscribeToEvents;
53
56
  private setupEncoderStatsListener;
57
+ private startAudioLevelMonitoring;
58
+ private stopAudioLevelMonitoring;
54
59
  private dispatchEvent;
55
60
  startCamera(options?: CaptureOptions): Promise<MediaSource>;
56
61
  startScreenShare(options?: ScreenCaptureOptions): Promise<MediaSource | null>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livepeer-frameworks/streamcrafter-wc",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "type": "module",
5
5
  "description": "Lit Web Components for StreamCrafter - framework-agnostic streaming UI",
6
6
  "main": "dist/cjs/index.cjs",