Classes | Public Member Functions | Protected Attributes | Private Attributes | List of all members
rsimpl::frame_archive Class Reference

#include <archive.h>

Inheritance diagram for rsimpl::frame_archive:
Inheritance graph
[legend]

Classes

struct  frame
 
struct  frame_additional_data
 
class  frame_ref
 
class  frameset
 

Public Member Functions

bytealloc_frame (rs_stream stream, const frame_additional_data &additional_data, bool requires_memory)
 
void attach_continuation (rs_stream stream, frame_continuation &&continuation)
 
frame_refclone_frame (frame_ref *frameset)
 
framesetclone_frameset (frameset *frameset)
 
frame_refdetach_frame_ref (frameset *frameset, rs_stream stream)
 
virtual void flush ()
 
 frame_archive (const std::vector< subdevice_mode_selection > &selection, std::atomic< uint32_t > *max_frame_queue_size, std::chrono::high_resolution_clock::time_point capture_started=std::chrono::high_resolution_clock::now())
 
const subdevice_mode_selectionget_mode (rs_stream stream) const
 
bool is_stream_enabled (rs_stream stream) const
 
void log_callback_start (frame_ref *frame_ref, std::chrono::high_resolution_clock::time_point capture_start_time)
 
void log_frame_callback_end (frame *frame)
 
framepublish_frame (frame &&frame)
 
void release_frame_ref (frame_ref *ref)
 
void release_frameset (frameset *frameset)
 
frame_reftrack_frame (rs_stream stream)
 
void unpublish_frame (frame *frame)
 
virtual ~frame_archive ()
 

Protected Attributes

frame backbuffer [RS_STREAM_NATIVE_COUNT]
 
std::chrono::high_resolution_clock::time_point capture_started
 
std::vector< framefreelist
 
std::recursive_mutex mutex
 

Private Attributes

small_heap< frame_ref, RS_USER_QUEUE_SIZE *RS_STREAM_COUNTdetached_refs
 
std::atomic< uint32_t > * max_frame_queue_size
 
subdevice_mode_selection modes [RS_STREAM_NATIVE_COUNT]
 
small_heap< frame, RS_USER_QUEUE_SIZE *RS_STREAM_COUNTpublished_frames
 
std::atomic< uint32_t > published_frames_per_stream [RS_STREAM_COUNT]
 
small_heap< frameset, RS_USER_QUEUE_SIZE *RS_STREAM_COUNTpublished_sets
 

Detailed Description

Definition at line 15 of file archive.h.

Constructor & Destructor Documentation

frame_archive::frame_archive ( const std::vector< subdevice_mode_selection > &  selection,
std::atomic< uint32_t > *  max_frame_queue_size,
std::chrono::high_resolution_clock::time_point  capture_started = std::chrono::high_resolution_clock::now() 
)

Definition at line 7 of file archive.cpp.

virtual rsimpl::frame_archive::~frame_archive ( )
inlinevirtual

Definition at line 260 of file archive.h.

Member Function Documentation

byte * frame_archive::alloc_frame ( rs_stream  stream,
const frame_additional_data additional_data,
bool  requires_memory 
)

Definition at line 88 of file archive.cpp.

void frame_archive::attach_continuation ( rs_stream  stream,
frame_continuation &&  continuation 
)

Definition at line 125 of file archive.cpp.

frame_archive::frame_ref * frame_archive::clone_frame ( frame_ref frameset)

Definition at line 77 of file archive.cpp.

frame_archive::frameset * frame_archive::clone_frameset ( frameset frameset)

Definition at line 25 of file archive.cpp.

frame_archive::frame_ref * frame_archive::detach_frame_ref ( frameset frameset,
rs_stream  stream 
)

Definition at line 67 of file archive.cpp.

void frame_archive::flush ( )
virtual

Reimplemented in rsimpl::syncronizing_archive.

Definition at line 144 of file archive.cpp.

const subdevice_mode_selection& rsimpl::frame_archive::get_mode ( rs_stream  stream) const
inline

Definition at line 233 of file archive.h.

bool rsimpl::frame_archive::is_stream_enabled ( rs_stream  stream) const
inline

Definition at line 232 of file archive.h.

void rsimpl::frame_archive::log_callback_start ( frame_ref frame_ref,
std::chrono::high_resolution_clock::time_point  capture_start_time 
)
void frame_archive::log_frame_callback_end ( frame frame)

Definition at line 383 of file archive.cpp.

frame_archive::frame * frame_archive::publish_frame ( frame &&  frame)

Definition at line 51 of file archive.cpp.

void rsimpl::frame_archive::release_frame_ref ( frame_ref ref)
inline

Definition at line 246 of file archive.h.

void rsimpl::frame_archive::release_frameset ( frameset frameset)
inline

Definition at line 235 of file archive.h.

frame_archive::frame_ref * frame_archive::track_frame ( rs_stream  stream)

Definition at line 130 of file archive.cpp.

void frame_archive::unpublish_frame ( frame frame)

Definition at line 35 of file archive.cpp.

Member Data Documentation

frame rsimpl::frame_archive::backbuffer[RS_STREAM_NATIVE_COUNT]
protected

Definition at line 223 of file archive.h.

std::chrono::high_resolution_clock::time_point rsimpl::frame_archive::capture_started
protected

Definition at line 226 of file archive.h.

small_heap<frame_ref, RS_USER_QUEUE_SIZE*RS_STREAM_COUNT> rsimpl::frame_archive::detached_refs
private

Definition at line 219 of file archive.h.

std::vector<frame> rsimpl::frame_archive::freelist
protected

Definition at line 224 of file archive.h.

std::atomic<uint32_t>* rsimpl::frame_archive::max_frame_queue_size
private

Definition at line 215 of file archive.h.

subdevice_mode_selection rsimpl::frame_archive::modes[RS_STREAM_NATIVE_COUNT]
private

Definition at line 213 of file archive.h.

std::recursive_mutex rsimpl::frame_archive::mutex
protected

Definition at line 225 of file archive.h.

small_heap<frame, RS_USER_QUEUE_SIZE*RS_STREAM_COUNT> rsimpl::frame_archive::published_frames
private

Definition at line 217 of file archive.h.

std::atomic<uint32_t> rsimpl::frame_archive::published_frames_per_stream[RS_STREAM_COUNT]
private

Definition at line 216 of file archive.h.

small_heap<frameset, RS_USER_QUEUE_SIZE*RS_STREAM_COUNT> rsimpl::frame_archive::published_sets
private

Definition at line 218 of file archive.h.


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


librealsense
Author(s): Sergey Dorodnicov , Mark Horn , Reagan Lopez
autogenerated on Fri Mar 13 2020 03:16:19