You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SignalingLayer.js 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import Listenable from '../../modules/util/Listenable';
  2. /**
  3. * An object that carries the info about specific media type advertised by
  4. * participant in the signaling channel.
  5. * @typedef {Object} PeerMediaInfo
  6. * @property {boolean} muted indicates if the media is currently muted
  7. * @property {VideoType|undefined} videoType the type of the video if applicable
  8. */
  9. /**
  10. * Interface used to expose the information carried over the signaling channel
  11. * which is not available to the RTC module in the media SDP.
  12. *
  13. * @interface SignalingLayer
  14. */
  15. export default class SignalingLayer extends Listenable {
  16. /**
  17. * Obtains the endpoint ID for given SSRC.
  18. * @param {number} ssrc the SSRC number.
  19. * @return {string|null} the endpoint ID for given media SSRC.
  20. */
  21. getSSRCOwner(ssrc) { // eslint-disable-line no-unused-vars
  22. throw new Error('not implemented');
  23. }
  24. /**
  25. * Obtains the info about given media advertised in the MUC presence of
  26. * the participant identified by the given MUC JID.
  27. * @param {string} owner the MUC jid of the participant for whom
  28. * {@link PeerMediaInfo} will be obtained.
  29. * @param {MediaType} mediaType the type of the media for which presence
  30. * info will be obtained.
  31. * @return {PeerMediaInfo|null} presenceInfo an object with media presence
  32. * info or <tt>null</tt> either if there is no presence available for given
  33. * JID or if the media type given is invalid.
  34. */
  35. getPeerMediaInfo(owner, mediaType) { // eslint-disable-line no-unused-vars
  36. throw new Error('not implemented');
  37. }
  38. }