MythTV  master
Public Member Functions | Private Attributes | List of all members
HLSSegment Class Reference
Collaboration diagram for HLSSegment:
Collaboration graph
[legend]

Public Member Functions

 HLSSegment (const std::chrono::seconds mduration, const int id, QString title, QString uri, [[maybe_unused]] QString current_key_path)
 
 ~HLSSegment ()=default
 
 HLSSegment (const HLSSegment &rhs)
 
HLSSegmentoperator= (const HLSSegment &rhs)
 
std::chrono::seconds Duration (void) const
 
int Id (void) const
 
void Lock (void)
 
void Unlock (void)
 
bool IsEmpty (void) const
 
int32_t Size (void) const
 
int Download (void)
 
void CancelDownload (void)
 
QString Url (void) const
 
int32_t SizePlayed (void) const
 
uint32_t Read (uint8_t *buffer, int32_t length, FILE *fd=nullptr)
 
void Reset (void)
 
void Clear (void)
 
QString Title (void) const
 
void SetTitle (const QString &x)
 
const char * Data (void) const
 provides pointer to raw segment data More...
 

Private Attributes

int m_id {0}
 
std::chrono::seconds m_duration {0s}
 
uint64_t m_bitrate {0}
 
QString m_title
 
QString m_url
 
QByteArray m_data
 
int32_t m_played {0}
 
QMutex m_lock
 
bool m_downloading {false}
 

Detailed Description

Definition at line 120 of file httplivestreambuffer.cpp.

Constructor & Destructor Documentation

◆ HLSSegment() [1/2]

HLSSegment::HLSSegment ( const std::chrono::seconds  mduration,
const int  id,
QString  title,
QString  uri,
[[maybe_unused] ] QString  current_key_path 
)
inline

Definition at line 123 of file httplivestreambuffer.cpp.

◆ ~HLSSegment()

HLSSegment::~HLSSegment ( )
default

◆ HLSSegment() [2/2]

HLSSegment::HLSSegment ( const HLSSegment rhs)
inline

Definition at line 137 of file httplivestreambuffer.cpp.

Member Function Documentation

◆ operator=()

HLSSegment& HLSSegment::operator= ( const HLSSegment rhs)
inline

Definition at line 142 of file httplivestreambuffer.cpp.

◆ Duration()

std::chrono::seconds HLSSegment::Duration ( void  ) const
inline

◆ Id()

int HLSSegment::Id ( void  ) const
inline

◆ Lock()

void HLSSegment::Lock ( void  )
inline

◆ Unlock()

void HLSSegment::Unlock ( void  )
inline

◆ IsEmpty()

bool HLSSegment::IsEmpty ( void  ) const
inline

Definition at line 183 of file httplivestreambuffer.cpp.

Referenced by HLSStream::DownloadSegmentData().

◆ Size()

int32_t HLSSegment::Size ( void  ) const
inline

◆ Download()

int HLSSegment::Download ( void  )
inline

Definition at line 193 of file httplivestreambuffer.cpp.

Referenced by HLSStream::DownloadSegmentData().

◆ CancelDownload()

void HLSSegment::CancelDownload ( void  )
inline

Definition at line 208 of file httplivestreambuffer.cpp.

◆ Url()

QString HLSSegment::Url ( void  ) const
inline

Definition at line 218 of file httplivestreambuffer.cpp.

Referenced by PlaylistWorker::UpdatePlaylist().

◆ SizePlayed()

int32_t HLSSegment::SizePlayed ( void  ) const
inline

Definition at line 223 of file httplivestreambuffer.cpp.

Referenced by HLSRingBuffer::SafeRead().

◆ Read()

uint32_t HLSSegment::Read ( uint8_t *  buffer,
int32_t  length,
FILE *  fd = nullptr 
)
inline

◆ Reset()

void HLSSegment::Reset ( void  )
inline

◆ Clear()

void HLSSegment::Clear ( void  )
inline

Definition at line 253 of file httplivestreambuffer.cpp.

Referenced by HLSRingBuffer::SafeRead().

◆ Title()

QString HLSSegment::Title ( void  ) const
inline

Definition at line 259 of file httplivestreambuffer.cpp.

◆ SetTitle()

void HLSSegment::SetTitle ( const QString &  x)
inline

Definition at line 263 of file httplivestreambuffer.cpp.

◆ Data()

const char* HLSSegment::Data ( void  ) const
inline

provides pointer to raw segment data

Definition at line 270 of file httplivestreambuffer.cpp.

Referenced by HLSRingBuffer::SaveToDisk().

Member Data Documentation

◆ m_id

int HLSSegment::m_id {0}
private

Definition at line 380 of file httplivestreambuffer.cpp.

Referenced by Id(), and operator=().

◆ m_duration

std::chrono::seconds HLSSegment::m_duration {0s}
private

Definition at line 381 of file httplivestreambuffer.cpp.

Referenced by Duration(), and operator=().

◆ m_bitrate

uint64_t HLSSegment::m_bitrate {0}
private

Definition at line 382 of file httplivestreambuffer.cpp.

Referenced by operator=().

◆ m_title

QString HLSSegment::m_title
private

Definition at line 383 of file httplivestreambuffer.cpp.

Referenced by operator=(), SetTitle(), and Title().

◆ m_url

QString HLSSegment::m_url
private

Definition at line 385 of file httplivestreambuffer.cpp.

Referenced by CancelDownload(), Download(), operator=(), and Url().

◆ m_data

QByteArray HLSSegment::m_data
private

Definition at line 386 of file httplivestreambuffer.cpp.

Referenced by Clear(), Data(), Download(), IsEmpty(), Read(), and Size().

◆ m_played

int32_t HLSSegment::m_played {0}
private

Definition at line 387 of file httplivestreambuffer.cpp.

Referenced by Clear(), Read(), Reset(), and SizePlayed().

◆ m_lock

QMutex HLSSegment::m_lock
private

Definition at line 388 of file httplivestreambuffer.cpp.

Referenced by CancelDownload(), Lock(), and Unlock().

◆ m_downloading

bool HLSSegment::m_downloading {false}
private

Definition at line 389 of file httplivestreambuffer.cpp.

Referenced by CancelDownload(), Download(), and operator=().


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