Class VideoStreamSerializer

Base Type

  • private gxf::EntitySerializer

class nvidia::holoscan::stream_playback::VideoStreamSerializer : private gxf::EntitySerializer

Data marshalling codelet for video stream entities.

Serializes and deserializes entities with the provided component serializers. Little-endian is used over big-endian for better performance on x86 and arm platforms. Entities are serialized in the following format:

| Entity Header || Component Header | Component Name | Component | … | … | … |

Components will be serialized in the order they are added to the entity. Components without serializers will be skipped. Each component will be preceeded by a component header and the name of the component. The component itself will be serialized with a component serializer. An entity header will be added at the beginning.

Public Functions

gxf_result_t registerInterface(gxf::Registrar *registrar) override
inline gxf_result_t initialize() override
inline gxf_result_t deinitialize() override
gxf_result_t serialize_entity_abi(gxf_uid_t eid, gxf::Endpoint *endpoint, uint64_t *size) override
gxf_result_t deserialize_entity_abi(gxf_uid_t eid, gxf::Endpoint *endpoint) override
gxf::Expected<gxf::Entity> deserialize_entity_header_abi(gxf::Endpoint *endpoint) override

struct ComponentEntry

Public Members

ComponentHeader header = {0, GxfTidNull(), 0}
gxf::UntypedHandle component = gxf::UntypedHandle::Null()
gxf::Handle<gxf::ComponentSerializer> serializer = gxf::Handle<gxf::ComponentSerializer>::Null()

struct ComponentHeader

Public Members

uint64_t serialized_size
gxf_tid_t tid
uint64_t name_size

struct EntityHeader

Public Members

uint64_t serialized_size
uint32_t checksum
uint64_t sequence_number
uint32_t flags
uint64_t component_count
uint64_t reserved

© Copyright 2022, NVIDIA. Last updated on Feb 1, 2023.