Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

MediaStream.js 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. var RTC = require("./RTC.js");
  2. ////These lines should be uncommented when require works in app.js
  3. //var RTCBrowserType = require("../../service/RTC/RTCBrowserType.js");
  4. //var StreamEventTypes = require("../../service/RTC/StreamEventTypes.js");
  5. //var MediaStreamType = require("../../service/RTC/MediaStreamTypes");
  6. /**
  7. * Creates a MediaStream object for the given data, session id and ssrc.
  8. * It is a wrapper class for the MediaStream.
  9. *
  10. * @param data the data object from which we obtain the stream,
  11. * the peerjid, etc.
  12. * @param sid the session id
  13. * @param ssrc the ssrc corresponding to this MediaStream
  14. *
  15. * @constructor
  16. */
  17. function MediaStream(data, sid, ssrc, eventEmmiter) {
  18. this.sid = sid;
  19. this.stream = data.stream;
  20. this.peerjid = data.peerjid;
  21. this.ssrc = ssrc;
  22. this.type = (this.stream.getVideoTracks().length > 0)?
  23. MediaStreamType.VIDEO_TYPE : MediaStreamType.AUDIO_TYPE;
  24. this.muted = false;
  25. eventEmmiter.emit(StreamEventTypes.EVENT_TYPE_REMOTE_CREATED, this);
  26. }
  27. if(RTC.getBrowserType() == RTCBrowserType.RTC_BROWSER_FIREFOX)
  28. {
  29. if (!MediaStream.prototype.getVideoTracks)
  30. MediaStream.prototype.getVideoTracks = function () { return []; };
  31. if (!MediaStream.prototype.getAudioTracks)
  32. MediaStream.prototype.getAudioTracks = function () { return []; };
  33. }
  34. MediaStream.prototype.getOriginalStream = function()
  35. {
  36. return this.stream;
  37. }
  38. MediaStream.prototype.setMute = function (value)
  39. {
  40. this.stream.muted = value;
  41. this.muted = value;
  42. }
  43. module.exports = MediaStream;