|
|
@@ -111,16 +111,27 @@ var RTC = {
|
|
111
|
111
|
muted = pres.videoMuted;
|
|
112
|
112
|
}
|
|
113
|
113
|
|
|
114
|
|
- var remoteStream = new MediaStream(data, ssrc,
|
|
115
|
|
- RTCBrowserType.getBrowserType(), eventEmitter, muted);
|
|
|
114
|
+ var self = this;
|
|
|
115
|
+ [MediaStreamType.AUDIO_TYPE, MediaStreamType.VIDEO_TYPE].forEach(
|
|
|
116
|
+ function(type) {
|
|
|
117
|
+ var tracks =
|
|
|
118
|
+ type == MediaStreamType.AUDIO_TYPE
|
|
|
119
|
+ ? data.stream.getAudioTracks : data.stream.getVideoTracks();
|
|
|
120
|
+ if (!tracks || !Array.isArray(tracks) || !tracks.length) {
|
|
|
121
|
+ console.log("Not creating a(n) "+type+" stream: no tracks");
|
|
|
122
|
+ return;
|
|
|
123
|
+ }
|
|
116
|
124
|
|
|
117
|
|
- if(!this.remoteStreams[jid]) {
|
|
118
|
|
- this.remoteStreams[jid] = {};
|
|
119
|
|
- }
|
|
120
|
|
- this.remoteStreams[jid][remoteStream.type]= remoteStream;
|
|
121
|
|
- eventEmitter.emit(StreamEventTypes.EVENT_TYPE_REMOTE_CREATED,
|
|
122
|
|
- remoteStream);
|
|
123
|
|
- return remoteStream;
|
|
|
125
|
+ var remoteStream = new MediaStream(data, ssrc,
|
|
|
126
|
+ RTCBrowserType.getBrowserType(), eventEmitter, muted, type);
|
|
|
127
|
+
|
|
|
128
|
+ if (!self.remoteStreams[jid]) {
|
|
|
129
|
+ self.remoteStreams[jid] = {};
|
|
|
130
|
+ }
|
|
|
131
|
+ self.remoteStreams[jid][type] = remoteStream;
|
|
|
132
|
+ eventEmitter.emit(StreamEventTypes.EVENT_TYPE_REMOTE_CREATED,
|
|
|
133
|
+ remoteStream);
|
|
|
134
|
+ });
|
|
124
|
135
|
},
|
|
125
|
136
|
getPCConstraints: function () {
|
|
126
|
137
|
return this.rtcUtils.pc_constraints;
|