mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2026-05-17 10:17:50 +00:00
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
////These lines should be uncommented when require works in app.js
|
|
//var RTCBrowserType = require("../../service/RTC/RTCBrowserType.js");
|
|
//var StreamEventTypes = require("../../service/RTC/StreamEventTypes.js");
|
|
//var MediaStreamType = require("../../service/RTC/MediaStreamTypes");
|
|
|
|
/**
|
|
* Creates a MediaStream object for the given data, session id and ssrc.
|
|
* It is a wrapper class for the MediaStream.
|
|
*
|
|
* @param data the data object from which we obtain the stream,
|
|
* the peerjid, etc.
|
|
* @param sid the session id
|
|
* @param ssrc the ssrc corresponding to this MediaStream
|
|
*
|
|
* @constructor
|
|
*/
|
|
function MediaStream(data, sid, ssrc, eventEmmiter, browser) {
|
|
this.sid = sid;
|
|
this.stream = data.stream;
|
|
this.peerjid = data.peerjid;
|
|
this.ssrc = ssrc;
|
|
this.type = (this.stream.getVideoTracks().length > 0)?
|
|
MediaStreamType.VIDEO_TYPE : MediaStreamType.AUDIO_TYPE;
|
|
this.muted = false;
|
|
eventEmmiter.emit(StreamEventTypes.EVENT_TYPE_REMOTE_CREATED, this);
|
|
if(browser == RTCBrowserType.RTC_BROWSER_FIREFOX)
|
|
{
|
|
if (!this.getVideoTracks)
|
|
this.getVideoTracks = function () { return []; };
|
|
if (!this.getAudioTracks)
|
|
this.getAudioTracks = function () { return []; };
|
|
}
|
|
}
|
|
|
|
|
|
MediaStream.prototype.getOriginalStream = function()
|
|
{
|
|
return this.stream;
|
|
}
|
|
|
|
MediaStream.prototype.setMute = function (value)
|
|
{
|
|
this.stream.muted = value;
|
|
this.muted = value;
|
|
}
|
|
|
|
|
|
module.exports = MediaStream;
|