Participant constructor
Participant(
- BuildContext _context,
- String id,
- String displayName,
- bool isLocal,
Implementation
Participant(this._context, this.id, this.displayName, this.isLocal) {
this._participantEventEmitter = new EventEmitter();
this.streams = new Map();
this._eventEmitter = _context.read<RoomClientRepository>().eventEmitter;
// handle stream-enabled
this._eventEmitter.on(
"stream-enabled-$id",
(data) {
if (data['audio'] != null) {
final consumer = data["audio"];
final Stream newStream = new Stream(
context: this._context,
consumer: consumer,
);
this._addConsumer(newStream);
} else if (data["renderer"] != null && data["video"] != null) {
final consumer = data["video"];
final renderer = data["renderer"];
final Stream newStream = new Stream(
context: this._context,
consumer: consumer,
renderer: renderer,
);
this._addConsumer(newStream);
} else if (data["shareRenderer"] != null && data["share"] != null) {
final consumer = data["share"];
final shareRenderer = data["shareRenderer"];
final Stream newStream = new Stream(
context: this._context,
consumer: consumer,
renderer: shareRenderer,
);
this._addConsumer(newStream);
}
},
);
// handle stream-disabled
this._eventEmitter.on(
"stream-disabled-$id",
(data) {
if (data['audioConsumerId'] != null) {
final consumerId = data['audioConsumerId'];
this._removeConsumer(consumerId);
} else if (data["renderer"] != null &&
data["videoConsumerId"] != null) {
final consumerId = data['videoConsumerId'];
this._removeConsumer(consumerId);
} else if (data["shareRenderer"] != null &&
data["shareConsumerId"] != null) {
final consumerId = data['shareConsumerId'];
this._removeConsumer(consumerId);
}
},
);
// handle stream-paused
this._eventEmitter.on(
"stream-paused-$id",
(data) {
String audioKeyType = 'audioConsumerId';
String videoKeyType = 'videoConsumerId';
String shareKeyType = 'shareConsumerId';
if (data[audioKeyType] != null) {
this._pauseConsumer(audioKeyType, data);
} else if (data[videoKeyType] != null) {
this._pauseConsumer(videoKeyType, data);
} else if (data[shareKeyType] != null) {
this._pauseConsumer(shareKeyType, data);
}
},
);
// handle stream-resumed
this._eventEmitter.on(
"stream-resumed-$id",
(data) {
String audioKeyType = 'audioConsumerId';
String videoKeyType = 'videoConsumerId';
String shareKeyType = 'shareConsumerId';
if (data[audioKeyType] != null) {
this._resumeConsumer(audioKeyType, data);
} else if (data[videoKeyType] != null) {
this._resumeConsumer(videoKeyType, data);
} else if (data[shareKeyType] != null) {
this._resumeConsumer(shareKeyType, data);
}
},
);
// handle quality-changed
this._eventEmitter.on(
"quality-changed-$id",
(data) => _setLayers(data['spatialLayer'], data['temporalLayer']),
);
}