Twitch SDK (Internal)
Public Member Functions | List of all members
ttv::broadcast::IVideoCapture Class Referenceabstract

#include <ivideocapture.h>

Inheritance diagram for ttv::broadcast::IVideoCapture:
ttv::broadcast::PassThroughVideoCapture

Public Member Functions

virtual ~IVideoCapture ()
 
virtual std::string GetName () const =0
 
virtual TTV_ErrorCode Initialize ()=0
 
virtual TTV_ErrorCode Shutdown ()=0
 
virtual TTV_ErrorCode SetVideoEncoder (const std::shared_ptr< IVideoEncoder > &encoder)=0
 
virtual TTV_ErrorCode SetFrameQueue (const std::shared_ptr< IVideoFrameQueue > &queue)=0
 
virtual TTV_ErrorCode Start (const VideoParams &videoParams)=0
 
virtual TTV_ErrorCode Stop ()=0
 

Detailed Description

The interface for a component that can capture and provide video frames to the broadcast system for encoding.

The following methods should be called by the client. Initialize() should be called by the client prior to adding it to the system. Shutdown() should be called after removing from the system.

The following methods will be called by the system during use. SetVideoEncoder() will be called prior to starting capture. SetFrameQueue() will be called prior to starting capture. Start() and Stop() will be called by the system when capture is to be started and stopped.

Constructor & Destructor Documentation

◆ ~IVideoCapture()

virtual ttv::broadcast::IVideoCapture::~IVideoCapture ( )
virtual

Member Function Documentation

◆ GetName()

virtual std::string ttv::broadcast::IVideoCapture::GetName ( ) const
pure virtual

Retrieves the name for logging purposes.

Implemented in ttv::broadcast::PassThroughVideoCapture.

◆ Initialize()

virtual TTV_ErrorCode ttv::broadcast::IVideoCapture::Initialize ( )
pure virtual

Initializes the capturer.

Implemented in ttv::broadcast::PassThroughVideoCapture.

◆ SetFrameQueue()

virtual TTV_ErrorCode ttv::broadcast::IVideoCapture::SetFrameQueue ( const std::shared_ptr< IVideoFrameQueue > &  queue)
pure virtual

Sets the IVideoFrameQueue instance to submit frames to once packaged by the IVideoEncoder.

Implemented in ttv::broadcast::PassThroughVideoCapture.

◆ SetVideoEncoder()

virtual TTV_ErrorCode ttv::broadcast::IVideoCapture::SetVideoEncoder ( const std::shared_ptr< IVideoEncoder > &  encoder)
pure virtual

Sets the IVideoEncoder that will be used to encode captured frames.

Implemented in ttv::broadcast::PassThroughVideoCapture.

◆ Shutdown()

virtual TTV_ErrorCode ttv::broadcast::IVideoCapture::Shutdown ( )
pure virtual

Synchronously stops frame submission and cleans up the internal pipeline. The IVideoCapture should be disposable after this returns.

Implemented in ttv::broadcast::PassThroughVideoCapture.

◆ Start()

virtual TTV_ErrorCode ttv::broadcast::IVideoCapture::Start ( const VideoParams videoParams)
pure virtual

Indicates that frame submission should begin.

Implemented in ttv::broadcast::PassThroughVideoCapture.

◆ Stop()

virtual TTV_ErrorCode ttv::broadcast::IVideoCapture::Stop ( )
pure virtual

Indicates that frame submission should stop. Any internal pipeline can be torn down.

Implemented in ttv::broadcast::PassThroughVideoCapture.


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