Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
Classes | Public Member Functions | Protected Attributes | List of all members
rsimpl::frame_archive Class Reference

#include <archive.h>

Inheritance diagram for rsimpl::frame_archive:
rsimpl::syncronizing_archive

Classes

struct  frame
 
struct  frame_additional_data
 
class  frame_ref
 
class  frameset
 

Public Member Functions

 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())
 
bool is_stream_enabled (rs_stream stream) const
 
const subdevice_mode_selectionget_mode (rs_stream stream) const
 
void release_frameset (frameset *frameset)
 
framesetclone_frameset (frameset *frameset)
 
void unpublish_frame (frame *frame)
 
framepublish_frame (frame &&frame)
 
frame_refdetach_frame_ref (frameset *frameset, rs_stream stream)
 
frame_refclone_frame (frame_ref *frameset)
 
void release_frame_ref (frame_ref *ref)
 
bytealloc_frame (rs_stream stream, const frame_additional_data &additional_data, bool requires_memory)
 
frame_reftrack_frame (rs_stream stream)
 
void attach_continuation (rs_stream stream, frame_continuation &&continuation)
 
void log_frame_callback_end (frame *frame)
 
void log_callback_start (frame_ref *frame_ref, std::chrono::high_resolution_clock::time_point capture_start_time)
 
virtual void flush ()
 
virtual ~frame_archive ()
 

Protected Attributes

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

Constructor & Destructor Documentation

◆ frame_archive()

rsimpl::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() 
)

◆ ~frame_archive()

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

Member Function Documentation

◆ alloc_frame()

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

◆ attach_continuation()

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

◆ clone_frame()

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

◆ clone_frameset()

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

◆ detach_frame_ref()

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

◆ flush()

virtual void rsimpl::frame_archive::flush ( )
virtual

Reimplemented in rsimpl::syncronizing_archive.

◆ get_mode()

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

◆ is_stream_enabled()

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

◆ log_callback_start()

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

◆ log_frame_callback_end()

void rsimpl::frame_archive::log_frame_callback_end ( frame frame)

◆ publish_frame()

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

◆ release_frame_ref()

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

◆ release_frameset()

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

◆ track_frame()

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

◆ unpublish_frame()

void rsimpl::frame_archive::unpublish_frame ( frame frame)

Member Data Documentation

◆ backbuffer

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

◆ capture_started

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

◆ freelist

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

◆ mutex

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

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