src
archive.h
Go to the documentation of this file.
1
// License: Apache 2.0. See LICENSE file in root directory.
2
// Copyright(c) 2015 Intel Corporation. All Rights Reserved.
3
4
#pragma once
5
6
#include "
types.h
"
7
#include "
core/streaming.h
"
8
#include "
callback-invocation.h
"
9
10
11
namespace
librealsense
12
{
13
struct
frame_additional_data;
14
15
class
archive_interface
:
public
sensor_part
16
{
17
public
:
18
virtual
callback_invocation_holder
begin_callback
() = 0;
19
20
virtual
frame_interface
*
alloc_and_track
(
const
size_t
size
,
const
frame_additional_data
& additional_data,
bool
requires_memory) = 0;
21
22
virtual
std::shared_ptr<metadata_parser_map>
get_md_parsers
()
const
= 0;
23
24
virtual
void
flush
() = 0;
25
26
virtual
frame_interface
*
publish_frame
(
frame_interface
*
frame
) = 0;
27
virtual
void
unpublish_frame
(
frame_interface
*
frame
) = 0;
28
virtual
void
keep_frame
(
frame_interface
*
frame
) = 0;
29
virtual
~archive_interface
() =
default
;
30
};
31
32
std::shared_ptr<archive_interface>
make_archive
(
rs2_extension
type
,
33
std::atomic<uint32_t>* in_max_frame_queue_size,
34
std::shared_ptr<platform::time_service> ts,
35
std::shared_ptr<metadata_parser_map> parsers);
36
37
}
librealsense
Definition:
calibration-model.h:9
streaming.h
rs2_extension
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition:
rs_types.h:166
librealsense::archive_interface::get_md_parsers
virtual std::shared_ptr< metadata_parser_map > get_md_parsers() const =0
librealsense::archive_interface::~archive_interface
virtual ~archive_interface()=default
librealsense::frame_interface
Definition:
frame.h:111
librealsense::sensor_part
Definition:
frame.h:99
librealsense::callback_invocation_holder
Definition:
callback-invocation.h:22
type
GLenum type
Definition:
glad/glad/glad.h:135
size
GLsizeiptr size
Definition:
glad/glad/glad.h:2734
librealsense::archive_interface::publish_frame
virtual frame_interface * publish_frame(frame_interface *frame)=0
librealsense::archive_interface
Definition:
archive.h:15
librealsense::archive_interface::flush
virtual void flush()=0
librealsense::make_archive
std::shared_ptr< archive_interface > make_archive(rs2_extension type, std::atomic< uint32_t > *in_max_frame_queue_size, std::shared_ptr< platform::time_service > ts, std::shared_ptr< metadata_parser_map > parsers)
Definition:
archive.cpp:10
librealsense::archive_interface::alloc_and_track
virtual frame_interface * alloc_and_track(const size_t size, const frame_additional_data &additional_data, bool requires_memory)=0
librealsense::archive_interface::keep_frame
virtual void keep_frame(frame_interface *frame)=0
librealsense::frame
Definition:
frame.h:187
librealsense::frame_additional_data
Definition:
frame.h:56
librealsense::archive_interface::unpublish_frame
virtual void unpublish_frame(frame_interface *frame)=0
librealsense::archive_interface::begin_callback
virtual callback_invocation_holder begin_callback()=0
types.h
callback-invocation.h
librealsense2
Author(s): LibRealSense ROS Team
autogenerated on Thu Dec 22 2022 03:13:13