parsing_utils.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 <list>
13 #include <memory>
14 #include <string>
15 #include <unordered_map>
16 
17 extern "C" {
18 #include <libavformat/avformat.h>
19 }
20 
22 #include <movie_publisher/types.h>
23 #include <xmlrpcpp/XmlRpcValue.h>
24 
25 namespace movie_publisher
26 {
34 template<typename T>
35 T parseTimeParam(const XmlRpc::XmlRpcValue& param);
36 
48 bool parseTimestampOffset(const std::unordered_map<std::string, double>& extraVars,
49  const XmlRpc::XmlRpcValue& param, double& value, bool skipNonConvertible, std::list<std::string>* errors);
50 
56 TimestampSource parseTimestampSource(const std::string& param);
57 
63 std::string timestampSourceToStr(const TimestampSource& source);
64 
70 cras::expected<AVPixelFormat, std::string> rosEncodingToAvPixFmt(const std::string& rosEncoding);
71 
77 cras::expected<std::string, std::string> avPixFmtToRosEncoding(const AVPixelFormat& libavPixelFormat);
78 
79 }
types.h
Custom movie_publisher datatypes.
movie_publisher::parseTimestampSource
TimestampSource parseTimestampSource(const std::string &param)
Parse TimestampSource from text.
movie_publisher::avPixFmtToRosEncoding
cras::expected< std::string, std::string > avPixFmtToRosEncoding(const AVPixelFormat &libavPixelFormat)
Map Libav pixel formats to ROS image encodings.
movie_publisher::TimestampSource
TimestampSource
How to compute ROS timestamps from movie frame presentation timestamp (PTS).
Definition: types.h:192
movie_publisher::timestampSourceToStr
std::string timestampSourceToStr(const TimestampSource &source)
Convert the given TimestampSource to text.
movie_publisher::parseTimestampOffset
bool parseTimestampOffset(const std::unordered_map< std::string, double > &extraVars, const XmlRpc::XmlRpcValue &param, double &value, bool skipNonConvertible, std::list< std::string > *errors)
Parse the given timestamp offset.
movie_publisher::rosEncodingToAvPixFmt
cras::expected< AVPixelFormat, std::string > rosEncodingToAvPixFmt(const std::string &rosEncoding)
Map ROS image encodings to Libav pixel formats.
movie_publisher::parseTimeParam
T parseTimeParam(const XmlRpc::XmlRpcValue &param)
Parse time or duration in several formats.
XmlRpcValue.h
expected.hpp
movie_publisher
Definition: ExifBaseMetadataExtractor.h:27
XmlRpc::XmlRpcValue


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