Kanzi Connect 3.9.10
kanzi::connect::ConnectStreamEncodeUtil Class Reference

Connect video utility, read pixels using glReadPixels and post them through connect framework. More...

#include <stream_util_connect.hpp>

Inheritance diagram for kanzi::connect::ConnectStreamEncodeUtil:
kanzi::connect::StreamEncodeUtil kanzi::connect::StreamEncodeUtil_openh264

Public Member Functions

 ConnectStreamEncodeUtil ()
 Constructor.
 
virtual bool doEncode (const PixelFrame &in, vector< char > &out, int &flags)
 Request to encode a frame.
 
void encodePixelFrame (PixelFrameSharedPtr frame) override
 Encode new pixel frame and send data.
 
bool initialize (Domain &domain, StreamEncodeParameters &params) override
 Prepare encoding target.
 
void startEncoderThread ()
 
void stopEncoderThread ()
 
void uninitialize (bool softUninitialize=false) override
 Release encoder infra and write ending to video file or stream.
 
void updateRuntimedata ()
 
 ~ConnectStreamEncodeUtil () override
 Destructor.
 
- Public Member Functions inherited from kanzi::connect::StreamEncodeUtil
virtual ~StreamEncodeUtil ()
 Destructor.
 

Protected Attributes

bool m_accumulate = false
 
size_t m_delimeter = 0
 
Domain * m_domain = nullptr
 
unsigned int m_height = 0
 
mutex m_inboundMutex
 
vector< PixelFrameWeakPtrm_pixelData
 
vector< PixelFrameSharedPtrm_pixelData_keepalive
 
bool m_requestConfig = false
 
string m_streamId
 
unsigned int m_width = 0
 

Detailed Description

Connect video utility, read pixels using glReadPixels and post them through connect framework.

Constructor & Destructor Documentation

◆ ConnectStreamEncodeUtil()

kanzi::connect::ConnectStreamEncodeUtil::ConnectStreamEncodeUtil ( )

Constructor.

◆ ~ConnectStreamEncodeUtil()

kanzi::connect::ConnectStreamEncodeUtil::~ConnectStreamEncodeUtil ( )
override

Destructor.

Member Function Documentation

◆ doEncode()

virtual bool kanzi::connect::ConnectStreamEncodeUtil::doEncode ( const PixelFrame & in,
vector< char > & out,
int & flags )
virtual

Request to encode a frame.

Parameters
inA buffer containing frame data, assumption is that it will be 24bit BGR data
outA buffer containing encoded data. Presentation is plugin specific.
flagsAdditional information about this frame, sent to along the frame data to stream consumers.
Returns
True on success, data is to be sent over network.

◆ encodePixelFrame()

void kanzi::connect::ConnectStreamEncodeUtil::encodePixelFrame ( PixelFrameSharedPtr frame)
overridevirtual

Encode new pixel frame and send data.

Parameters
framePixelFrame which is to be encoded and sent.

Implements kanzi::connect::StreamEncodeUtil.

◆ initialize()

bool kanzi::connect::ConnectStreamEncodeUtil::initialize ( Domain & domain,
StreamEncodeParameters & params )
overridevirtual

◆ startEncoderThread()

void kanzi::connect::ConnectStreamEncodeUtil::startEncoderThread ( )

◆ stopEncoderThread()

void kanzi::connect::ConnectStreamEncodeUtil::stopEncoderThread ( )

◆ uninitialize()

void kanzi::connect::ConnectStreamEncodeUtil::uninitialize ( bool softUninitialize = false)
overridevirtual

Release encoder infra and write ending to video file or stream.

See also
StreamEncodeUtil::initialize

Implements kanzi::connect::StreamEncodeUtil.

Reimplemented in kanzi::connect::StreamEncodeUtil_openh264.

◆ updateRuntimedata()

void kanzi::connect::ConnectStreamEncodeUtil::updateRuntimedata ( )

Member Data Documentation

◆ m_accumulate

bool kanzi::connect::ConnectStreamEncodeUtil::m_accumulate = false
protected

◆ m_delimeter

size_t kanzi::connect::ConnectStreamEncodeUtil::m_delimeter = 0
protected

◆ m_domain

Domain* kanzi::connect::ConnectStreamEncodeUtil::m_domain = nullptr
protected

◆ m_height

unsigned int kanzi::connect::ConnectStreamEncodeUtil::m_height = 0
protected

◆ m_inboundMutex

mutex kanzi::connect::ConnectStreamEncodeUtil::m_inboundMutex
mutableprotected

◆ m_pixelData

vector<PixelFrameWeakPtr> kanzi::connect::ConnectStreamEncodeUtil::m_pixelData
protected

◆ m_pixelData_keepalive

vector<PixelFrameSharedPtr> kanzi::connect::ConnectStreamEncodeUtil::m_pixelData_keepalive
protected

◆ m_requestConfig

bool kanzi::connect::ConnectStreamEncodeUtil::m_requestConfig = false
protected

◆ m_streamId

string kanzi::connect::ConnectStreamEncodeUtil::m_streamId
protected

◆ m_width

unsigned int kanzi::connect::ConnectStreamEncodeUtil::m_width = 0
protected

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