#include <rs_frame.hpp>
◆ frame() [1/4]
Base class for multiple frame extensions
◆ frame() [2/4]
Base class for multiple frame extensions with internal frame handle
- Parameters
-
[in] | rs2_frame | frame_ref - internal frame instance |
◆ frame() [3/4]
rs2::frame::frame |
( |
frame && |
other | ) |
|
|
inlinenoexcept |
Change the internal frame handle to the one in parameter, then put the other frame internal frame handle to nullptr
- Parameters
-
[in] | frame | other - another frame instance to be pointed to |
◆ frame() [4/4]
rs2::frame::frame |
( |
const frame & |
other | ) |
|
|
inline |
Set the internal frame handle to the one in parameter, the function create additional reference if internal reference exist.
- Parameters
-
[in] | frame | other - another frame instance to be pointed to |
◆ ~frame()
releases the frame handle
◆ add_ref()
void rs2::frame::add_ref |
( |
| ) |
const |
|
inlineprotected |
add additional reference to a frame without duplicating frame data
- Parameters
-
[out] | result | new frame reference, release by destructor |
- Returns
- true if cloning was successful
◆ apply_filter()
◆ as()
template<class T >
T rs2::frame::as |
( |
| ) |
const |
|
inline |
Template function, cast current instance as the type of another class
- Returns
- class instance.
◆ get()
Retrieve back the internal frame handle
- Returns
- rs2_frame - internal frame handle.
◆ get_data()
const void* rs2::frame::get_data |
( |
| ) |
const |
|
inline |
retrieve data from frame handle
- Returns
- the pointer to the start of the frame data
◆ get_data_size()
const int rs2::frame::get_data_size |
( |
| ) |
const |
|
inline |
retrieve data size from frame handle
- Returns
- the number of bytes in frame
◆ get_frame_metadata()
retrieve the current value of a single frame_metadata
- Parameters
-
[in] | frame_metadata | the frame_metadata whose value should be retrieved |
- Returns
- the value of the frame_metadata
◆ get_frame_number()
unsigned long long rs2::frame::get_frame_number |
( |
| ) |
const |
|
inline |
retrieve frame number (from frame handle)
- Returns
- the frame number of the frame, in milliseconds since the device was started
◆ get_frame_timestamp_domain()
retrieve the timestamp domain
- Returns
- timestamp domain (clock name) for timestamp values
◆ get_profile()
retrieve stream profile from frame handle
- Returns
- stream_profile - the pointer to the stream profile
◆ get_sensor()
◆ get_timestamp()
double rs2::frame::get_timestamp |
( |
| ) |
const |
|
inline |
retrieve the time at which the frame was captured During the frame's lifetime it receives timestamps both at the device and host levels. The different timestamps are gathered and managed under the frame's Metadata attributes. Chronologically the list of timestamps comprises of: SENSOR_TIMESTAMP - Device clock. For video sensors designates the middle of exposure. Requires metadata support. FRAME_TIMESTAMP - Device clock. Stamped at the beginning of frame readout and transfer. Requires metadata support. BACKEND_TIMESTAMP - Host (EPOCH) clock in Kernel space. Frame transfer from USB Controller to the USB Driver. TIME_OF_ARRIVAL - Host (EPOCH) clock in User space. Frame transfer from the USB Driver to Librealsense.
During runtime the SDK dynamically selects the most correct representaion, based on both device and host capabilities: In case the frame metadata is not configured:
- The function call provides the TIME_OF_ARRIVAL stamp. In case the metadata is available the function returns:
HW Timestamp
(FRAME_TIMESTAMP), or
Global Timestamp
Host-corrected derivative of HW Timestamp
required for multi-sensor/device synchronization
- The user can select between the unmodified and the host-calculated Hardware Timestamp by toggling the
RS2_OPTION_GLOBAL_TIME_ENABLED
option. To query which of the three alternatives is active use get_frame_timestamp_domain()
function call - Returns
- the timestamp of the frame, in milliseconds according to the elaborated flow
◆ is()
template<class T >
bool rs2::frame::is |
( |
| ) |
const |
|
inline |
Template function, checking if current instance is the type of another class
- Returns
- bool - true or false.
◆ keep()
void rs2::frame::keep |
( |
| ) |
|
|
inline |
keep the frame, otherwise if no refernce to the frame, the frame will be released.
◆ operator bool()
rs2::frame::operator bool |
( |
| ) |
const |
|
inline |
Parenthesis operator check if internal frame handle is valid.
- Returns
- bool - true or false.
◆ operator rs2_frame *()
◆ operator=()
Change the internal frame handle to the one in parameter, the function exchange the internal frame handle.
- Parameters
-
[in] | frame | other - another frame instance to be pointed to |
◆ reset()
void rs2::frame::reset |
( |
| ) |
|
|
inlineprotected |
◆ supports_frame_metadata()
determine if the device allows a specific metadata to be queried
- Parameters
-
[in] | frame_metadata | the frame_metadata to check for support |
- Returns
- true if the frame_metadata can be queried
◆ swap()
void rs2::frame::swap |
( |
frame & |
other | ) |
|
|
inline |
Swap the internal frame handle with the one in parameter
- Parameters
-
[in] | frame | other - another frame instance to be swaped |
◆ rs2::frame_queue
◆ rs2::frame_source
◆ rs2::pointcloud
◆ rs2::points
◆ rs2::processing_block
◆ rs2::syncer
The documentation for this class was generated from the following file:
- C:/jenkins_sys_rsbuild/workspace/LRS_doxygen_pipeline/source/include/librealsense2/hpp/rs_frame.hpp