Helper class for opening movie files. More...
#include <movie_reader.h>
Public Member Functions | |
virtual cras::expected< MovieOpenConfig, std::string > | createDefaultConfig () const |
Create a default config for opening movie files. More... | |
MovieReader (const cras::LogHelperPtr &log, const cras::BoundParamHelperPtr ¶ms) | |
Create the movie reader instance. More... | |
virtual cras::expected< MoviePtr, std::string > | open (const std::string &filename, const MovieOpenConfig &config) |
Open a movie in the referenced file. More... | |
virtual | ~MovieReader () |
![]() | |
::cras::LogHelperConstPtr | getCrasLogger () const |
HasLogger (const ::cras::LogHelperPtr &log) | |
void | setCrasLogger (const ::cras::LogHelperPtr &log) |
Private Attributes | |
std::unique_ptr< MovieReaderPrivate > | data |
PIMPL. More... | |
Additional Inherited Members | |
![]() | |
::cras::LogHelperPtr | log |
Helper class for opening movie files.
MovieReader holds configuration that will be applied to all movies open using its open() method. Changing the configuration does not affect any already opened movies.
Typical usage:
MovieReader reader({new NodeLogHelper()}); // configuration for opening movies auto config = reader.createDefaultConfig().or_else([](const auto& error) {throw std::runtime_error(error);}); config.setAllowYUVFallback(true); auto movie = reader.open("path/file.mp4", config).or_else([](const auto& error) {throw std::runtime_error(error);}); // You can call seek() here while (true) { const auto& [state, image] = *movie->nextFrame().or_else([](const auto& error) {throw std::runtime_error(error);}); if (image == nullptr) break; // or you can seek to the start if you want to loop // Process the image }
Definition at line 51 of file movie_reader.h.
|
explicit |
Create the movie reader instance.
[in] | log | cras_cpp_common logging helper. |
[in] | params | ROS/YAML parameters of movie opening and metadata extractors. |
|
virtual |
|
virtual |
Create a default config for opening movie files.
Reimplemented in movie_publisher::MovieReaderRos.
|
virtual |
Open a movie in the referenced file.
[in] | filename | Path to the file with the movie. |
[in] | config | Extra configuration for the movie opening. |
Reimplemented in movie_publisher::MovieReaderRos.
|
private |
PIMPL.
Definition at line 77 of file movie_reader.h.