@gjsify/webrtc-native 0.1.15 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/esm/index.js CHANGED
@@ -1,9 +1,8 @@
1
1
  import GjsifyWebrtc from "gi://GjsifyWebrtc?version=0.1";
2
- const mod = GjsifyWebrtc;
3
- const PromiseBridge = mod.PromiseBridge;
4
- const WebrtcbinBridge = mod.WebrtcbinBridge;
5
- const DataChannelBridge = mod.DataChannelBridge;
6
- const ReceiverBridge = mod.ReceiverBridge;
2
+ const PromiseBridge = GjsifyWebrtc.PromiseBridge;
3
+ const WebrtcbinBridge = GjsifyWebrtc.WebrtcbinBridge;
4
+ const DataChannelBridge = GjsifyWebrtc.DataChannelBridge;
5
+ const ReceiverBridge = GjsifyWebrtc.ReceiverBridge;
7
6
  export {
8
7
  DataChannelBridge,
9
8
  PromiseBridge,
@@ -1,92 +1,9 @@
1
- import type Gst from '@girs/gst-1.0';
2
- import type GstWebRTC from '@girs/gstwebrtc-1.0';
3
- import type GObject from '@girs/gobject-2.0';
4
- import type GLib from '@girs/glib-2.0';
5
- /**
6
- * Wraps GstPromise so its change_func callback — which GStreamer invokes
7
- * on the streaming thread — is delivered on the GLib main context via a
8
- * `replied` or `rejected` signal.
9
- */
10
- export interface PromiseBridge extends GObject.Object {
11
- readonly promise: Gst.Promise;
12
- connect(signal: 'replied', cb: (self: PromiseBridge, reply: Gst.Structure | null) => void): number;
13
- connect(signal: 'rejected', cb: (self: PromiseBridge, message: string) => void): number;
14
- connect(signal: string, cb: (...args: any[]) => void): number;
15
- disconnect(id: number): void;
16
- }
17
- /**
18
- * Mirrors webrtcbin's async signals onto the main thread. Connect on the
19
- * bridge, not on the element directly — GJS blocks JS callbacks from the
20
- * streaming thread.
21
- */
22
- export interface WebrtcbinBridge extends GObject.Object {
23
- readonly bin: Gst.Element;
24
- connect(signal: 'negotiation-needed', cb: (self: WebrtcbinBridge) => void): number;
25
- connect(signal: 'icecandidate', cb: (self: WebrtcbinBridge, sdpMLineIndex: number, candidate: string) => void): number;
26
- connect(signal: 'datachannel', cb: (self: WebrtcbinBridge, channelBridge: DataChannelBridge) => void): number;
27
- connect(signal: 'new-transceiver', cb: (self: WebrtcbinBridge, transceiver: GstWebRTC.WebRTCRTPTransceiver) => void): number;
28
- connect(signal: 'pad-added', cb: (self: WebrtcbinBridge, pad: Gst.Pad) => void): number;
29
- connect(signal: 'connection-state-changed', cb: (self: WebrtcbinBridge) => void): number;
30
- connect(signal: 'signaling-state-changed', cb: (self: WebrtcbinBridge) => void): number;
31
- connect(signal: 'ice-connection-state-changed', cb: (self: WebrtcbinBridge) => void): number;
32
- connect(signal: 'ice-gathering-state-changed', cb: (self: WebrtcbinBridge) => void): number;
33
- connect(signal: string, cb: (...args: any[]) => void): number;
34
- disconnect(id: number): void;
35
- dispose_bridge(): void;
36
- }
37
- /** Mirrors GstWebRTCDataChannel signals onto the main thread. */
38
- export interface DataChannelBridge extends GObject.Object {
39
- /** The underlying GstWebRTCDataChannel. Use Gst.WebRTCDataChannel for methods. */
40
- readonly channel: Gst.Element & {
41
- [key: string]: any;
42
- };
43
- connect(signal: 'opened', cb: (self: DataChannelBridge) => void): number;
44
- connect(signal: 'closed', cb: (self: DataChannelBridge) => void): number;
45
- connect(signal: 'error-occurred', cb: (self: DataChannelBridge, message: string) => void): number;
46
- connect(signal: 'message-string', cb: (self: DataChannelBridge, data: string) => void): number;
47
- connect(signal: 'message-data', cb: (self: DataChannelBridge, data: GLib.Bytes) => void): number;
48
- connect(signal: 'buffered-amount-low', cb: (self: DataChannelBridge) => void): number;
49
- connect(signal: 'ready-state-changed', cb: (self: DataChannelBridge) => void): number;
50
- connect(signal: string, cb: (...args: any[]) => void): number;
51
- disconnect(id: number): void;
52
- dispose_bridge(): void;
53
- }
54
- /**
55
- * Per-receiver incoming media pipeline. Manages muted source → decodebin →
56
- * tee switching entirely in Vala (decodebin's pad-added fires on the
57
- * streaming thread). Emits `media-flowing` on the main thread when
58
- * decoded media replaces the muted source.
59
- */
60
- export interface ReceiverBridge extends GObject.Object {
61
- connect(signal: 'media-flowing', cb: (self: ReceiverBridge) => void): number;
62
- connect(signal: string, cb: (...args: any[]) => void): number;
63
- disconnect(id: number): void;
64
- connect_to_pad(pad: Gst.Pad): void;
65
- request_src_pad(): Gst.Pad;
66
- release_src_pad(pad: Gst.Pad): void;
67
- dispose_bridge(): void;
68
- }
69
- interface PromiseBridgeCtor {
70
- new (): PromiseBridge;
71
- }
72
- interface WebrtcbinBridgeCtor {
73
- new (args: {
74
- bin: Gst.Element;
75
- }): WebrtcbinBridge;
76
- }
77
- interface DataChannelBridgeCtor {
78
- new (args: {
79
- channel: unknown;
80
- }): DataChannelBridge;
81
- }
82
- interface ReceiverBridgeCtor {
83
- new (args: {
84
- pipeline: Gst.Pipeline;
85
- kind: string;
86
- }): ReceiverBridge;
87
- }
88
- export declare const PromiseBridge: PromiseBridgeCtor;
89
- export declare const WebrtcbinBridge: WebrtcbinBridgeCtor;
90
- export declare const DataChannelBridge: DataChannelBridgeCtor;
91
- export declare const ReceiverBridge: ReceiverBridgeCtor;
92
- export {};
1
+ import GjsifyWebrtc from 'gi://GjsifyWebrtc?version=0.1';
2
+ export declare const PromiseBridge: typeof GjsifyWebrtc.PromiseBridge;
3
+ export type PromiseBridge = GjsifyWebrtc.PromiseBridge;
4
+ export declare const WebrtcbinBridge: typeof GjsifyWebrtc.WebrtcbinBridge;
5
+ export type WebrtcbinBridge = GjsifyWebrtc.WebrtcbinBridge;
6
+ export declare const DataChannelBridge: typeof GjsifyWebrtc.DataChannelBridge;
7
+ export type DataChannelBridge = GjsifyWebrtc.DataChannelBridge;
8
+ export declare const ReceiverBridge: typeof GjsifyWebrtc.ReceiverBridge;
9
+ export type ReceiverBridge = GjsifyWebrtc.ReceiverBridge;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/webrtc-native",
3
- "version": "0.1.15",
3
+ "version": "0.2.0",
4
4
  "description": "Vala-based main-thread signal bridge for @gjsify/webrtc. Marshals webrtcbin signals and GstPromise callbacks from GStreamer's streaming thread onto the GLib main context so GJS can safely handle them.",
5
5
  "type": "module",
6
6
  "main": "lib/esm/index.js",
@@ -41,15 +41,16 @@
41
41
  "native"
42
42
  ],
43
43
  "dependencies": {
44
- "@girs/gjs": "^4.0.0-rc.3",
45
- "@girs/glib-2.0": "^2.88.0-4.0.0-rc.3",
46
- "@girs/gobject-2.0": "^2.88.0-4.0.0-rc.3",
47
- "@girs/gst-1.0": "^1.28.1-4.0.0-rc.3",
48
- "@girs/gstwebrtc-1.0": "^1.0.0-4.0.0-rc.3"
44
+ "@girs/gjs": "^4.0.0-rc.9",
45
+ "@girs/gjsifywebrtc-0.1": "^0.1.0-4.0.0-rc.5",
46
+ "@girs/glib-2.0": "^2.88.0-4.0.0-rc.9",
47
+ "@girs/gobject-2.0": "^2.88.0-4.0.0-rc.9",
48
+ "@girs/gst-1.0": "^1.28.1-4.0.0-rc.9",
49
+ "@girs/gstwebrtc-1.0": "^1.0.0-4.0.0-rc.9"
49
50
  },
50
51
  "devDependencies": {
51
- "@gjsify/cli": "^0.1.15",
52
+ "@gjsify/cli": "^0.2.0",
52
53
  "@types/node": "^25.6.0",
53
- "typescript": "^6.0.2"
54
+ "typescript": "^6.0.3"
54
55
  }
55
56
  }