constructor()

in src/meetingsession/MeetingSessionConfiguration.ts [172:233]


  constructor(createMeetingResponse?: any, createAttendeeResponse?: any) { // eslint-disable-line
    if (createMeetingResponse) {
      createMeetingResponse = toLowerCasePropertyNames(createMeetingResponse);
      if (createMeetingResponse.meeting) {
        createMeetingResponse = createMeetingResponse.meeting;
      }
      this.meetingId = createMeetingResponse.meetingid;
      this.externalMeetingId = createMeetingResponse.externalmeetingid;
      this.urls = new MeetingSessionURLs();
      this.urls.audioHostURL = createMeetingResponse.mediaplacement.audiohosturl;
      this.urls.signalingURL = createMeetingResponse.mediaplacement.signalingurl;
      this.urls.turnControlURL = createMeetingResponse.mediaplacement.turncontrolurl;
      if (createMeetingResponse.mediaplacement.eventingestionurl) {
        this.urls.eventIngestionURL = createMeetingResponse.mediaplacement.eventingestionurl;
      }

      const parseVideoResolution = (
        resolution: string,
        defaultValue: VideoQualitySettings
      ): VideoQualitySettings => {
        switch (resolution) {
          case 'None':
            return VideoQualitySettings.VideoDisabled;
          case 'HD':
            return VideoQualitySettings.VideoResolutionHD;
          case 'FHD':
            return VideoQualitySettings.VideoResolutionFHD;
          case 'UHD':
            return VideoQualitySettings.VideoResolutionUHD;
          default:
            return defaultValue;
        }
      };
      if (
        createMeetingResponse.meetingfeatures?.video !== undefined ||
        createMeetingResponse.meetingfeatures?.content !== undefined
      ) {
        const videoMaxResolution =
          createMeetingResponse.meetingfeatures.video === undefined
            ? 'HD'
            : createMeetingResponse.meetingfeatures.video.maxresolution;
        const contentMaxResolution =
          createMeetingResponse.meetingfeatures.content === undefined
            ? 'FHD'
            : createMeetingResponse.meetingfeatures.content.maxresolution;
        this.meetingFeatures = new MeetingFeatures(
          parseVideoResolution(videoMaxResolution, VideoQualitySettings.VideoResolutionHD),
          parseVideoResolution(contentMaxResolution, VideoQualitySettings.VideoResolutionFHD)
        );
      }
    }
    if (createAttendeeResponse) {
      createAttendeeResponse = toLowerCasePropertyNames(createAttendeeResponse);
      if (createAttendeeResponse.attendee) {
        createAttendeeResponse = createAttendeeResponse.attendee;
      }
      this.credentials = new MeetingSessionCredentials();
      this.credentials.attendeeId = createAttendeeResponse.attendeeid;
      this.credentials.externalUserId = createAttendeeResponse.externaluserid;
      this.credentials.joinToken = createAttendeeResponse.jointoken;
    }
  }