8 #ifndef META_OCEAN_MEDIA_MOVIE_FRAME_PROVIDER_H
9 #define META_OCEAN_MEDIA_MOVIE_FRAME_PROVIDER_H
28 class MovieFrameProvider;
60 ET_REQUESTED_FRAME_FAILED
138 explicit MovieFrameProvider(
const bool enabled =
true,
const unsigned int maximalFrameStorage = 150u,
const unsigned int maximalQueueStorage = 50u);
149 inline bool isEnabled()
const;
196 inline double duration()
const;
208 inline const FrameType& frameType()
const;
222 inline size_t frameCapacity()
const;
262 inline void removeFrameCallback(
const FrameCallback& callback);
276 inline void removeEventCallback(
const EventCallback& callback);
417 bool handlePreviewFrame(
const Frame& frame,
unsigned int index,
const unsigned int previewWidth,
const unsigned int previewHeight);
438 bool enabled_ =
false;
441 bool released_ =
false;
456 double mediaDuration_ = 0.0;
459 double mediaFrameFrequency_ = 0.0;
462 double mediaFrameTime_ = 0.0;
465 unsigned int actualFrameNumber_ = 0u;
468 unsigned int estimatedFrameNumber_ = 0u;
471 unsigned int currentFrameNumber_ = 0u;
474 unsigned int maximalQueueSize_ = 0u;
501 unsigned int preferredPreviewWidth_ = 0u;
504 unsigned int preferredPreviewHeight_ = 100u;
516 unsigned int frameRequestIndex_ = (
unsigned int)(-1);
525 double frameRequestTimeout_ = 1.0;
This class implements a container for callback functions.
Definition: Callback.h:3456
void addCallback(const T &callback)
Adds a new callback object.
Definition: Callback.h:4304
void removeCallback(const T &callback)
Removes a callback object.
Definition: Callback.h:4329
This class implements Ocean's image class.
Definition: Frame.h:1792
Definition of a frame type composed by the frame dimension, pixel format and pixel origin.
Definition: Frame.h:30
PixelFormat
Definition of all pixel formats available in the Ocean framework.
Definition: Frame.h:183
@ FORMAT_UNDEFINED
Undefined pixel format.
Definition: Frame.h:187
unsigned int width() const
Returns the width of the frame format in pixel.
Definition: Frame.h:3143
PixelOrigin
Defines different types of frame origin positions.
Definition: Frame.h:1046
@ ORIGIN_INVALID
Invalid origin type.
Definition: Frame.h:1048
unsigned int height() const
Returns the height of the frame in pixel.
Definition: Frame.h:3148
This class implements a recursive lock object.
Definition: Lock.h:31
size_t capacity() const
Returns the capacity of this storage container.
Definition: RingMap.h:287
This class implements a scoped lock object for recursive lock objects.
Definition: Lock.h:135
This class implements a subscription object which can be used unique subscriptions to e....
Definition: ScopedSubscription.h:28
This class implements a thread.
Definition: Thread.h:115
This class implements a timestamp.
Definition: Timestamp.h:36
std::vector< FrameRef > FrameRefs
Definition of a vector holding frame references.
Definition: Frame.h:1767
std::pair< Index32, Index32 > IndexPair32
Definition of a pair holding 32 bit indices.
Definition: Base.h:138
std::shared_ptr< AnyCamera > SharedAnyCamera
Definition of a shared pointer holding an AnyCamera object with Scalar precision.
Definition: AnyCamera.h:60
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15