Public Member Functions | Private Member Functions | Private Attributes | List of all members
rsimpl::syncronizing_archive Class Reference

#include <sync.h>

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

Public Member Functions

framesetclone_frontbuffer ()
 
void commit_frame (rs_stream stream)
 
void correct_timestamp (rs_stream stream)
 
void flush () override
 
int get_frame_bpp (rs_stream stream) const
 
const byteget_frame_data (rs_stream stream) const
 
double get_frame_metadata (rs_stream stream, rs_frame_metadata frame_metadata) const
 
unsigned long long get_frame_number (rs_stream stream) const
 
int get_frame_stride (rs_stream stream) const
 
long long get_frame_system_time (rs_stream stream) const
 
double get_frame_timestamp (rs_stream stream) const
 
void on_timestamp (rs_timestamp_data data)
 
bool poll_for_frames ()
 
bool poll_for_frames_safe (frameset **frames)
 
bool supports_frame_metadata (rs_stream stream, rs_frame_metadata frame_metadata) const
 
 syncronizing_archive (const std::vector< subdevice_mode_selection > &selection, rs_stream key_stream, std::atomic< uint32_t > *max_size, std::atomic< uint32_t > *event_queue_size, std::atomic< uint32_t > *events_timeout, std::chrono::high_resolution_clock::time_point capture_started=std::chrono::high_resolution_clock::now())
 
void wait_for_frames ()
 
framesetwait_for_frames_safe ()
 
- Public Member Functions inherited from rsimpl::frame_archive
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)
 
 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 ()
 

Private Member Functions

void cull_frames ()
 
void dequeue_frame (rs_stream stream)
 
void discard_frame (rs_stream stream)
 
void get_next_frames ()
 

Private Attributes

std::condition_variable_any cv
 
std::vector< frame > frames [RS_STREAM_NATIVE_COUNT]
 
frameset frontbuffer
 
rs_stream key_stream
 
subdevice_mode_selection modes [RS_STREAM_NATIVE_COUNT]
 
std::vector< rs_streamother_streams
 
timestamp_corrector ts_corrector
 

Additional Inherited Members

- Protected Attributes inherited from rsimpl::frame_archive
frame backbuffer [RS_STREAM_NATIVE_COUNT]
 
std::chrono::high_resolution_clock::time_point capture_started
 
std::vector< framefreelist
 
std::recursive_mutex mutex
 

Detailed Description

Definition at line 51 of file sync.h.

Constructor & Destructor Documentation

syncronizing_archive::syncronizing_archive ( const std::vector< subdevice_mode_selection > &  selection,
rs_stream  key_stream,
std::atomic< uint32_t > *  max_size,
std::atomic< uint32_t > *  event_queue_size,
std::atomic< uint32_t > *  events_timeout,
std::chrono::high_resolution_clock::time_point  capture_started = std::chrono::high_resolution_clock::now() 
)

Definition at line 6 of file sync.cpp.

Member Function Documentation

frame_archive::frameset * syncronizing_archive::clone_frontbuffer ( )

Definition at line 47 of file sync.cpp.

void syncronizing_archive::commit_frame ( rs_stream  stream)

Definition at line 145 of file sync.cpp.

void syncronizing_archive::correct_timestamp ( rs_stream  stream)

Definition at line 160 of file sync.cpp.

void syncronizing_archive::cull_frames ( )
private

Definition at line 179 of file sync.cpp.

void syncronizing_archive::dequeue_frame ( rs_stream  stream)
private

Definition at line 229 of file sync.cpp.

void syncronizing_archive::discard_frame ( rs_stream  stream)
private

Definition at line 244 of file sync.cpp.

void syncronizing_archive::flush ( )
overridevirtual

Reimplemented from rsimpl::frame_archive.

Definition at line 154 of file sync.cpp.

int syncronizing_archive::get_frame_bpp ( rs_stream  stream) const

Definition at line 42 of file sync.cpp.

const byte * syncronizing_archive::get_frame_data ( rs_stream  stream) const

Definition at line 32 of file sync.cpp.

double syncronizing_archive::get_frame_metadata ( rs_stream  stream,
rs_frame_metadata  frame_metadata 
) const

Definition at line 52 of file sync.cpp.

unsigned long long rsimpl::syncronizing_archive::get_frame_number ( rs_stream  stream) const

Definition at line 62 of file sync.cpp.

int syncronizing_archive::get_frame_stride ( rs_stream  stream) const

Definition at line 173 of file sync.cpp.

long long syncronizing_archive::get_frame_system_time ( rs_stream  stream) const

Definition at line 67 of file sync.cpp.

double syncronizing_archive::get_frame_timestamp ( rs_stream  stream) const

Definition at line 37 of file sync.cpp.

void syncronizing_archive::get_next_frames ( )
private

Definition at line 122 of file sync.cpp.

void syncronizing_archive::on_timestamp ( rs_timestamp_data  data)

Definition at line 168 of file sync.cpp.

bool syncronizing_archive::poll_for_frames ( )

Definition at line 82 of file sync.cpp.

bool syncronizing_archive::poll_for_frames_safe ( frameset **  frames)

Definition at line 106 of file sync.cpp.

bool syncronizing_archive::supports_frame_metadata ( rs_stream  stream,
rs_frame_metadata  frame_metadata 
) const

Definition at line 57 of file sync.cpp.

void syncronizing_archive::wait_for_frames ( )

Definition at line 73 of file sync.cpp.

frame_archive::frameset * syncronizing_archive::wait_for_frames_safe ( )

Definition at line 91 of file sync.cpp.

Member Data Documentation

std::condition_variable_any rsimpl::syncronizing_archive::cv
private

Definition at line 64 of file sync.h.

std::vector<frame> rsimpl::syncronizing_archive::frames[RS_STREAM_NATIVE_COUNT]
private

Definition at line 63 of file sync.h.

frameset rsimpl::syncronizing_archive::frontbuffer
private

Definition at line 60 of file sync.h.

rs_stream rsimpl::syncronizing_archive::key_stream
private

Definition at line 56 of file sync.h.

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

Definition at line 55 of file sync.h.

std::vector<rs_stream> rsimpl::syncronizing_archive::other_streams
private

Definition at line 57 of file sync.h.

timestamp_corrector rsimpl::syncronizing_archive::ts_corrector
private

Definition at line 71 of file sync.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