LiveKit C++ SDK
Real-time audio/video SDK for C++
Loading...
Searching...
No Matches
livekit::LocalVideoTrack Class Reference

#include <local_video_track.h>

Inheritance diagram for livekit::LocalVideoTrack:
Collaboration diagram for livekit::LocalVideoTrack:

Public Member Functions

void mute ()
 
void unmute ()
 Unmutes the video track and resumes sending video to the room.
 
std::string to_string () const
 
- Public Member Functions inherited from livekit::Track
const std::string & sid () const noexcept
 
const std::string & name () const noexcept
 
TrackKind kind () const noexcept
 
StreamState stream_state () const noexcept
 
bool muted () const noexcept
 
bool remote () const noexcept
 
std::optional< TrackSource > source () const noexcept
 
std::optional< bool > simulcasted () const noexcept
 
std::optional< uint32_t > width () const noexcept
 
std::optional< uint32_t > height () const noexcept
 
std::optional< std::string > mime_type () const noexcept
 
bool has_handle () const noexcept
 
uintptr_t ffi_handle_id () const noexcept
 
std::future< std::vector< RtcStats > > getStats () const
 
void setStreamState (StreamState s) noexcept
 
void setMuted (bool m) noexcept
 
void setName (std::string n) noexcept
 

Static Public Member Functions

static std::shared_ptr< LocalVideoTrackcreateLocalVideoTrack (const std::string &name, const std::shared_ptr< VideoSource > &source)
 

Additional Inherited Members

- Protected Member Functions inherited from livekit::Track
 Track (FfiHandle handle, std::string sid, std::string name, TrackKind kind, StreamState state, bool muted, bool remote)
 
void setPublicationFields (std::optional< TrackSource > source, std::optional< bool > simulcasted, std::optional< uint32_t > width, std::optional< uint32_t > height, std::optional< std::string > mime_type)
 

Detailed Description

Represents a user-provided video track sourced from the local device.

LocalVideoTrack is used to publish camera video (or any custom video source) to a LiveKit room. It wraps a platform-specific video source and exposes simple controls such as mute() and unmute().

Typical usage:

auto source = VideoSource::create(...); auto track = LocalVideoTrack::createLocalVideoTrack("cam", source); room->localParticipant()->publishTrack(track);

Muting a local video track stops transmitting video to the room, but the underlying source may continue capturing depending on platform behavior.

The track name provided during creation is visible to remote participants and can be used for debugging or UI display.

Member Function Documentation

◆ createLocalVideoTrack()

static std::shared_ptr< LocalVideoTrack > livekit::LocalVideoTrack::createLocalVideoTrack ( const std::string &  name,
const std::shared_ptr< VideoSource > &  source 
)
static

Creates a new local video track backed by the given VideoSource.

Parameters
nameHuman-readable name for the track. This may appear to remote participants and in analytics/debug logs.
sourceThe video source that produces video frames for this track.
Returns
A shared pointer to the newly constructed LocalVideoTrack.

◆ mute()

void livekit::LocalVideoTrack::mute ( )

Mutes the video track.

A muted track stops sending video to the room, but the track remains published and can be unmuted later without renegotiation.

◆ to_string()

std::string livekit::LocalVideoTrack::to_string ( ) const

Returns a human-readable string representation of the track, including its SID and name. Useful for debugging and logging.


The documentation for this class was generated from the following file: