Interface ContentShareControllerFacade

interface ContentShareControllerFacade {
    addContentShareObserver(observer: ContentShareObserver): void;
    enableSimulcastForContentShare(
        enable: boolean,
        encodingParams?: ContentShareSimulcastEncodingParameters,
    ): void;
    enableSVCForContentShare(enable: boolean): void;
    pauseContentShare(): void;
    removeContentShareObserver(observer: ContentShareObserver): void;
    setContentAudioProfile(audioProfile: AudioProfile): void;
    setContentShareVideoCodecPreferences(
        preferences: VideoCodecCapability[],
    ): void;
    startContentShare(stream: MediaStream): Promise<void>;
    startContentShareFromScreenCapture(
        sourceId?: string,
        frameRate?: number,
    ): Promise<MediaStream>;
    stopContentShare(): void;
    unpauseContentShare(): void;
}

Hierarchy (View Summary)

Methods

  • Toggle simulcast for content share. This should be called before calling startContentShare or startContentShareFromScreenCapture. The default encoding parameters are:

    • High layer: 1200 kbps max bitrate
    • Low layer: 300 kbps max bitrate, scale down resolution by 2, and 5 fps max frame rate.

    Parameters

    • enable: boolean

      Enable/disable simulcast

    • OptionalencodingParams: ContentShareSimulcastEncodingParameters

      Overide the default encoding params for either layer in max bitrate, scale resolution down by, or max frame rate.

    Returns void

  • Toggle SVC for content share. This should be called before calling startContentShare or startContentShareFromScreenCapture. This will only have impact if using an SVC supporting codec like VP9. It cannot be enabled at the same time as simulcast.

    Parameters

    • enable: boolean

      Enable/disable SVC

    Returns void

  • Pause content sharing. This (combined with unpauseContentShare is a lightweight alternative to stopping and starting content share which requires use of a seperate peer connection and therefore has increased latency.

    Remote receivers will continue to subscribe to content share video but there will be nothing transmitting (e.g. it may be a black frame)

    Returns void