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.5KB

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