Ocean
|
This class is the base class for all live audios. More...
Public Types | |
enum | SampleType : uint32_t { ST_INVALID = 0u , ST_INTEGER_16_MONO_48 , ST_INTEGER_16_STEREO_48 } |
Definition of individual sample types. More... | |
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::ConfigMedium | |
typedef std::vector< std::string > | ConfigNames |
Definition of a vector holding configuration names. More... | |
Public Types inherited from Ocean::Media::SoundMedium | |
typedef float | SoundFrequency |
Definition of a sound frequency defined in Hz. More... | |
Public Member Functions | |
virtual bool | addSamples (const SampleType sampleType, const void *data, const size_t size) |
Adds new samples in case this audio object receives the audio data from a buffer/stream. More... | |
virtual bool | needNewSamples () const =0 |
Returns whether a new samples needs to be added. 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::ConfigMedium | |
virtual bool | configuration (const std::string &name, long long data) |
Starts a configuration possibility. More... | |
virtual ConfigNames | configs () const |
Returns the names of the configuration possibilities. 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... | |
Static Public Member Functions | |
static bool | writeWavFile (const std::string &filename, const SampleType sampleType, const void *data, const size_t size) |
Writes a WAV file with given sample data. 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... | |
Protected Member Functions | |
LiveAudio (const std::string &url) | |
Creates a new live audio source by a given url. More... | |
Protected Member Functions inherited from Ocean::Media::LiveMedium | |
LiveMedium (const std::string &url) | |
Creates a new live 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::ConfigMedium | |
ConfigMedium (const std::string &url) | |
Creates a new ConfigMedium object by a given url. 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 | |
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::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 live audios.
enum Ocean::Media::LiveAudio::SampleType : uint32_t |
|
explicitprotected |
Creates a new live audio source by a given url.
url | Url of the live audio source |
|
virtual |
Adds new samples in case this audio object receives the audio data from a buffer/stream.
sampleType | The type of the samples, must be valid |
data | The sample data, must be valid |
size | The size of the sample data, in bytes, with range [1, infinity) |
Reimplemented in Ocean::Media::AVFoundation::AVFLiveAudio, and Ocean::Media::Android::ALiveAudio.
|
pure virtual |
Returns whether a new samples needs to be added.
Implemented in Ocean::Media::AVFoundation::AVFLiveAudio, and Ocean::Media::Android::ALiveAudio.
|
static |
Writes a WAV file with given sample data.
filename | The name of the WAV file to create, must be valid |
sampleType | The type of the samples, must be valid |
data | The sample data, must be valid |
size | The size of the sample data, in bytes, with range [1, infinity) |