archive.cpp
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2019 Intel Corporation. All Rights Reserved.
3 #include "archive.h"
4 #include "metadata-parser.h"
5 #include "frame-archive.h"
6 
7 namespace librealsense
8 {
9 
10  std::shared_ptr<archive_interface> make_archive(rs2_extension type,
11  std::atomic<uint32_t>* in_max_frame_queue_size,
12  std::shared_ptr<platform::time_service> ts,
13  std::shared_ptr<metadata_parser_map> parsers)
14  {
15  switch (type)
16  {
18  return std::make_shared<frame_archive<video_frame>>(in_max_frame_queue_size, ts, parsers);
19 
21  return std::make_shared<frame_archive<composite_frame>>(in_max_frame_queue_size, ts, parsers);
22 
24  return std::make_shared<frame_archive<motion_frame>>(in_max_frame_queue_size, ts, parsers);
25 
27  return std::make_shared<frame_archive<points>>(in_max_frame_queue_size, ts, parsers);
28 
30  return std::make_shared<frame_archive<depth_frame>>(in_max_frame_queue_size, ts, parsers);
31 
33  return std::make_shared<frame_archive<pose_frame>>(in_max_frame_queue_size, ts, parsers);
34 
36  return std::make_shared<frame_archive<disparity_frame>>(in_max_frame_queue_size, ts, parsers);
37 
38  default:
39  throw std::runtime_error("Requested frame type is not supported!");
40  }
41  }
42 }
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
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:166
GLenum type


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