xbmc
|
Public Member Functions | |
unsigned int | GetSpace () override |
Returns the amount of space available in the stream. More... | |
unsigned int | AddData (const uint8_t *const *data, unsigned int offset, unsigned int frames, ExtData *extData) override |
Add planar or interleaved PCM data to the stream. More... | |
double | GetDelay () override |
Returns the time in seconds that it will take for the next added packet to be heard from the speakers. More... | |
CAESyncInfo | GetSyncInfo () override |
Returns info about audio to clock synchronization. More... | |
bool | IsBuffering () override |
Returns if the stream is buffering. More... | |
double | GetCacheTime () override |
Returns the time in seconds of the stream's cached audio samples. More... | |
double | GetCacheTotal () override |
Returns the total time in seconds of the cache. More... | |
double | GetMaxDelay () override |
Returns the total time in seconds of maximum delay. More... | |
void | Pause () override |
Pauses the stream playback. | |
void | Resume () override |
Resumes the stream after pausing. | |
void | Drain (bool wait) override |
Start draining the stream. More... | |
bool | IsDraining () override |
Returns true if the is stream draining. | |
bool | IsDrained () override |
Returns true if the is stream has finished draining. | |
void | Flush () override |
Flush all buffers dropping the audio data. | |
float | GetVolume () override |
Return the stream's current volume level. More... | |
float | GetReplayGain () override |
Returns the stream's current replay gain factor. More... | |
float | GetAmplification () override |
Gets the stream's volume amplification in linear units. More... | |
void | SetVolume (float volume) override |
Set the stream's volume level. More... | |
void | SetReplayGain (float factor) override |
Sets the stream's replay gain factor, this is used by formats such as MP3 that have attenuation information in their streams. More... | |
void | SetAmplification (float amplify) override |
Sets the stream's volume amplification in linear units. More... | |
void | SetFFmpegInfo (int profile, enum AVMatrixEncoding matrix_encoding, enum AVAudioServiceType audio_service_type) override |
Sets the stream ffmpeg information if present. More... | |
unsigned int | GetFrameSize () const override |
Returns the size of one audio frame in bytes (channelCount * resolution) More... | |
unsigned int | GetChannelCount () const override |
Returns the number of channels the stream is configured to accept. More... | |
unsigned int | GetSampleRate () const override |
Returns the stream's sample rate, if the stream is using a dynamic sample rate, this value will NOT reflect any changes made by calls to SetResampleRatio() More... | |
enum AEDataFormat | GetDataFormat () const override |
Return the data format the stream has been configured with. More... | |
double | GetResampleRatio () override |
Return the resample ratio. More... | |
void | SetResampleRatio (double ratio) override |
Sets the resample ratio. More... | |
void | SetResampleMode (int mode) override |
Sets the resamplling on/ff. | |
void | RegisterAudioCallback (IAudioCallback *pCallback) override |
Registers the audio callback to call with each block of data, this is used by Audio Visualizations. More... | |
void | UnRegisterAudioCallback () override |
Unregisters the current audio callback. | |
void | FadeVolume (float from, float to, unsigned int time) override |
Fade the volume level over the specified time. More... | |
bool | IsFading () override |
Returns if a fade is still running. More... | |
void | RegisterSlave (IAEStream *stream) override |
Slave a stream to resume when this stream has drained. | |
Protected Member Functions | |
CActiveAEStream (AEAudioFormat *format, unsigned int streamid, CActiveAE *ae) | |
void | FadingFinished () |
void | IncFreeBuffers () |
void | DecFreeBuffers () |
void | ResetFreeBuffers () |
void | InitRemapper () |
void | RemapBuffer () |
double | CalcResampleRatio (double error) |
std::chrono::milliseconds | GetErrorInterval () |
Protected Attributes | |
CActiveAE * | m_activeAE |
unsigned int | m_id |
AEAudioFormat | m_format |
float | m_streamVolume |
float | m_streamRgain |
float | m_streamAmplify |
double | m_streamResampleRatio |
int | m_streamResampleMode |
unsigned int | m_streamSpace |
bool | m_streamDraining |
bool | m_streamDrained |
bool | m_streamFading |
int | m_streamFreeBuffers |
bool | m_streamIsBuffering |
bool | m_streamIsFlushed |
IAEStream * | m_streamSlave |
CCriticalSection | m_streamLock |
CCriticalSection | m_statsLock |
uint8_t * | m_leftoverBuffer |
int | m_leftoverBytes |
CSampleBuffer * | m_currentBuffer |
CSoundPacket * | m_remapBuffer |
std::unique_ptr< IAEResample > | m_remapper |
double | m_lastPts |
double | m_lastPtsJump |
std::chrono::milliseconds | m_errorInterval {1000} |
std::unique_ptr< CActiveAEBufferPool > | m_inputBuffers |
CActiveAEStreamBuffers * | m_processingBuffers |
std::deque< CSampleBuffer * > | m_processingSamples |
CActiveAEDataProtocol * | m_streamPort |
CEvent | m_inMsgEvent |
bool | m_drain |
bool | m_paused |
bool | m_started |
CAELimiter | m_limiter |
float | m_volume |
float | m_rgain |
float | m_amplify |
float | m_bufferedTime |
int | m_fadingSamples |
float | m_fadingBase |
float | m_fadingTarget |
int | m_fadingTime |
int | m_profile |
int | m_resampleMode |
double | m_resampleIntegral |
double | m_clockSpeed |
enum AVMatrixEncoding | m_matrixEncoding |
enum AVAudioServiceType | m_audioServiceType |
bool | m_forceResampler |
IAEClockCallback * | m_pClock |
CSyncError | m_syncError |
double | m_lastSyncError |
CAESyncInfo::AESyncState | m_syncState |
Friends | |
class | CActiveAE |
class | CEngineStats |
|
overridevirtual |
Add planar or interleaved PCM data to the stream.
data | array of pointers to the planes |
offset | to frame in frames |
frames | number of frames |
pts | timestamp |
Implements IAEStream.
|
overridevirtual |
Start draining the stream.
Implements IAEStream.
|
overridevirtual |
Fade the volume level over the specified time.
from | The volume level to fade from (0.0f-1.0f) - See notes |
target | The volume level to fade to (0.0f-1.0f) |
time | The amount of time in milliseconds for the fade to occur |
Reimplemented from IAEStream.
|
overridevirtual |
Gets the stream's volume amplification in linear units.
Implements IAEStream.
|
overridevirtual |
Returns the time in seconds of the stream's cached audio samples.
Engine buffers excluded.
Implements IAEStream.
|
overridevirtual |
|
overridevirtual |
Returns the number of channels the stream is configured to accept.
Implements IAEStream.
|
overridevirtual |
Return the data format the stream has been configured with.
Implements IAEStream.
|
overridevirtual |
Returns the time in seconds that it will take for the next added packet to be heard from the speakers.
Implements IAEStream.
|
overridevirtual |
Returns the size of one audio frame in bytes (channelCount * resolution)
Implements IAEStream.
|
overridevirtual |
|
overridevirtual |
Returns the stream's current replay gain factor.
Implements IAEStream.
|
overridevirtual |
Return the resample ratio.
Implements IAEStream.
|
overridevirtual |
Returns the stream's sample rate, if the stream is using a dynamic sample rate, this value will NOT reflect any changes made by calls to SetResampleRatio()
Implements IAEStream.
|
overridevirtual |
Returns the amount of space available in the stream.
Implements IAEStream.
|
overridevirtual |
|
overridevirtual |
Return the stream's current volume level.
Implements IAEStream.
|
overridevirtual |
|
overridevirtual |
Returns if a fade is still running.
Reimplemented from IAEStream.
|
overridevirtual |
Registers the audio callback to call with each block of data, this is used by Audio Visualizations.
pCallback | The callback |
Implements IAEStream.
|
overridevirtual |
Sets the stream's volume amplification in linear units.
The | volume amplification factor between 1.0 and 1000.0 |
Implements IAEStream.
|
overridevirtual |
Sets the stream ffmpeg information if present.
profile | |
matrix_encoding | |
audio_service_type |
Implements IAEStream.
|
overridevirtual |
Sets the stream's replay gain factor, this is used by formats such as MP3 that have attenuation information in their streams.
factor | The replay gain factor |
Implements IAEStream.
|
overridevirtual |
Sets the resample ratio.
ratio | the new sample rate ratio, calculated by ((double)desiredRate / (double)GetSampleRate()) |
Implements IAEStream.
|
overridevirtual |
Set the stream's volume level.
volume | The new volume level between 0.0 and 1.0 |
Implements IAEStream.