PIMPL structure for Movie. More...
#include <movie_private.h>

Public Member Functions | |
| cras::expected< void, std::string > | addRotationFilter () |
| Add an image rotation filter to the libav graph so that the outputs are upright. More... | |
| cras::expected< void, std::string > | configSwscale () |
| Add a scaling filter to the libav graph so that the outputs are properly scaled and color-transformed. More... | |
| void | detectTargetPixelFormat () |
| Detect the pixel format into which we should extract images. More... | |
| void | extractMetadata () |
| Run metadata extractors to parse as much as possible in the *Msg members. More... | |
| StreamDuration | getContainerDuration () const |
| StreamDuration | getDuration () const |
| RationalNumber | getFrameRate () const |
| size_t | getNumFrames () const |
| StreamDuration | getStreamDuration () const |
| StreamTime | getStreamEnd () const |
| StreamTime | getStreamStart () const |
| ros::Time | getTimestamp (const StreamTime &ptsTime) const |
| Compute ROS timestamp corresponding to the given stream timestamp taking into account the configured timestamp source. More... | |
| bool | isSeekable () const |
| bool | isStillImage () const |
| MoviePrivate (const cras::LogHelperPtr &log) | |
| Constructor. More... | |
| cras::expected< void, std::string > | openCodec (const AVCodec *codec) |
| Open the given codec for decoding. More... | |
| void | prepareMetadataExtractors () |
| Prepare metadata extractors. More... | |
| cras::expected< std::pair< AVCodec *, int >, std::string > | selectStream () |
| Select the best quality stream and open it for decoding. More... | |
| void | updateMetadata (const StreamTime &ptsTime) |
| Update the metadata for another frame (if some metadata are time-dependent). More... | |
| ~MoviePrivate () | |
Public Member Functions inherited from cras::HasLogger | |
| ::cras::LogHelperConstPtr | getCrasLogger () const |
| HasLogger (const ::cras::LogHelperPtr &log) | |
| void | setCrasLogger (const ::cras::LogHelperPtr &log) |
Public Attributes | |
| AVCodecContext * | codecContext {} |
| Codec context. More... | |
| MovieOpenConfig::Ptr | config |
| AVFilterContext * | filterBuffersinkContext {} |
| Context for filter outputs. More... | |
| AVFilterContext * | filterBuffersrcContext {} |
| Context for filter inputs. More... | |
| AVFilterGraph * | filterGraph {} |
| Filter graph for decoding effects. More... | |
| AVFormatContext * | formatContext {} |
| Format context. More... | |
| int | imageBufferSize |
| Size of the image buffer. More... | |
| MovieInfo::Ptr | info |
| StreamTime | lastSeek |
| The value of the last seek request (0 before first seek). More... | |
| std::shared_ptr< MovieMetadataListener > | metadataListener |
| Listener to the extracted metadata. More... | |
| std::shared_ptr< MetadataManager > | metadataManager |
| Manager of the extractable metadata. More... | |
| MoviePlaybackState::Ptr | playbackState |
| Playback state of the movie. More... | |
| cras::optional< int64_t > | seekRequest |
| When set, the next returned frame should be seeked to this position. More... | |
| AVStream * | stream {} |
| The selected stream. More... | |
| cras::optional< StreamDuration > | subclipDuration |
| If nonempty, specifies the duration of subclip to process. More... | |
| cras::optional< StreamTime > | subclipEnd |
| If nonempty, specifies the end of subclip to process. More... | |
| cras::optional< StreamTime > | subclipStart |
| If nonempty, specifies the start of subclip to process. More... | |
| SwsContext * | swscaleContext {} |
| Scaling context. More... | |
| AVPixelFormat | targetPixelFormat |
| The desired output pixel format. More... | |
Additional Inherited Members | |
Protected Attributes inherited from cras::HasLogger | |
| ::cras::LogHelperPtr | log |
PIMPL structure for Movie.
Definition at line 102 of file movie_private.h.
|
explicit |
Constructor.
| [in] | log | Logger. |
| movie_publisher::MoviePrivate::~MoviePrivate | ( | ) |
| cras::expected<void, std::string> movie_publisher::MoviePrivate::addRotationFilter | ( | ) |
Add an image rotation filter to the libav graph so that the outputs are upright.
| cras::expected<void, std::string> movie_publisher::MoviePrivate::configSwscale | ( | ) |
Add a scaling filter to the libav graph so that the outputs are properly scaled and color-transformed.
| void movie_publisher::MoviePrivate::detectTargetPixelFormat | ( | ) |
Detect the pixel format into which we should extract images.
| void movie_publisher::MoviePrivate::extractMetadata | ( | ) |
Run metadata extractors to parse as much as possible in the *Msg members.
| StreamDuration movie_publisher::MoviePrivate::getContainerDuration | ( | ) | const |
| StreamDuration movie_publisher::MoviePrivate::getDuration | ( | ) | const |
| RationalNumber movie_publisher::MoviePrivate::getFrameRate | ( | ) | const |
| size_t movie_publisher::MoviePrivate::getNumFrames | ( | ) | const |
| StreamDuration movie_publisher::MoviePrivate::getStreamDuration | ( | ) | const |
| StreamTime movie_publisher::MoviePrivate::getStreamEnd | ( | ) | const |
| StreamTime movie_publisher::MoviePrivate::getStreamStart | ( | ) | const |
| ros::Time movie_publisher::MoviePrivate::getTimestamp | ( | const StreamTime & | ptsTime | ) | const |
Compute ROS timestamp corresponding to the given stream timestamp taking into account the configured timestamp source.
| [in] | ptsTime | Stream timestamp. |
| bool movie_publisher::MoviePrivate::isSeekable | ( | ) | const |
| bool movie_publisher::MoviePrivate::isStillImage | ( | ) | const |
| cras::expected<void, std::string> movie_publisher::MoviePrivate::openCodec | ( | const AVCodec * | codec | ) |
Open the given codec for decoding.
| [in] | codec | The codec to open. |
| void movie_publisher::MoviePrivate::prepareMetadataExtractors | ( | ) |
Prepare metadata extractors.
| cras::expected<std::pair<AVCodec*, int>, std::string> movie_publisher::MoviePrivate::selectStream | ( | ) |
Select the best quality stream and open it for decoding.
| void movie_publisher::MoviePrivate::updateMetadata | ( | const StreamTime & | ptsTime | ) |
Update the metadata for another frame (if some metadata are time-dependent).
| [in] | ptsTime | Stream time of the current frame. |
| AVCodecContext* movie_publisher::MoviePrivate::codecContext {} |
Codec context.
Definition at line 134 of file movie_private.h.
| MovieOpenConfig::Ptr movie_publisher::MoviePrivate::config |
Definition at line 111 of file movie_private.h.
| AVFilterContext* movie_publisher::MoviePrivate::filterBuffersinkContext {} |
Context for filter outputs.
Definition at line 132 of file movie_private.h.
| AVFilterContext* movie_publisher::MoviePrivate::filterBuffersrcContext {} |
Context for filter inputs.
Definition at line 131 of file movie_private.h.
| AVFilterGraph* movie_publisher::MoviePrivate::filterGraph {} |
Filter graph for decoding effects.
Definition at line 130 of file movie_private.h.
| AVFormatContext* movie_publisher::MoviePrivate::formatContext {} |
Format context.
Definition at line 136 of file movie_private.h.
| int movie_publisher::MoviePrivate::imageBufferSize |
Size of the image buffer.
Definition at line 129 of file movie_private.h.
| MovieInfo::Ptr movie_publisher::MoviePrivate::info |
Definition at line 112 of file movie_private.h.
| StreamTime movie_publisher::MoviePrivate::lastSeek |
The value of the last seek request (0 before first seek).
Definition at line 121 of file movie_private.h.
| std::shared_ptr<MovieMetadataListener> movie_publisher::MoviePrivate::metadataListener |
Listener to the extracted metadata.
Definition at line 125 of file movie_private.h.
| std::shared_ptr<MetadataManager> movie_publisher::MoviePrivate::metadataManager |
Manager of the extractable metadata.
Definition at line 124 of file movie_private.h.
| MoviePlaybackState::Ptr movie_publisher::MoviePrivate::playbackState |
Playback state of the movie.
Definition at line 113 of file movie_private.h.
| cras::optional<int64_t> movie_publisher::MoviePrivate::seekRequest |
When set, the next returned frame should be seeked to this position.
Definition at line 120 of file movie_private.h.
| AVStream* movie_publisher::MoviePrivate::stream {} |
The selected stream.
Definition at line 135 of file movie_private.h.
| cras::optional<StreamDuration> movie_publisher::MoviePrivate::subclipDuration |
If nonempty, specifies the duration of subclip to process.
Definition at line 117 of file movie_private.h.
| cras::optional<StreamTime> movie_publisher::MoviePrivate::subclipEnd |
If nonempty, specifies the end of subclip to process.
Definition at line 116 of file movie_private.h.
| cras::optional<StreamTime> movie_publisher::MoviePrivate::subclipStart |
If nonempty, specifies the start of subclip to process.
Definition at line 115 of file movie_private.h.
| SwsContext* movie_publisher::MoviePrivate::swscaleContext {} |
Scaling context.
Definition at line 133 of file movie_private.h.
| AVPixelFormat movie_publisher::MoviePrivate::targetPixelFormat |
The desired output pixel format.
Definition at line 128 of file movie_private.h.