diff --git a/include/ITANetAudioProtocol.h b/include/ITANetAudioProtocol.h index 865d678d5f86bda0307e8d069ce0d51d6a796e8d..ad4cbc3ab7d7c5c77d1b848ca0a510be0ad2c9ee 100644 --- a/include/ITANetAudioProtocol.h +++ b/include/ITANetAudioProtocol.h @@ -65,6 +65,7 @@ public: double dSampleRate; int iBlockSize; int iRingBufferSize; + int iTargetSampleLatency; inline StreamingParameters() { @@ -72,11 +73,16 @@ public: dSampleRate = 0.0f; iBlockSize = 0; iRingBufferSize = 0; + iTargetSampleLatency = 0; }; inline bool operator==( const StreamingParameters& rhs ) { - if ( ( iChannels == rhs.iChannels ) && ( dSampleRate == rhs.dSampleRate ) && ( iBlockSize == rhs.iBlockSize ) && ( iRingBufferSize == rhs.iRingBufferSize ) ) + if ( ( iChannels == rhs.iChannels ) + && ( dSampleRate == rhs.dSampleRate ) + && (iBlockSize == rhs.iBlockSize) + && (iRingBufferSize == rhs.iRingBufferSize) + && (iTargetSampleLatency == rhs.iTargetSampleLatency)) return true; else return false; diff --git a/include/ITANetAudioStream.h b/include/ITANetAudioStream.h index 0a6586d86b49c74d7b1d98b0bed4fc57b4ca5222..b6ed7a3b8cc5b91bc50ca3c5a8dd38ec1ff976d0 100644 --- a/include/ITANetAudioStream.h +++ b/include/ITANetAudioStream.h @@ -204,7 +204,7 @@ private: int m_iWriteCursor; //!< Cursor where samples will be fed into ring buffer from net audio producer (always ahead) bool m_bRingBufferFull; //!< Indicator if ring buffer is full (and read cursor equals write cursor) ITASampleFrame m_sfRingBuffer; //!< Ring buffer - int m_iTargetSampleLatency; //!< Maximum allowed samples / target sample latency + int m_iTargetSampleLatencyServer; //!< Maximum allowed samples / target sample latency int m_iStreamingStatus; //!< Current streaming status double m_dLastStreamingTimeCode; diff --git a/src/ITANetAudioStream.cpp b/src/ITANetAudioStream.cpp index 56af0e6880275a3c9a51d42e70ceeba2ed07f9a3..d8442038e6912cd17215ae705c445246c8204408 100644 --- a/src/ITANetAudioStream.cpp +++ b/src/ITANetAudioStream.cpp @@ -124,7 +124,7 @@ CITANetAudioStream::CITANetAudioStream( int iChannels, double dSamplingRate, int , m_bRingBufferFull( false ) , m_iStreamingStatus( INVALID ) , m_dLastStreamingTimeCode( 0.0f ) - , m_iTargetSampleLatency( iRingBufferCapacity ) + , m_iTargetSampleLatencyServer( iRingBufferCapacity ) { m_bRingBufferFull = false; if( iBufferSize > iRingBufferCapacity ) @@ -157,7 +157,7 @@ CITANetAudioStream::CITANetAudioStream( int iChannels, double dSamplingRate, int oLog.dSampleRate = m_dSampleRate; oLog.iBufferSize = GetBlocklength(); oLog.iRingBufferSize = GetRingBufferSize(); - oLog.iTargetSampleLatency = m_iTargetSampleLatency; + oLog.iTargetSampleLatency = m_iTargetSampleLatencyServer; m_pAudioLogger->log( oLog ); } @@ -202,17 +202,17 @@ void CITANetAudioStream::SetAllowedLatencySamples( int iLatencySamples ) if( iLatencySamples > GetMaximumLatencySamples() ) ITA_EXCEPT1( INVALID_PARAMETER, "Can not set latency greater than the maximum possible" ); - m_iTargetSampleLatency = iLatencySamples; + m_iTargetSampleLatencyServer = iLatencySamples; } float CITANetAudioStream::GetAllowedLatencySeconds() const { - return float( m_iTargetSampleLatency / GetSampleRate() ); + return float(m_iTargetSampleLatencyServer / GetSampleRate()); } int CITANetAudioStream::GetAllowedLatencySamples() const { - return m_iTargetSampleLatency; + return m_iTargetSampleLatencyServer; } int CITANetAudioStream::GetMinimumLatencySamples() const