React Api Reference
    Preparing search index...

    Class MeetingProvider

    • MeetingProvider is a React Context Provider that initializes and manages the meeting lifecycle and exposes meeting state to all child components.
    • This provider wraps the core VideoSDK meeting logic using React Context, allowing any nested component to access meeting data and hooks.
    • To learn more about React Context Providers, refer to the official React documentation.
    <MeetingProvider
    config={{
    meetingId: "meeting-id",
    micEnabled: true,
    webcamEnabled: true,
    name: "Participant Name",
    participantId: "xyz",
    multiStream: true,
    mode: "SEND_AND_RECV", // "SEND_AND_RECV" || "SIGNALLING_ONLY"
    debugMode: true,
    }}
    token={"token"}
    joinWithoutUserInteraction={true}
    reinitialiseMeetingOnConfigChange={false}
    ></MeetingProvider>
    Index

    Constructors

    Properties

    customCameraVideoTrack?: MediaStream

    Custom camera video track to use as the camera input.

    If this is not provided, the SDK will automatically create and use a default camera video track. You can create a custom track using createCameraVideoTrack.

    customMicrophoneAudioTrack?: MediaStream

    Custom microphone audio track to use as the microphone input.

    If this is not provided, the SDK will automatically create and use a default microphone audio track.You can create a custom track using createMicrophoneAudioTrack.

    debugMode?: boolean

    Enables detailed SDK logs in the dashboard.

    true
    
    defaultCamera?: "front" | "back"

    Specifies which camera to use by default.

    • user → front camera
    • environment → rear camera
    deviceInfo?: object
    joinWithoutUserInteraction?: boolean

    Controls how the participant joins the meeting.

    • When set to true, the participant automatically joins the meeting as soon as the provider is mounted.
    • When set to false, the participant must explicitly call join() to enter the meeting.
    keyProvider?: object

    The key provider used to enable end-to-end encryption (E2EE) for the meeting.

    maxResolution?: "hd" | "sd"

    Maximum resolution for video publishing.

    "hd"
    
    meetingId: string
    • Unique Id of the meeting where that participant will be joining.
    • Please refer this documentation to create a room.
    metaData?: object

    Custom metadata associated with the participant.

    micEnabled?: boolean

    Enables microphone on join.

    false
    
    mode?: "SEND_AND_RECV" | "SIGNALLING_ONLY" | "RECV_ONLY"

    Defines how media streams should behave.There are 3 types of modes

    multiStream?: boolean

    Enables or disables multi-resolution streaming.

    true
    
    name?: string

    Display name of the participant.

    participantId?: string

    Unique participant identifier.

    preferredProtocol?: "UDP_ONLY" | "UDP_OVER_TCP" | "TCP_ONLY"

    Preferred network protocol for media transmission.

    Allowed Value:

    • UDP_OVER_TCP (default): Initially the server attempts to establish a connection using UDP, if that fails it automatically switches to TCP protocol.
    • UDP_ONLY: Force UDP protocol
    • TCP_ONLY: Force TCP protocol
    reinitialiseMeetingOnConfigChange?: boolean

    When enabled, the meeting will be reinitialized whenever the config object changes.

    signalingBaseUrl?: string

    If you want to use a proxy server with the VideoSDK, you can specify your baseURL here.

    Note

    If you intend to use a proxy server with the VideoSDK, priorly inform us at support@videosdk.live

    token: string

    Authentication token used to authorize the participant with VideoSDK.

    You can generate a token using one of the following methods:

    1. Temporary Token – Generate directly from the Dashboard API Keys.
    2. Server-generated Token – Generate a JWT on your backend and securely provide it to the client.
    webcamEnabled?: boolean

    Enables webcam on join.

    false