Kanzi Connect  3.9.9
Kanzi Connect C++ API
kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass > Class Template Reference

Implementation of ReceiverNodeConcept. More...

#include <receiver_node.hpp>

Inheritance diagram for kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >:
kanzi::connect::ReceiverNodeConcept

Public Member Functions

string getStreamId () const
 Returns the value of the StreamIdProperty. More...
 
void initialize ()
 ReceiverNodeConceptImpl specific initialization. More...
 
void initializeStreamManager (size_t delay)
 
void onFrame (PixelFrameSharedPtr frame)
 Processes frames that are received through a PeerConnection. More...
 
void setStreamId (const string &streamId)
 Sets the value of the StreamIdProperty. More...
 

Static Public Member Functions

static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 
- Static Public Member Functions inherited from kanzi::connect::ReceiverNodeConcept
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 

Protected Types

enum  OutputTextureIndex { YTexture = 0, UTexture = 1, VTexture = 2 }
 

Protected Member Functions

void onAttached () override
 kanzi::Node::onAttached() implementation. More...
 
void onDetached () override
 kanzi::Node::onDetached() implementation. More...
 
void onNodePropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) override
 kanzi::Node::onPropertyChanged implementation. More...
 
 ReceiverNodeConceptImpl (Domain *domain, string_view name)
 Constructor. More...
 
void updateTexturesTask (PixelFrameWeakPtr frame)
 Handler for kanzi::PanManipulator::StartedMessage. More...
 

Protected Attributes

MaterialBrushSharedPtr m_brush
 The brush to render the material. More...
 
MaterialSharedPtr m_material
 Disable these to favor connect input service Default value for kanzi::Node::HitTestableProperty. More...
 
TextureSharedPtr m_uTexture
 The texture that contains the u-channel of the frame. More...
 
TextureSharedPtr m_vTexture
 The texture that contains the v-channel of the frame. More...
 
TextureSharedPtr m_yTexture
 The texture that contains the y-channel of the frame. More...
 

Additional Inherited Members

- Static Public Attributes inherited from kanzi::connect::ReceiverNodeConcept
static PropertyType< bool > IsOutputLinearProperty
 Indicates whether the output of the YUV to RGB shader is linear. More...
 
static PropertyType< string > StreamIdProperty
 Contains the stream ID that the ReceiverNode is configured to receive. More...
 
static PropertyType< string > StreamTypeProperty
 User defined type for the stream that the StreamingComponent will produce. More...
 
static PropertyType< ResourceSharedPtruTextureProperty
 Contains the U component texture for the ReceiverNode material. More...
 
static PropertyType< ResourceSharedPtrvTextureProperty
 Contains the V component texture for the ReceiverNode material. More...
 
static PropertyType< ResourceSharedPtryTextureProperty
 Contains the Y component texture for the ReceiverNode material. More...
 

Detailed Description

template<typename TBaseClass, typename TDerivedClass>
class kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >

Implementation of ReceiverNodeConcept.

ReceiverNodeConceptImpl can only be accessed from the signaling thread unless otherwise noted.

Member Enumeration Documentation

◆ OutputTextureIndex

template<typename TBaseClass, typename TDerivedClass>
enum kanzi::connect::ReceiverNodeConceptImpl::OutputTextureIndex
protected
Enumerator
YTexture 

Y-channel texture for the video encoder.

UTexture 

U-channel texture for the video encoder.

VTexture 

V-channel texture for the video encoder.

Constructor & Destructor Documentation

◆ ReceiverNodeConceptImpl()

template<typename TBaseClass , typename TDerivedClass >
kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::ReceiverNodeConceptImpl ( Domain *  domain,
string_view  name 
)
explicitprotected

Constructor.

Member Function Documentation

◆ getStreamId()

template<typename TBaseClass, typename TDerivedClass>
string kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::getStreamId ( ) const
inline

Returns the value of the StreamIdProperty.

Returns
The stream ID that the ReceiverNode is configured to receive.
See also
setStreamId().

◆ initialize()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::initialize ( )

ReceiverNodeConceptImpl specific initialization.

◆ initializeStreamManager()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::initializeStreamManager ( size_t  delay)

◆ makeEditorInfo()

template<typename TBaseClass , typename TDerivedClass >
PropertyTypeEditorInfoSharedPtr kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::makeEditorInfo ( )
static

◆ onAttached()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::onAttached ( )
overrideprotected

kanzi::Node::onAttached() implementation.

◆ onDetached()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::onDetached ( )
overrideprotected

kanzi::Node::onDetached() implementation.

◆ onFrame()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::onFrame ( PixelFrameSharedPtr  frame)

Processes frames that are received through a PeerConnection.

The sink calls this whenever it receives a new frame. Can be called from any thread.

Parameters
frameThe frame that was received.

◆ onNodePropertyChanged()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::onNodePropertyChanged ( AbstractPropertyType  propertyType,
PropertyNotificationReason  reason 
)
overrideprotected

kanzi::Node::onPropertyChanged implementation.

◆ setStreamId()

template<typename TBaseClass, typename TDerivedClass>
void kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::setStreamId ( const string &  streamId)
inline

Sets the value of the StreamIdProperty.

Parameters
streamIdThe stream ID the ReceiverNode is to receive.
See also
getStreamId()

◆ updateTexturesTask()

template<typename TBaseClass , typename TDerivedClass >
void kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::updateTexturesTask ( PixelFrameWeakPtr  frame)
protected

Handler for kanzi::PanManipulator::StartedMessage.

Parameters
argsMessage arguments. Handler for kanzi::PanManipulator::MovedMessage.
argsMessage arguments. Handler for kanzi::PanManipulator::FinishedMessage.
argsMessage arguments. Handles ReceiverNode pan events. Pan message handlers call this whenever a pan message is received.
stateState of the pan event.
argsPan message arguments. A task that updates the internal YUV textures with data contained in the buffer. The textures are recreated if the buffer size does not match the texture size.
bufferThe buffer that contains the data for the textures.

Member Data Documentation

◆ m_brush

template<typename TBaseClass, typename TDerivedClass>
MaterialBrushSharedPtr kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::m_brush
protected

The brush to render the material.

◆ m_material

template<typename TBaseClass, typename TDerivedClass>
MaterialSharedPtr kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::m_material
protected

Disable these to favor connect input service Default value for kanzi::Node::HitTestableProperty.

Default value for kanzi::Node::FocusableProperty. The material that is used to render the received frames.

◆ m_uTexture

template<typename TBaseClass, typename TDerivedClass>
TextureSharedPtr kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::m_uTexture
protected

The texture that contains the u-channel of the frame.

◆ m_vTexture

template<typename TBaseClass, typename TDerivedClass>
TextureSharedPtr kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::m_vTexture
protected

The texture that contains the v-channel of the frame.

◆ m_yTexture

template<typename TBaseClass, typename TDerivedClass>
TextureSharedPtr kanzi::connect::ReceiverNodeConceptImpl< TBaseClass, TDerivedClass >::m_yTexture
protected

The texture that contains the y-channel of the frame.


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