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 
16  {
17  public:
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 
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 }
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
virtual std::shared_ptr< metadata_parser_map > get_md_parsers() const =0
virtual void keep_frame(frame_interface *frame)=0
GLsizeiptr size
virtual frame_interface * alloc_and_track(const size_t size, const frame_additional_data &additional_data, bool requires_memory)=0
virtual void unpublish_frame(frame_interface *frame)=0
virtual ~archive_interface()=default
virtual frame_interface * publish_frame(frame_interface *frame)=0
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:166
GLenum type
virtual callback_invocation_holder begin_callback()=0


librealsense2
Author(s): LibRealSense ROS Team
autogenerated on Thu Dec 22 2022 03:41:42