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

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() 
)
virtual rsimpl::frame_archive::~frame_archive ( )
inlinevirtual

Member Function Documentation

byte* rsimpl::frame_archive::alloc_frame ( rs_stream  stream,
const frame_additional_data additional_data,
bool  requires_memory 
)
void rsimpl::frame_archive::attach_continuation ( rs_stream  stream,
frame_continuation &&  continuation 
)
frame_ref* rsimpl::frame_archive::clone_frame ( frame_ref frameset)
frameset* rsimpl::frame_archive::clone_frameset ( frameset frameset)
frame_ref* rsimpl::frame_archive::detach_frame_ref ( frameset frameset,
rs_stream  stream 
)
virtual void rsimpl::frame_archive::flush ( )
virtual

Reimplemented in rsimpl::syncronizing_archive.

const subdevice_mode_selection& rsimpl::frame_archive::get_mode ( rs_stream  stream) const
inline
bool rsimpl::frame_archive::is_stream_enabled ( rs_stream  stream) const
inline
void rsimpl::frame_archive::log_callback_start ( frame_ref frame_ref,
std::chrono::high_resolution_clock::time_point  capture_start_time 
)
void rsimpl::frame_archive::log_frame_callback_end ( frame frame)
frame* rsimpl::frame_archive::publish_frame ( frame &&  frame)
void rsimpl::frame_archive::release_frame_ref ( frame_ref ref)
inline
void rsimpl::frame_archive::release_frameset ( frameset frameset)
inline
frame_ref* rsimpl::frame_archive::track_frame ( rs_stream  stream)
void rsimpl::frame_archive::unpublish_frame ( frame frame)

Member Data Documentation

frame rsimpl::frame_archive::backbuffer[RS_STREAM_NATIVE_COUNT]
protected
std::chrono::high_resolution_clock::time_point rsimpl::frame_archive::capture_started
protected
std::vector<frame> rsimpl::frame_archive::freelist
protected
std::recursive_mutex rsimpl::frame_archive::mutex
protected

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