movie_info.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 
15 #include <movie_publisher/types.h>
16 #include <ros/time.h>
17 
18 namespace movie_publisher
19 {
20 
24 struct MovieInfo final
25 {
26  MovieInfo();
27  ~MovieInfo();
28  MovieInfo(const MovieInfo& other);
29  MovieInfo& operator=(const MovieInfo& other);
30  MovieInfo(MovieInfo&& other) noexcept;
31  MovieInfo& operator=(MovieInfo&& other) noexcept;
32 
36  std::string filenameOrURL() const;
40  void setFilenameOrURL(const std::string& data);
44  int movieStreamIndex() const;
48  void setMovieStreamIndex(int data);
49 
53  bool isSeekable() const;
57  void setIsSeekable(bool data);
61  bool isStillImage() const;
65  void setIsStillImage(bool data);
66 
70  size_t width() const;
74  void setWidth(size_t data);
78  size_t height() const;
82  void setHeight(size_t data);
83 
87  RationalNumber frameRate() const;
91  void setFrameRate(const RationalNumber& data);
96  StreamDuration duration() const;
101  void setDuration(const StreamDuration& data);
102 
106  StreamTime streamStart() const;
110  void setStreamStart(const StreamTime& data);
114  StreamTime streamEnd() const;
118  void setStreamEnd(const StreamTime& data);
130  size_t streamNumFrames() const;
134  void setStreamNumFrames(size_t data);
135 
139  StreamTime subclipStart() const;
143  void setSubclipStart(const StreamTime& data);
147  StreamTime subclipEnd() const;
151  void setSubclipEnd(const StreamTime& data);
163  size_t subclipNumFrames() const;
167  void setSubclipNumFrames(size_t data);
168 
184  void setMetadataStartTime(const ros::Time& data);
188  int metadataRotation() const;
192  void setMetadataRotation(int data);
193 
194  using Ptr = std::shared_ptr<MovieInfo>;
195  using ConstPtr = std::shared_ptr<const MovieInfo>;
196 
197 private:
198  struct Impl;
199  std::unique_ptr<Impl> data;
200 };
201 
202 }
movie_publisher::MovieInfo::setSubclipNumFrames
void setSubclipNumFrames(size_t data)
movie_publisher::MovieInfo::~MovieInfo
~MovieInfo()
movie_publisher::MovieInfo::timestampSource
TimestampSource timestampSource() const
movie_publisher::MovieInfo::frameRate
RationalNumber frameRate() const
types.h
Custom movie_publisher datatypes.
movie_publisher::MovieInfo::width
size_t width() const
time.h
movie_publisher::MovieInfo::movieStreamIndex
int movieStreamIndex() const
movie_publisher::MovieInfo::filenameOrURL
std::string filenameOrURL() const
movie_publisher::MovieInfo::setStreamStart
void setStreamStart(const StreamTime &data)
movie_publisher::MovieInfo::metadataRotation
int metadataRotation() const
movie_publisher::MovieInfo::setDuration
void setDuration(const StreamDuration &data)
movie_publisher::MovieInfo::subclipStart
StreamTime subclipStart() const
movie_publisher::StreamTime
Time type denoting movie stream time.
Definition: types.h:115
movie_publisher::TimestampSource
TimestampSource
How to compute ROS timestamps from movie frame presentation timestamp (PTS).
Definition: types.h:192
movie_publisher::MovieInfo::data
std::unique_ptr< Impl > data
PIMPL data.
Definition: movie_info.h:198
movie_publisher::MovieInfo::setTimestampSource
void setTimestampSource(TimestampSource data)
movie_publisher::MovieInfo::subclipEnd
StreamTime subclipEnd() const
movie_publisher::MovieInfo::duration
StreamDuration duration() const
movie_publisher::MovieInfo::setMetadataRotation
void setMetadataRotation(int data)
movie_publisher::MovieInfo::streamNumFrames
size_t streamNumFrames() const
movie_publisher::MovieInfo::MovieInfo
MovieInfo()
movie_publisher::MovieInfo::metadataStartTime
ros::Time metadataStartTime() const
movie_publisher::MovieInfo::subclipNumFrames
size_t subclipNumFrames() const
movie_publisher::MovieInfo::setSubclipEnd
void setSubclipEnd(const StreamTime &data)
movie_publisher::MovieInfo::height
size_t height() const
movie_publisher::MovieInfo::streamStart
StreamTime streamStart() const
movie_publisher::MovieInfo::setStreamNumFrames
void setStreamNumFrames(size_t data)
movie_publisher::MovieInfo
Basic information about an open movie.
Definition: movie_info.h:24
movie_publisher::MovieInfo::setHeight
void setHeight(size_t data)
movie_publisher::MovieInfo::setMetadataStartTime
void setMetadataStartTime(const ros::Time &data)
movie_publisher::MovieInfo::ConstPtr
std::shared_ptr< const MovieInfo > ConstPtr
Definition: movie_info.h:195
movie_publisher::MovieInfo::isStillImage
bool isStillImage() const
movie_publisher::MovieInfo::setStreamDuration
void setStreamDuration(const StreamDuration &data)
ros::Time
movie_publisher::MovieInfo::setMovieStreamIndex
void setMovieStreamIndex(int data)
movie_publisher
Definition: ExifBaseMetadataExtractor.h:27
movie_publisher::MovieInfo::setIsSeekable
void setIsSeekable(bool data)
movie_publisher::MovieInfo::setFrameRate
void setFrameRate(const RationalNumber &data)
movie_publisher::MovieInfo::streamDuration
StreamDuration streamDuration() const
movie_publisher::MovieInfo::setStreamEnd
void setStreamEnd(const StreamTime &data)
movie_publisher::MovieInfo::Ptr
std::shared_ptr< MovieInfo > Ptr
Definition: movie_info.h:194
movie_publisher::MovieInfo::streamEnd
StreamTime streamEnd() const
movie_publisher::RationalNumber
A simple representation of rational numbers of the form numerator/denominator.
Definition: types.h:24
movie_publisher::MovieInfo::setFilenameOrURL
void setFilenameOrURL(const std::string &data)
movie_publisher::StreamDuration
Duration type denoting movie stream duration.
Definition: types.h:44
movie_publisher::MovieInfo::setIsStillImage
void setIsStillImage(bool data)
movie_publisher::MovieInfo::operator=
MovieInfo & operator=(const MovieInfo &other)
movie_publisher::MovieInfo::subclipDuration
StreamDuration subclipDuration() const
movie_publisher::MovieInfo::setWidth
void setWidth(size_t data)
movie_publisher::MovieInfo::isSeekable
bool isSeekable() const
movie_publisher::MovieInfo::setSubclipStart
void setSubclipStart(const StreamTime &data)
movie_publisher::MovieInfo::setSubclipDuration
void setSubclipDuration(const StreamDuration &data)


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