Ocean
Ocean::Media::Movie Class Reference

This class is the base class for all movies. More...

Inheritance diagram for Ocean::Media::Movie:

Public Member Functions

virtual bool setUseSound (const bool state)
 Enables or disables the audio in this movie (has no effect if the movie does not have audio). More...
 
virtual bool useSound () const
 Returns whether the sound of this movie is enabled or disabled. More...
 
- Public Member Functions inherited from Ocean::Media::FiniteMedium
virtual double duration () const =0
 Returns the duration of the finite medium. More...
 
virtual double normalDuration () const =0
 Returns the duration without speed consideration. More...
 
virtual double position () const =0
 Returns the recent position of the finite medium. More...
 
virtual float speed () const =0
 Returns the speed of the finite medium. More...
 
bool loop () const
 Returns whether the medium is played in a loop. More...
 
virtual bool setPosition (const double position)
 Sets the recent position of the finite medium. More...
 
virtual bool setSpeed (const float speed)
 Sets the speed of the finite medium. More...
 
virtual bool setLoop (const bool value)
 Sets whether the medium has to be played in a loop. More...
 
virtual bool taskFinished () const
 Returns whether a previous task has been finished. More...
 
- Public Member Functions inherited from Ocean::Media::Medium
const std::string & url () const
 Returns the url of the medium. More...
 
bool isValid () const
 Returns whether the medium is valid. More...
 
const std::string & library () const
 Returns the name of the owner library. More...
 
Type type () const
 Returns the type of the medium. More...
 
bool isType (const Type type) const
 Returns whether a medium has a given type. More...
 
virtual bool isStarted () const =0
 Returns whether the medium is started currently. More...
 
bool isExclusive () const
 Returns whether this medium can be use exclusively. More...
 
virtual bool start ()=0
 Starts the medium. More...
 
virtual bool pause ()=0
 Pauses the medium. More...
 
virtual bool stop ()=0
 Stops the medium. More...
 
virtual Timestamp startTimestamp () const =0
 Returns the start timestamp. More...
 
virtual Timestamp pauseTimestamp () const =0
 Returns the pause timestamp. More...
 
virtual Timestamp stopTimestamp () const =0
 Returns the stop timestamp. More...
 
virtual MediumRef clone () const
 Clones this medium and returns a new independent instance of this medium. More...
 
- Public Member Functions inherited from Ocean::Media::FrameMedium
 ~FrameMedium () override
 Destructs a frame object. More...
 
bool hasFrame () const
 Returns whether the object holds a frame. More...
 
FrameFrequency frameFrequency () const
 Returns the frequency of the frame in Hz. More...
 
virtual FrameRef frame (SharedAnyCamera *anyCamera=nullptr) const
 Returns the most recent frame. More...
 
virtual FrameRef frame (const Timestamp timestamp, SharedAnyCamera *anyCamera=nullptr) const
 Returns the frame with a specific timestamp. More...
 
virtual FrameRef frameTimeout (const double timeout, SharedAnyCamera *anyCamera=nullptr) const
 Waits until the first frame is available. More...
 
virtual bool hasFrame (const Timestamp timestamp) const
 Returns whether this media object currently holds a frame with specified timestamp. More...
 
unsigned int preferredFrameWidth () const
 Returns the preferred width of the frame in pixel. More...
 
unsigned int preferredFrameHeight () const
 Returns the preferred height of the frame in pixel. More...
 
FrameType::PixelFormat preferredFramePixelFormat () const
 Returns the preferred frame pixel format. More...
 
FrameFrequency preferredFrameFrequency () const
 Returns the preferred frame frequency in Hz. More...
 
virtual HomogenousMatrixD4 device_T_camera () const
 Returns the transformation between the camera and device. More...
 
virtual bool setPreferredFrameDimension (const unsigned int width, const unsigned int height)
 Sets the preferred frame dimension. More...
 
virtual bool setPreferredFramePixelFormat (const FrameType::PixelFormat format)
 Sets the preferred frame pixel format. More...
 
virtual bool setPreferredFrameFrequency (const FrameFrequency frequency)
 Sets the preferred frame frequency in Hz. More...
 
size_t capacity () const
 Returns the capacity of the frame history of this frame medium object. More...
 
bool setCapacity (const size_t capacity)
 Sets or changes the capacity of the frame history of this frame medium object. More...
 
FrameCallbackScopedSubscription addFrameCallback (FrameCallbackFunction &&frameCallbackFunction)
 Adds a callback function which is called whenever a new frame arrives. More...
 
- Public Member Functions inherited from Ocean::Media::SoundMedium
bool hasSound () const
 Returns whether the object holds a sound. More...
 
unsigned int soundChannels () const
 Returns the number of sound channels. More...
 
SoundFrequency soundFrequency () const
 Returns the frequency of the sound in Hz. More...
 
unsigned int soundBitsPerSample () const
 Returns the number of bits per sample. More...
 
virtual float soundVolume () const =0
 Returns the volume of the sound in db. More...
 
virtual bool soundMute () const =0
 Returns whether the sound medium is in a mute state. More...
 
unsigned int preferredSoundChannels () const
 Returns the preferred number of sound channels. More...
 
SoundFrequency preferredSoundFrequency () const
 Returns the preferred sound frequency in Hz. More...
 
unsigned int preferredSoundBitsPerSample () const
 Returns the preferred bits per sound sample. More...
 
virtual bool setSoundVolume (const float volume)=0
 Sets the volume of the sound in db. More...
 
virtual bool setSoundMute (const bool mute)=0
 Sets or unsets the sound medium to a mute state. More...
 
virtual bool setPreferredSoundChannels (const unsigned int channels)
 Sets the preferred number of sound channels. More...
 
virtual bool setPreferredSoundFrequency (const SoundFrequency frequency)
 Sets the preferred sound frequency in Hz. More...
 
virtual bool setPreferredSoundBitsPerSample (const unsigned int bits)
 Sets the preferred bits per sound sample. More...
 

Protected Member Functions

 Movie (const std::string &url)
 Creates a new movie by a given url. More...
 
- Protected Member Functions inherited from Ocean::Media::FiniteMedium
 FiniteMedium (const std::string &url)
 Creates a new finite medium by a given url. More...
 
- Protected Member Functions inherited from Ocean::Media::Medium
 Medium (const Medium &medium)=delete
 Disabled copy constructor. More...
 
 Medium (const std::string &url)
 Creates a new medium by a given url. More...
 
virtual ~Medium ()
 Destructs a medium. More...
 
Mediumoperator= (const Medium &medium)=delete
 Disabled copy operator. More...
 
- Protected Member Functions inherited from Ocean::Media::FrameMedium
 FrameMedium (const std::string &url)
 Creates a new frame medium by a given url. More...
 
virtual bool deliverNewFrame (Frame &&frame, SharedAnyCamera &&anyCamera=SharedAnyCamera())
 Delivers a new frame to this FrameMedium. More...
 
- Protected Member Functions inherited from Ocean::Media::SoundMedium
 SoundMedium (const std::string &url)
 Creates a new sound medium by a given url. More...
 

Additional Inherited Members

- Public Types inherited from Ocean::Media::Medium
enum  Type : uint32_t {
  MEDIUM = 0u , FRAME_MEDIUM = 1u << 0u , SOUND_MEDIUM = 1u << 1u , FINITE_MEDIUM = 1u << 2u ,
  LIVE_MEDIUM = 1u << 3u , CONFIG_MEDIUM = 1u << 4u , AUDIO = (1u << 5u) | FINITE_MEDIUM | SOUND_MEDIUM , IMAGE = (1u << 6u) | FRAME_MEDIUM ,
  PIXEL_IMAGE = (1u << 7u) | FRAME_MEDIUM , BUFFER_IMAGE = (1u << 8u) | FRAME_MEDIUM , IMAGE_SEQUENCE = (1u << 9u) | FRAME_MEDIUM | FINITE_MEDIUM , LIVE_AUDIO = (1u << 10u) | LIVE_MEDIUM | SOUND_MEDIUM ,
  LIVE_VIDEO = (1u << 11u) | LIVE_MEDIUM | FRAME_MEDIUM , MICROPHONE = (1u << 12u) | LIVE_MEDIUM , MOVIE = (1u << 13u) | FINITE_MEDIUM | FRAME_MEDIUM | SOUND_MEDIUM
}
 Definition of different medium types. More...
 
- Public Types inherited from Ocean::Media::FrameMedium
typedef double FrameFrequency
 Definition of a frame frequency defined in Hz. More...
 
typedef std::function< void(const Frame &frame, const SharedAnyCamera &camera)> FrameCallbackFunction
 Definition of a callback function for frame events. More...
 
typedef ScopedSubscriptionHandler::ScopedSubscriptionType FrameCallbackScopedSubscription
 Definition of a subscription object for frame callback events. More...
 
- Public Types inherited from Ocean::Media::SoundMedium
typedef float SoundFrequency
 Definition of a sound frequency defined in Hz. More...
 
- Static Public Member Functions inherited from Ocean::Media::Medium
static std::string convertType (const Type type)
 Converts a medium type to a unique string. More...
 
static Type convertType (const std::string &type)
 Converts a medium type string to a medium type. More...
 
- Static Public Member Functions inherited from Ocean::Media::FrameMedium
static bool syncedFrames (const FrameMediumRefs &frameMediums, const Timestamp lastTimestamp, FrameRefs &frames, SharedAnyCameras &cameras, const unsigned int waitTime=2u, bool *timedOut=nullptr, HomogenousMatricesD4 *device_T_cameras=nullptr)
 Extracts most recent frames from several frame medium objects and ensures that the timestamps of all frames are identical. More...
 
- Static Public Attributes inherited from Ocean::Media::FiniteMedium
static constexpr float AS_FAST_AS_POSSIBLE = 0.0f
 Definition of a speed value allowing to deliver the media content as fast as possible. More...
 
- Protected Types inherited from Ocean::Media::FrameMedium
typedef ScopedSubscriptionCallbackHandlerT< FrameCallbackFunction, FrameMedium, true > FrameCallbackHandler
 Definition of a thread-safe subscription handler for frame callback functions. More...
 
typedef std::vector< MediaFrameTypeFrameTypes
 Definition of a vector holding frame types. More...
 
- Protected Attributes inherited from Ocean::Media::FiniteMedium
bool loop_ = false
 Determines whether the medium is played in a loop. More...
 
- Protected Attributes inherited from Ocean::Media::Medium
std::string url_
 Url of the medium. More...
 
std::string libraryName_
 Name of the owner library. More...
 
bool isValid_ = false
 Determines whether the medium is valid. More...
 
Type type_ = MEDIUM
 Type of the medium. More...
 
Lock lock_
 Medium lock. More...
 
- Protected Attributes inherited from Ocean::Media::FrameMedium
FrameCollection frameCollection_
 Frame collection storing several frames with different timestamps. More...
 
FrameCallbackHandler frameCallbackHandler_
 The handler for frame callback functions. More...
 
FrameFrequency recentFrameFrequency_ = FrameFrequency(0)
 Frame frequency. More...
 
MediaFrameType preferredFrameType_
 Preferred frame type of the medium. More...
 
- Protected Attributes inherited from Ocean::Media::SoundMedium
SoundType mediumSoundType
 Actual sound type. More...
 
SoundType mediumPreferredSoundType
 Preferred sound type. More...
 
Timestamp mediumSoundTimestamp
 Timestamp of the recent sound frame. More...
 
Timestamp mediumSoundTypeTimestamp
 Timestamp of the recent sound frame type. More...
 

Detailed Description

This class is the base class for all movies.

Constructor & Destructor Documentation

◆ Movie()

Ocean::Media::Movie::Movie ( const std::string &  url)
explicitprotected

Creates a new movie by a given url.

Parameters
urlUrl of the movie

Member Function Documentation

◆ setUseSound()

virtual bool Ocean::Media::Movie::setUseSound ( const bool  state)
virtual

Enables or disables the audio in this movie (has no effect if the movie does not have audio).

The selection has to be applied once before the medium has been started for the first time.

Parameters
stateTrue, to enable the audio in this movie, false otherwise
Returns
True, if succeeded

Reimplemented in Ocean::Media::MediaFoundation::MFMovie, Ocean::Media::FFmpeg::FFMMovie, Ocean::Media::DirectShow::DSMovie, Ocean::Media::AVFoundation::AVFMovie, and Ocean::Media::Android::AMovie.

◆ useSound()

virtual bool Ocean::Media::Movie::useSound ( ) const
virtual

Returns whether the sound of this movie is enabled or disabled.

Returns
True, if the audio of this movie is enabled

Reimplemented in Ocean::Media::MediaFoundation::MFMovie, Ocean::Media::DirectShow::DSMovie, and Ocean::Media::Android::AMovie.


The documentation for this class was generated from the following file: