@reactoo/watchtogether-sdk-js 2.5.85 → 2.5.86
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/package.json
CHANGED
package/src/modules/wt-room.js
CHANGED
|
@@ -1966,9 +1966,71 @@ class RoomSession {
|
|
|
1966
1966
|
|
|
1967
1967
|
this._setupTransceivers(this.handleId, [hasAudio, false, hasVideo, false]);
|
|
1968
1968
|
|
|
1969
|
+
const emitEvents = function () {
|
|
1970
|
+
this.isPublished = true;
|
|
1971
|
+
if(config.stream) {
|
|
1972
|
+
let tracks = config.stream.getTracks();
|
|
1973
|
+
tracks.forEach(track => {
|
|
1974
|
+
// used as a flag to not emit tracks that been already emitted
|
|
1975
|
+
if(!track.onended) {
|
|
1976
|
+
this.emit('addLocalParticipant', {
|
|
1977
|
+
tid: generateUUID(),
|
|
1978
|
+
id: handle.handleId,
|
|
1979
|
+
userId: decodeJanusDisplay(handle.userId)?.userId,
|
|
1980
|
+
role: decodeJanusDisplay(this.display)?.role,
|
|
1981
|
+
track,
|
|
1982
|
+
stream: config.stream,
|
|
1983
|
+
adding: true,
|
|
1984
|
+
constructId: this.constructId,
|
|
1985
|
+
metaData: this.options.metaData,
|
|
1986
|
+
hasAudioTrack: hasAudio,
|
|
1987
|
+
hasVideoTrack: hasVideo
|
|
1988
|
+
});
|
|
1989
|
+
track.onended = (ev) => {
|
|
1990
|
+
this.emit('addLocalParticipant', {
|
|
1991
|
+
tid:generateUUID(),
|
|
1992
|
+
id: handle.handleId,
|
|
1993
|
+
userId: decodeJanusDisplay(handle.userId)?.userId,
|
|
1994
|
+
role: decodeJanusDisplay(this.display)?.role,
|
|
1995
|
+
track: ev.target,
|
|
1996
|
+
stream: config.stream,
|
|
1997
|
+
adding: false,
|
|
1998
|
+
removing: true,
|
|
1999
|
+
constructId: this.constructId,
|
|
2000
|
+
metaData: this.options.metaData,
|
|
2001
|
+
hasAudioTrack: hasAudio,
|
|
2002
|
+
hasVideoTrack: hasVideo
|
|
2003
|
+
});
|
|
2004
|
+
}
|
|
2005
|
+
}
|
|
2006
|
+
})
|
|
2007
|
+
}
|
|
2008
|
+
else {
|
|
2009
|
+
this.emit('addLocalParticipant', {
|
|
2010
|
+
tid: generateUUID(),
|
|
2011
|
+
id: handle.handleId,
|
|
2012
|
+
userId: decodeJanusDisplay(handle.userId)?.userId,
|
|
2013
|
+
role: decodeJanusDisplay(this.display)?.role,
|
|
2014
|
+
stream: null,
|
|
2015
|
+
adding: false,
|
|
2016
|
+
constructId: this.constructId,
|
|
2017
|
+
metaData: this.options.metaData,
|
|
2018
|
+
hasAudioTrack: hasAudio,
|
|
2019
|
+
hasVideoTrack: hasVideo
|
|
2020
|
+
});
|
|
2021
|
+
}
|
|
2022
|
+
this.emit('published', {status: true, hasStream: !!config.stream});
|
|
2023
|
+
this.emit('publishing', false);
|
|
2024
|
+
this.emit('localHasVideo', hasVideo);
|
|
2025
|
+
this.emit('localHasAudio', hasAudio);
|
|
2026
|
+
this.emit('localMuted', {type: 'video', value: isVideoMuted});
|
|
2027
|
+
this.emit('localMuted', {type: 'audio', value: isAudioMuted});
|
|
2028
|
+
return this;
|
|
2029
|
+
};
|
|
2030
|
+
|
|
1969
2031
|
// this should be enough
|
|
1970
2032
|
if(this.isPublished) {
|
|
1971
|
-
return
|
|
2033
|
+
return emitEvents();
|
|
1972
2034
|
}
|
|
1973
2035
|
|
|
1974
2036
|
return Promise
|
|
@@ -2024,67 +2086,7 @@ class RoomSession {
|
|
|
2024
2086
|
});
|
|
2025
2087
|
}
|
|
2026
2088
|
})
|
|
2027
|
-
.then(
|
|
2028
|
-
this.isPublished = true;
|
|
2029
|
-
if(config.stream) {
|
|
2030
|
-
let tracks = config.stream.getTracks();
|
|
2031
|
-
tracks.forEach(track => {
|
|
2032
|
-
// used as a flag to not emit tracks that been already emitted
|
|
2033
|
-
if(!track.onended) {
|
|
2034
|
-
this.emit('addLocalParticipant', {
|
|
2035
|
-
tid: generateUUID(),
|
|
2036
|
-
id: handle.handleId,
|
|
2037
|
-
userId: decodeJanusDisplay(handle.userId)?.userId,
|
|
2038
|
-
role: decodeJanusDisplay(this.display)?.role,
|
|
2039
|
-
track,
|
|
2040
|
-
stream: config.stream,
|
|
2041
|
-
adding: true,
|
|
2042
|
-
constructId: this.constructId,
|
|
2043
|
-
metaData: this.options.metaData,
|
|
2044
|
-
hasAudioTrack: hasAudio,
|
|
2045
|
-
hasVideoTrack: hasVideo
|
|
2046
|
-
});
|
|
2047
|
-
track.onended = (ev) => {
|
|
2048
|
-
this.emit('addLocalParticipant', {
|
|
2049
|
-
tid:generateUUID(),
|
|
2050
|
-
id: handle.handleId,
|
|
2051
|
-
userId: decodeJanusDisplay(handle.userId)?.userId,
|
|
2052
|
-
role: decodeJanusDisplay(this.display)?.role,
|
|
2053
|
-
track: ev.target,
|
|
2054
|
-
stream: config.stream,
|
|
2055
|
-
adding: false,
|
|
2056
|
-
removing: true,
|
|
2057
|
-
constructId: this.constructId,
|
|
2058
|
-
metaData: this.options.metaData,
|
|
2059
|
-
hasAudioTrack: hasAudio,
|
|
2060
|
-
hasVideoTrack: hasVideo
|
|
2061
|
-
});
|
|
2062
|
-
}
|
|
2063
|
-
}
|
|
2064
|
-
})
|
|
2065
|
-
} else {
|
|
2066
|
-
this.emit('addLocalParticipant', {
|
|
2067
|
-
tid: generateUUID(),
|
|
2068
|
-
id: handle.handleId,
|
|
2069
|
-
userId: decodeJanusDisplay(handle.userId)?.userId,
|
|
2070
|
-
role: decodeJanusDisplay(this.display)?.role,
|
|
2071
|
-
stream: null,
|
|
2072
|
-
adding: false,
|
|
2073
|
-
constructId: this.constructId,
|
|
2074
|
-
metaData: this.options.metaData,
|
|
2075
|
-
hasAudioTrack: hasAudio,
|
|
2076
|
-
hasVideoTrack: hasVideo
|
|
2077
|
-
});
|
|
2078
|
-
}
|
|
2079
|
-
|
|
2080
|
-
this.emit('published', {status: true, hasStream: !!config.stream});
|
|
2081
|
-
this.emit('publishing', false);
|
|
2082
|
-
this.emit('localHasVideo', hasVideo);
|
|
2083
|
-
this.emit('localHasAudio', hasAudio);
|
|
2084
|
-
this.emit('localMuted', {type: 'video', value: isVideoMuted});
|
|
2085
|
-
this.emit('localMuted', {type: 'audio', value: isAudioMuted});
|
|
2086
|
-
return r;
|
|
2087
|
-
})
|
|
2089
|
+
.then(() => emitEvents())
|
|
2088
2090
|
.catch(e => {
|
|
2089
2091
|
this.emit('publishing', false);
|
|
2090
2092
|
return Promise.reject(e);
|