MythTV  master
Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Attributes | List of all members
Buffer Class Reference

#include <mythexternrecorder/MythExternControl.h>

Inheritance diagram for Buffer:
[legend]
Collaboration diagram for Buffer:
[legend]

Public Member Functions

 Buffer (MythExternControl *parent)
 
 ~Buffer (void) override=default
 
void Start (void)
 
void Join (void)
 
bool Fill (const QByteArray &buffer)
 
std::chrono::time_point< std::chrono::system_clock > HeartBeat (void) const
 

Static Public Attributes

static constexpr uint16_t kMaxQueue { 500 }
 

Protected Member Functions

void Run (void)
 

Private Types

using block_t = std::vector< uint8_t >
 
using stack_t = std::queue< block_t >
 

Private Attributes

MythExternControlm_parent
 
std::thread m_thread
 
stack_t m_data
 
bool m_dataSeen {false}
 
std::chrono::time_point< std::chrono::system_clock > m_heartbeat
 

Detailed Description

Definition at line 36 of file MythExternControl.h.

Member Typedef Documentation

◆ block_t

using Buffer::block_t = std::vector<uint8_t>
private

Definition at line 61 of file MythExternControl.h.

◆ stack_t

using Buffer::stack_t = std::queue<block_t>
private

Definition at line 62 of file MythExternControl.h.

Constructor & Destructor Documentation

◆ Buffer()

Buffer::Buffer ( MythExternControl parent)
explicit

Definition at line 510 of file MythExternControl.cpp.

◆ ~Buffer()

Buffer::~Buffer ( void  )
overridedefault

Member Function Documentation

◆ Start()

void Buffer::Start ( void  )
inline

Definition at line 45 of file MythExternControl.h.

Referenced by MythExternControl::MythExternControl().

◆ Join()

void Buffer::Join ( void  )
inline

Definition at line 48 of file MythExternControl.h.

Referenced by MythExternControl::~MythExternControl().

◆ Fill()

bool Buffer::Fill ( const QByteArray &  buffer)

Definition at line 516 of file MythExternControl.cpp.

Referenced by MythExternControl::Fill().

◆ HeartBeat()

std::chrono::time_point<std::chrono::system_clock> Buffer::HeartBeat ( void  ) const
inline

Definition at line 54 of file MythExternControl.h.

◆ Run()

void Buffer::Run ( void  )
protected

Definition at line 562 of file MythExternControl.cpp.

Referenced by Start().

Member Data Documentation

◆ kMaxQueue

constexpr uint16_t Buffer::kMaxQueue { 500 }
staticconstexpr

Definition at line 41 of file MythExternControl.h.

Referenced by Fill().

◆ m_parent

MythExternControl* Buffer::m_parent
private

Definition at line 64 of file MythExternControl.h.

Referenced by Fill(), and Run().

◆ m_thread

std::thread Buffer::m_thread
private

Definition at line 66 of file MythExternControl.h.

Referenced by Join(), and Start().

◆ m_data

stack_t Buffer::m_data
private

Definition at line 68 of file MythExternControl.h.

Referenced by Fill(), and Run().

◆ m_dataSeen

bool Buffer::m_dataSeen {false}
private

Definition at line 69 of file MythExternControl.h.

Referenced by Fill().

◆ m_heartbeat

std::chrono::time_point<std::chrono::system_clock> Buffer::m_heartbeat
private

Definition at line 71 of file MythExternControl.h.

Referenced by Buffer(), Fill(), and HeartBeat().


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