Ocean
Ocean::Media::LiveAudio Class Referenceabstract

This class is the base class for all live audios. More...

Inheritance diagram for Ocean::Media::LiveAudio:

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...
 
Mediumoperator= (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...
 

Detailed Description

This class is the base class for all live audios.

Member Enumeration Documentation

◆ SampleType

Definition of individual sample types.

Enumerator
ST_INVALID 

An invalid sample type.

ST_INTEGER_16_MONO_48 

A sample with 16bit signed integer precision as mono channel and 48kHz.

ST_INTEGER_16_STEREO_48 

A sample with 16bit signed integer precision as stereo channel and 48kHz.

Constructor & Destructor Documentation

◆ LiveAudio()

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

Creates a new live audio source by a given url.

Parameters
urlUrl of the live audio source

Member Function Documentation

◆ addSamples()

virtual bool Ocean::Media::LiveAudio::addSamples ( const SampleType  sampleType,
const void *  data,
const size_t  size 
)
virtual

Adds new samples in case this audio object receives the audio data from a buffer/stream.

Parameters
sampleTypeThe type of the samples, must be valid
dataThe sample data, must be valid
sizeThe size of the sample data, in bytes, with range [1, infinity)
Returns
True, if succeeded

Reimplemented in Ocean::Media::AVFoundation::AVFLiveAudio, and Ocean::Media::Android::ALiveAudio.

◆ needNewSamples()

virtual bool Ocean::Media::LiveAudio::needNewSamples ( ) const
pure virtual

Returns whether a new samples needs to be added.

Returns
True, if so

Implemented in Ocean::Media::AVFoundation::AVFLiveAudio, and Ocean::Media::Android::ALiveAudio.

◆ writeWavFile()

static bool Ocean::Media::LiveAudio::writeWavFile ( const std::string &  filename,
const SampleType  sampleType,
const void *  data,
const size_t  size 
)
static

Writes a WAV file with given sample data.

Parameters
filenameThe name of the WAV file to create, must be valid
sampleTypeThe type of the samples, must be valid
dataThe sample data, must be valid
sizeThe size of the sample data, in bytes, with range [1, infinity)
Returns
True, if succeeded

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