Ocean
|
This class is the base class for all movies. More...
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... | |
Medium & | operator= (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< MediaFrameType > | FrameTypes |
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... | |
This class is the base class for all movies.
|
explicitprotected |
Creates a new movie by a given url.
url | Url of the movie |
|
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.
state | True, to enable the audio in this movie, false otherwise |
Reimplemented in Ocean::Media::MediaFoundation::MFMovie, Ocean::Media::FFmpeg::FFMMovie, Ocean::Media::DirectShow::DSMovie, Ocean::Media::AVFoundation::AVFMovie, and Ocean::Media::Android::AMovie.
|
virtual |
Returns whether the sound of this movie is enabled or disabled.
Reimplemented in Ocean::Media::MediaFoundation::MFMovie, Ocean::Media::DirectShow::DSMovie, and Ocean::Media::Android::AMovie.