@@ -432,7 +432,7 @@ class Engine extends Disposable with EventsEmittable<EngineEvent> {
432432 // construct the data channel message
433433 var message = rtc.RTCDataChannelMessage .fromBinary (packet.writeToBuffer ());
434434
435- if (_subscriberPrimary && ! _singlePCMode) {
435+ if (_subscriberPrimary || _singlePCMode) {
436436 // make sure publisher transport is connected
437437 await ensurePublisherConnected ();
438438
@@ -842,23 +842,21 @@ class Engine extends Disposable with EventsEmittable<EngineEvent> {
842842 logger.fine ('Server opened DC label: ${dc .label }' );
843843 _reliableDCSub = dc;
844844 _reliableDCSub? .onMessage = _onDCMessage;
845- _reliableDCSub? .stateChangeStream.listen ((state) =>
846- _reliableDCPub? .stateChangeStream.listen ((state) => events.emit (SubscriberDataChannelStateUpdatedEvent (
847- isPrimary: _subscriberPrimary,
848- state: state,
849- type: Reliability .reliable,
850- ))));
845+ _reliableDCSub? .stateChangeStream.listen ((state) => events.emit (SubscriberDataChannelStateUpdatedEvent (
846+ isPrimary: _subscriberPrimary,
847+ state: state,
848+ type: Reliability .reliable,
849+ )));
851850 break ;
852851 case _lossyDCLabel:
853852 logger.fine ('Server opened DC label: ${dc .label }' );
854853 _lossyDCSub = dc;
855854 _lossyDCSub? .onMessage = _onDCMessage;
856- _lossyDCSub? .stateChangeStream.listen ((event) =>
857- _reliableDCPub? .stateChangeStream.listen ((state) => events.emit (SubscriberDataChannelStateUpdatedEvent (
858- isPrimary: _subscriberPrimary,
859- state: state,
860- type: Reliability .lossy,
861- ))));
855+ _lossyDCSub? .stateChangeStream.listen ((state) => events.emit (SubscriberDataChannelStateUpdatedEvent (
856+ isPrimary: _subscriberPrimary,
857+ state: state,
858+ type: Reliability .lossy,
859+ )));
862860 break ;
863861 default :
864862 logger.warning ('Unknown DC label: ${dc .label }' );
0 commit comments