movie_open_config.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: BSD-3-Clause
2 // SPDX-FileCopyrightText: Czech Technical University in Prague
3 
10 #pragma once
11 
12 #include <memory>
13 #include <string>
14 #include <vector>
15 
18 #include <ros/duration.h>
19 
20 namespace movie_publisher
21 {
22 
23 class MovieMetadataProcessor;
24 
28 struct MovieOpenConfig final
29 {
32  MovieOpenConfig(const MovieOpenConfig& other);
34  MovieOpenConfig(MovieOpenConfig&& other) noexcept;
35  MovieOpenConfig& operator=(MovieOpenConfig&& other) noexcept;
36 
40  std::string filenameOrURL() const;
45  cras::expected<void, std::string> setFilenameOrURL(const std::string& data);
46 
50  bool extractMetadata() const;
55  cras::expected<void, std::string> setExtractMetadata(bool data);
59  const std::vector<std::shared_ptr<MovieMetadataProcessor>>& metadataProcessors() const;
63  std::vector<std::shared_ptr<MovieMetadataProcessor>>& metadataProcessors();
68  cras::expected<void, std::string> setMetadataProcessors(
69  const std::vector<std::shared_ptr<MovieMetadataProcessor>>& data);
70 
74  std::string defaultEncoding() const;
79  cras::expected<void, std::string> setDefaultEncoding(const std::string& data);
83  cras::optional<std::string> forceEncoding() const;
88  cras::expected<void, std::string> setForceEncoding(const cras::optional<std::string>& data);
92  bool allowYUVFallback() const;
97  cras::expected<void, std::string> setAllowYUVFallback(bool data);
101  cras::optional<int> forceStreamIndex() const;
106  cras::expected<void, std::string> setForceStreamIndex(const cras::optional<int>& data);
107 
111  std::string frameId() const;
116  cras::expected<void, std::string> setFrameId(const std::string& data);
120  std::string opticalFrameId() const;
125  cras::expected<void, std::string> setOpticalFrameId(const std::string& data);
126 
135  cras::expected<void, std::string> setTimestampSource(TimestampSource data);
144  cras::expected<void, std::string> setTimestampOffset(const ros::Duration& data);
148  size_t numThreads() const;
153  cras::expected<void, std::string> setNumThreads(size_t data);
154 
163  cras::expected<void, std::string> setRosParams(const cras::BoundParamHelperPtr& data);
164 
168  std::unordered_set<MetadataType> metadataTypes() const;
173  cras::expected<void, std::string> setMetadataTypes(const std::unordered_set<MetadataType>& types);
174 
175  using Ptr = std::shared_ptr<MovieOpenConfig>;
176  using ConstPtr = std::shared_ptr<const MovieOpenConfig>;
177 
178 private:
179  struct Impl;
180  std::unique_ptr<Impl> data;
181 };
182 
183 }
movie_publisher::MovieOpenConfig::timestampSource
TimestampSource timestampSource() const
movie_publisher::MovieOpenConfig
Configuration specifying what movie file to open and how.
Definition: movie_open_config.h:28
movie_publisher::MovieOpenConfig::setAllowYUVFallback
cras::expected< void, std::string > setAllowYUVFallback(bool data)
movie_publisher::MovieOpenConfig::metadataTypes
std::unordered_set< MetadataType > metadataTypes() const
movie_publisher::MovieOpenConfig::timestampOffset
ros::Duration timestampOffset() const
cras::BoundParamHelperPtr
::std::shared_ptr<::cras::BoundParamHelper > BoundParamHelperPtr
movie_publisher::MovieOpenConfig::setTimestampSource
cras::expected< void, std::string > setTimestampSource(TimestampSource data)
movie_publisher::MovieOpenConfig::setMetadataProcessors
cras::expected< void, std::string > setMetadataProcessors(const std::vector< std::shared_ptr< MovieMetadataProcessor >> &data)
movie_publisher::MovieOpenConfig::forceStreamIndex
cras::optional< int > forceStreamIndex() const
movie_publisher::MovieOpenConfig::filenameOrURL
std::string filenameOrURL() const
movie_publisher::MovieOpenConfig::forceEncoding
cras::optional< std::string > forceEncoding() const
movie_publisher::MovieOpenConfig::setForceStreamIndex
cras::expected< void, std::string > setForceStreamIndex(const cras::optional< int > &data)
movie_publisher::TimestampSource
TimestampSource
How to compute ROS timestamps from movie frame presentation timestamp (PTS).
Definition: types.h:192
movie_publisher::MovieOpenConfig::setMetadataTypes
cras::expected< void, std::string > setMetadataTypes(const std::unordered_set< MetadataType > &types)
duration.h
movie_publisher::MovieOpenConfig::setNumThreads
cras::expected< void, std::string > setNumThreads(size_t data)
movie_publisher::MovieOpenConfig::frameId
std::string frameId() const
movie_publisher::MovieOpenConfig::numThreads
size_t numThreads() const
movie_publisher::MovieOpenConfig::setExtractMetadata
cras::expected< void, std::string > setExtractMetadata(bool data)
movie_publisher::MovieOpenConfig::MovieOpenConfig
MovieOpenConfig(const cras::BoundParamHelperPtr &rosParams)
movie_publisher::MovieOpenConfig::setForceEncoding
cras::expected< void, std::string > setForceEncoding(const cras::optional< std::string > &data)
movie_publisher::MovieOpenConfig::data
std::unique_ptr< Impl > data
PIMPL data.
Definition: movie_open_config.h:179
movie_publisher::MovieOpenConfig::defaultEncoding
std::string defaultEncoding() const
movie_publisher::MovieOpenConfig::setDefaultEncoding
cras::expected< void, std::string > setDefaultEncoding(const std::string &data)
movie_publisher::MovieOpenConfig::Ptr
std::shared_ptr< MovieOpenConfig > Ptr
Definition: movie_open_config.h:175
expected.hpp
movie_publisher
Definition: ExifBaseMetadataExtractor.h:27
movie_publisher::MovieOpenConfig::setTimestampOffset
cras::expected< void, std::string > setTimestampOffset(const ros::Duration &data)
movie_publisher::MovieOpenConfig::setFilenameOrURL
cras::expected< void, std::string > setFilenameOrURL(const std::string &data)
movie_publisher::MovieOpenConfig::extractMetadata
bool extractMetadata() const
movie_publisher::MovieOpenConfig::ConstPtr
std::shared_ptr< const MovieOpenConfig > ConstPtr
Definition: movie_open_config.h:176
movie_publisher::MovieOpenConfig::opticalFrameId
std::string opticalFrameId() const
movie_publisher::MovieOpenConfig::rosParams
cras::BoundParamHelperPtr rosParams() const
movie_publisher::MovieOpenConfig::~MovieOpenConfig
~MovieOpenConfig()
movie_publisher::MovieOpenConfig::allowYUVFallback
bool allowYUVFallback() const
movie_publisher::MovieOpenConfig::setRosParams
cras::expected< void, std::string > setRosParams(const cras::BoundParamHelperPtr &data)
movie_publisher::MovieOpenConfig::setOpticalFrameId
cras::expected< void, std::string > setOpticalFrameId(const std::string &data)
metadata_type.h
Types of metadata.
ros::Duration
movie_publisher::MovieOpenConfig::setFrameId
cras::expected< void, std::string > setFrameId(const std::string &data)
movie_publisher::MovieOpenConfig::operator=
MovieOpenConfig & operator=(const MovieOpenConfig &other)
movie_publisher::MovieOpenConfig::metadataProcessors
const std::vector< std::shared_ptr< MovieMetadataProcessor > > & metadataProcessors() const


movie_publisher
Author(s): Martin Pecka
autogenerated on Wed May 28 2025 02:07:22