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

#include <rtmpstream.h>

Public Member Functions

 RtmpStream (std::shared_ptr< StreamStats > streamStats)
 
 ~RtmpStream ()
 
void Start (const std::string &url)
 
void Update ()
 
void Stop ()
 
TTV_ErrorCode BeginFLVChunk (flv::TagTypes type, uint32_t timestamp, size_t length)
 
TTV_ErrorCode AddFLVData (const uint8_t *data, size_t length)
 
TTV_ErrorCode EndFLVChunk ()
 
TTV_ErrorCode GetError ()
 
TTV_ErrorCode GetAverageSendBitRate (uint64_t measurementWindowMilliseconds, uint64_t &bitsPerSecond) const
 
TTV_ErrorCode GetCongestionLevel (uint64_t measurementWindowMilliseconds, double &congestionLevel) const
 

Private Member Functions

bool ChangeState ()
 

Private Attributes

RtmpContext mContext
 
std::array< std::unique_ptr< RtmpState >, static_cast< uint32_t >RtmpContext::State::Count) > mStates
 
RtmpMessageDetails mChunkDetails
 

Constructor & Destructor Documentation

◆ RtmpStream()

ttv::broadcast::RtmpStream::RtmpStream ( std::shared_ptr< StreamStats streamStats)

◆ ~RtmpStream()

ttv::broadcast::RtmpStream::~RtmpStream ( )
inline

Member Function Documentation

◆ AddFLVData()

TTV_ErrorCode ttv::broadcast::RtmpStream::AddFLVData ( const uint8_t *  data,
size_t  length 
)

◆ BeginFLVChunk()

TTV_ErrorCode ttv::broadcast::RtmpStream::BeginFLVChunk ( flv::TagTypes  type,
uint32_t  timestamp,
size_t  length 
)

◆ ChangeState()

bool ttv::broadcast::RtmpStream::ChangeState ( )
private

◆ EndFLVChunk()

TTV_ErrorCode ttv::broadcast::RtmpStream::EndFLVChunk ( )

◆ GetAverageSendBitRate()

TTV_ErrorCode ttv::broadcast::RtmpStream::GetAverageSendBitRate ( uint64_t  measurementWindowMilliseconds,
uint64_t &  bitsPerSecond 
) const
inline

Returns the average sending bit rate in bits per second over a sliding window.

◆ GetCongestionLevel()

TTV_ErrorCode ttv::broadcast::RtmpStream::GetCongestionLevel ( uint64_t  measurementWindowMilliseconds,
double &  congestionLevel 
) const
inline

Returns the fraction of time spent blocking on the socket over a sliding window.

◆ GetError()

TTV_ErrorCode ttv::broadcast::RtmpStream::GetError ( )

If in the error state then this will return the error.

◆ Start()

void ttv::broadcast::RtmpStream::Start ( const std::string &  url)

◆ Stop()

void ttv::broadcast::RtmpStream::Stop ( )

◆ Update()

void ttv::broadcast::RtmpStream::Update ( )

Member Data Documentation

◆ mChunkDetails

RtmpMessageDetails ttv::broadcast::RtmpStream::mChunkDetails
private

◆ mContext

RtmpContext ttv::broadcast::RtmpStream::mContext
private

◆ mStates

std::array< std::unique_ptr<RtmpState>, static_cast<uint32_t>RtmpContext::State::Count) > ttv::broadcast::RtmpStream::mStates
private

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