Skip to main content

@dialstack/sdk-dev / webrtc/src / LocalConference

Class: LocalConference

Defined in: sdk/webrtc/src/conference.ts:162

A live local conference across two or more legs.

Owns the AudioContext and every node in the graph. dispose() restores each leg's original uplink and tears the graph down; it is idempotent and safe after a leg has already ended.

Constructors

Constructor

TypeScript
new LocalConference(): LocalConference;

Returns

LocalConference

Accessors

calls

Get Signature

TypeScript
get calls(): Call[];

Defined in: sdk/webrtc/src/conference.ts:184

The calls currently bridged, in merge order.

Returns

Call[]


isActive

Get Signature

TypeScript
get isActive(): boolean;

Defined in: sdk/webrtc/src/conference.ts:199

Returns

boolean


localMediaStream

Get Signature

TypeScript
get localMediaStream(): MediaStream | null;

Defined in: sdk/webrtc/src/conference.ts:195

What the local user should hear: every remote party mixed together.

The softphone binds its <audio> element to this instead of one call's remoteMediaStream while merged — otherwise the user would hear only whichever leg happens to be focused.

Returns

MediaStream | null

Methods

dispose()

TypeScript
dispose(): void;

Defined in: sdk/webrtc/src/conference.ts:457

Tear the conference down: every leg returns to its own mic uplink and the graph is released. Idempotent.

Returns

void


has()

TypeScript
has(call): boolean;

Defined in: sdk/webrtc/src/conference.ts:204

Whether call is part of this conference.

Parameters

call

Call

Returns

boolean


remove()

TypeScript
remove(call): void;

Defined in: sdk/webrtc/src/conference.ts:391

Drop one leg (it hung up, or was split off), restoring its own uplink. The remaining legs stay bridged; the caller disposes once fewer than two remain.

Parameters

call

Call

Returns

void


setMuted()

TypeScript
setMuted(muted): void;

Defined in: sdk/webrtc/src/conference.ts:374

Apply a mute change across the conference.

Once merged the wire carries the MIXED track, so Call.mute()'s own localStream toggle no longer reaches it — the call routes mute here instead (see Call.attachConference).

Parameters

muted

boolean

Returns

void


merge()

TypeScript
static merge(
calls,
micStream,
onUplinkError?
): LocalConference;

Defined in: sdk/webrtc/src/conference.ts:215

Bridge calls into one conversation, mixing against micStream (the local capture every leg shares).

Throws — leaving the calls untouched — if the host has no WebAudio or a leg isn't mergeable; the caller surfaces that as an ordinary call error.

Parameters

calls

Call[]

micStream

MediaStream

onUplinkError?

(error) => void

Returns

LocalConference