Twitch SDK (Internal)
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ttv::broadcast::VideoStreamer Class Reference

#include <videostreamer.h>

Public Member Functions

 VideoStreamer ()
 
 ~VideoStreamer ()
 
TTV_ErrorCode SetEncoder (const std::shared_ptr< IVideoEncoder > &encoder)
 
TTV_ErrorCode SetCapturer (const std::shared_ptr< IVideoCapture > &capturer)
 
TTV_ErrorCode Initialize (const VideoParams &videoParams)
 
TTV_ErrorCode StartCapture ()
 
TTV_ErrorCode ProcessFrame (const std::shared_ptr< VideoFrame > &videoFrame)
 
TTV_ErrorCode Stop ()
 
TTV_ErrorCode ValidateVideoParams (const VideoParams &videoParams) const
 
void SetInitialTime (uint64_t initialTime)
 
std::string GetEncoderName () const
 

Private Member Functions

TTV_ErrorCode OpenVideo (const VideoParams *videoParams)
 
void ProcessFrameQueue ()
 

Private Attributes

uint64_t mInitialTime
 
volatile bool mDoProcessing
 
std::shared_ptr< IVideoEncodermVideoEncoder
 
std::shared_ptr< IVideoCapturemVideoCapturer
 
std::unique_ptr< VideoFrameQueuemFrameQueue
 
std::shared_ptr< IThreadmFrameQueueThread
 
VideoParams mVideoParams
 

Constructor & Destructor Documentation

◆ VideoStreamer()

ttv::broadcast::VideoStreamer::VideoStreamer ( )

◆ ~VideoStreamer()

ttv::broadcast::VideoStreamer::~VideoStreamer ( )

Member Function Documentation

◆ GetEncoderName()

std::string ttv::broadcast::VideoStreamer::GetEncoderName ( ) const

◆ Initialize()

TTV_ErrorCode ttv::broadcast::VideoStreamer::Initialize ( const VideoParams videoParams)

◆ OpenVideo()

TTV_ErrorCode ttv::broadcast::VideoStreamer::OpenVideo ( const VideoParams videoParams)
private

◆ ProcessFrame()

TTV_ErrorCode ttv::broadcast::VideoStreamer::ProcessFrame ( const std::shared_ptr< VideoFrame > &  videoFrame)

◆ ProcessFrameQueue()

void ttv::broadcast::VideoStreamer::ProcessFrameQueue ( )
private

◆ SetCapturer()

TTV_ErrorCode ttv::broadcast::VideoStreamer::SetCapturer ( const std::shared_ptr< IVideoCapture > &  capturer)

◆ SetEncoder()

TTV_ErrorCode ttv::broadcast::VideoStreamer::SetEncoder ( const std::shared_ptr< IVideoEncoder > &  encoder)

◆ SetInitialTime()

void ttv::broadcast::VideoStreamer::SetInitialTime ( uint64_t  initialTime)

◆ StartCapture()

TTV_ErrorCode ttv::broadcast::VideoStreamer::StartCapture ( )

◆ Stop()

TTV_ErrorCode ttv::broadcast::VideoStreamer::Stop ( )

Synchronously stops the processing of frames and stops the encoder.

◆ ValidateVideoParams()

TTV_ErrorCode ttv::broadcast::VideoStreamer::ValidateVideoParams ( const VideoParams videoParams) const

Member Data Documentation

◆ mDoProcessing

volatile bool ttv::broadcast::VideoStreamer::mDoProcessing
private

◆ mFrameQueue

std::unique_ptr<VideoFrameQueue> ttv::broadcast::VideoStreamer::mFrameQueue
private

◆ mFrameQueueThread

std::shared_ptr<IThread> ttv::broadcast::VideoStreamer::mFrameQueueThread
private

◆ mInitialTime

uint64_t ttv::broadcast::VideoStreamer::mInitialTime
private

◆ mVideoCapturer

std::shared_ptr<IVideoCapture> ttv::broadcast::VideoStreamer::mVideoCapturer
private

◆ mVideoEncoder

std::shared_ptr<IVideoEncoder> ttv::broadcast::VideoStreamer::mVideoEncoder
private

◆ mVideoParams

VideoParams ttv::broadcast::VideoStreamer::mVideoParams
private

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