Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
librealsense::frame_archive< T > Class Template Reference

#include <frame-archive.h>

Inheritance diagram for librealsense::frame_archive< T >:
Inheritance graph
[legend]

Public Member Functions

frame_interfacealloc_and_track (const size_t size, const frame_additional_data &additional_data, bool requires_memory) override
 
callback_invocation_holder begin_callback () override
 
void flush () override
 
 frame_archive (std::atomic< uint32_t > *in_max_frame_queue_size, std::shared_ptr< platform::time_service > ts, std::shared_ptr< metadata_parser_map > parsers)
 
void release_frame_ref (frame_interface *ref)
 
 ~frame_archive ()
 
- Public Member Functions inherited from librealsense::archive_interface
virtual ~archive_interface ()=default
 
- Public Member Functions inherited from librealsense::sensor_part
virtual ~sensor_part ()=default
 

Private Member Functions

alloc_frame (const size_t size, const frame_additional_data &additional_data, bool requires_memory)
 
std::shared_ptr< metadata_parser_mapget_md_parsers () const override
 
std::shared_ptr< sensor_interfaceget_sensor () const override
 
void keep_frame (frame_interface *frame) override
 
void log_frame_callback_end (T *frame) const
 
frame_interfacepublish_frame (frame_interface *frame) override
 
void set_sensor (std::shared_ptr< sensor_interface > s) override
 
frame_interfacetrack_frame (T &f)
 
void unpublish_frame (frame_interface *frame) override
 

Private Attributes

std::shared_ptr< metadata_parser_map_metadata_parsers = nullptr
 
std::weak_ptr< sensor_interface_sensor
 
std::shared_ptr< platform::time_service_time_service
 
callbacks_heap callback_inflight
 
std::vector< T > freelist
 
std::atomic< uint32_t > * max_frame_queue_size
 
std::recursive_mutex mutex
 
int pending_frames = 0
 
small_heap< T, RS2_USER_QUEUE_SIZEpublished_frames
 
std::atomic< uint32_tpublished_frames_count
 
std::atomic< bool > recycle_frames
 

Friends

class frame
 

Detailed Description

template<class T>
class librealsense::frame_archive< T >

Definition at line 11 of file frame-archive.h.

Constructor & Destructor Documentation

template<class T >
librealsense::frame_archive< T >::frame_archive ( std::atomic< uint32_t > *  in_max_frame_queue_size,
std::shared_ptr< platform::time_service ts,
std::shared_ptr< metadata_parser_map parsers 
)
inlineexplicit

Definition at line 165 of file frame-archive.h.

template<class T >
librealsense::frame_archive< T >::~frame_archive ( )
inline

Definition at line 220 of file frame-archive.h.

Member Function Documentation

template<class T >
frame_interface* librealsense::frame_archive< T >::alloc_and_track ( const size_t  size,
const frame_additional_data additional_data,
bool  requires_memory 
)
inlineoverridevirtual

Implements librealsense::archive_interface.

Definition at line 185 of file frame-archive.h.

template<class T >
T librealsense::frame_archive< T >::alloc_frame ( const size_t  size,
const frame_additional_data additional_data,
bool  requires_memory 
)
inlineprivate

Definition at line 29 of file frame-archive.h.

template<class T >
callback_invocation_holder librealsense::frame_archive< T >::begin_callback ( )
inlineoverridevirtual

Implements librealsense::archive_interface.

Definition at line 175 of file frame-archive.h.

template<class T >
void librealsense::frame_archive< T >::flush ( )
inlineoverridevirtual

Implements librealsense::archive_interface.

Definition at line 191 of file frame-archive.h.

template<class T >
std::shared_ptr<metadata_parser_map> librealsense::frame_archive< T >::get_md_parsers ( ) const
inlineoverrideprivatevirtual

Implements librealsense::archive_interface.

Definition at line 160 of file frame-archive.h.

template<class T >
std::shared_ptr<sensor_interface> librealsense::frame_archive< T >::get_sensor ( ) const
inlineoverrideprivatevirtual

Implements librealsense::sensor_part.

Definition at line 26 of file frame-archive.h.

template<class T >
void librealsense::frame_archive< T >::keep_frame ( frame_interface frame)
inlineoverrideprivatevirtual

Implements librealsense::archive_interface.

Definition at line 104 of file frame-archive.h.

template<class T >
void librealsense::frame_archive< T >::log_frame_callback_end ( T *  frame) const
inlineprivate

Definition at line 139 of file frame-archive.h.

template<class T >
frame_interface* librealsense::frame_archive< T >::publish_frame ( frame_interface frame)
inlineoverrideprivatevirtual

Implements librealsense::archive_interface.

Definition at line 109 of file frame-archive.h.

template<class T >
void librealsense::frame_archive< T >::release_frame_ref ( frame_interface ref)
inline

Definition at line 180 of file frame-archive.h.

template<class T >
void librealsense::frame_archive< T >::set_sensor ( std::shared_ptr< sensor_interface s)
inlineoverrideprivatevirtual

Implements librealsense::sensor_part.

Definition at line 27 of file frame-archive.h.

template<class T >
frame_interface* librealsense::frame_archive< T >::track_frame ( T &  f)
inlineprivate

Definition at line 66 of file frame-archive.h.

template<class T >
void librealsense::frame_archive< T >::unpublish_frame ( frame_interface frame)
inlineoverrideprivatevirtual

Implements librealsense::archive_interface.

Definition at line 81 of file frame-archive.h.

Friends And Related Function Documentation

template<class T >
friend class frame
friend

Definition at line 160 of file frame-archive.h.

Member Data Documentation

template<class T >
std::shared_ptr<metadata_parser_map> librealsense::frame_archive< T >::_metadata_parsers = nullptr
private

Definition at line 16 of file frame-archive.h.

template<class T >
std::weak_ptr<sensor_interface> librealsense::frame_archive< T >::_sensor
private

Definition at line 25 of file frame-archive.h.

template<class T >
std::shared_ptr<platform::time_service> librealsense::frame_archive< T >::_time_service
private

Definition at line 23 of file frame-archive.h.

template<class T >
callbacks_heap librealsense::frame_archive< T >::callback_inflight
private

Definition at line 17 of file frame-archive.h.

template<class T >
std::vector<T> librealsense::frame_archive< T >::freelist
private

Definition at line 19 of file frame-archive.h.

template<class T >
std::atomic<uint32_t>* librealsense::frame_archive< T >::max_frame_queue_size
private

Definition at line 13 of file frame-archive.h.

template<class T >
std::recursive_mutex librealsense::frame_archive< T >::mutex
private

Definition at line 22 of file frame-archive.h.

template<class T >
int librealsense::frame_archive< T >::pending_frames = 0
private

Definition at line 21 of file frame-archive.h.

template<class T >
small_heap<T, RS2_USER_QUEUE_SIZE> librealsense::frame_archive< T >::published_frames
private

Definition at line 15 of file frame-archive.h.

template<class T >
std::atomic<uint32_t> librealsense::frame_archive< T >::published_frames_count
private

Definition at line 14 of file frame-archive.h.

template<class T >
std::atomic<bool> librealsense::frame_archive< T >::recycle_frames
private

Definition at line 20 of file frame-archive.h.


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


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:37