From 94c27493c209baec4a6071ddcb5b6ff5f3c64040 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Thu, 13 Aug 2009 18:59:14 +0000 Subject: [PATCH] some renamings, store actual frame size factor --- src/client.cpp | 25 +++++++++++++++---------- src/client.h | 9 +++++---- src/clientsettingsdlg.cpp | 12 ++++++------ src/server.cpp | 7 +++---- src/settings.cpp | 4 ++-- 5 files changed, 31 insertions(+), 26 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index 0bb8740e..147143e8 100755 --- a/src/client.cpp +++ b/src/client.cpp @@ -36,7 +36,8 @@ CClient::CClient ( const quint16 iPortNumber ) : vstrIPAddress ( MAX_NUM_SERVER_ADDR_ITEMS, "" ), strName ( "" ), bOpenChatOnNewMessage ( true ), bDoAutoSockBufSize ( true ), - iSndCrdPrefMonoFrameSizeFactor ( FRAME_SIZE_FACTOR_DEFAULT ) + iSndCrdPrefFrameSizeFactor ( FRAME_SIZE_FACTOR_DEFAULT ), + iSndCrdFrameSizeFactor ( FRAME_SIZE_FACTOR_DEFAULT ) { // init audio endocder/decoder (mono) CeltMode = celt_mode_create ( @@ -154,7 +155,7 @@ bool CClient::SetServerAddr ( QString strNAddr ) return true; } -void CClient::SetSndCrdPrefMonoFrameSizeFactor ( const int iNewFactor ) +void CClient::SetSndCrdPrefFrameSizeFactor ( const int iNewFactor ) { // right now we simply set the internal value if ( ( iNewFactor == FRAME_SIZE_FACTOR_PREFERRED ) || @@ -170,7 +171,7 @@ void CClient::SetSndCrdPrefMonoFrameSizeFactor ( const int iNewFactor ) } // set new parameter - iSndCrdPrefMonoFrameSizeFactor = iNewFactor; + iSndCrdPrefFrameSizeFactor = iNewFactor; // init with new block size index parameter Init(); @@ -272,12 +273,19 @@ void CClient::Init() { // translate block size index in actual block size const int iPrefMonoFrameSize = - iSndCrdPrefMonoFrameSizeFactor * SYSTEM_FRAME_SIZE_SAMPLES; + iSndCrdPrefFrameSizeFactor * SYSTEM_FRAME_SIZE_SAMPLES; // get actual sound card buffer size using preferred size iMonoBlockSizeSam = Sound.Init ( iPrefMonoFrameSize ); iStereoBlockSizeSam = 2 * iMonoBlockSizeSam; + +// TEST +// calculate actual frame size factor +iSndCrdFrameSizeFactor = iMonoBlockSizeSam / SYSTEM_FRAME_SIZE_SAMPLES; + + + vecsAudioSndCrdMono.Init ( iMonoBlockSizeSam ); vecsAudioSndCrdStereo.Init ( iStereoBlockSizeSam ); vecdAudioStereo.Init ( iStereoBlockSizeSam ); @@ -302,11 +310,8 @@ void CClient::Init() vecbyNetwData.Init ( iCeltNumCodedBytes ); // set the channel network properties - -// TODO use the actual frame size factor if possible... - Channel.SetNetwFrameSizeAndFact ( iCeltNumCodedBytes, - iSndCrdPrefMonoFrameSizeFactor ); + iSndCrdFrameSizeFactor ); } void CClient::ProcessAudioData ( CVector& vecsStereoSndCrd ) @@ -391,7 +396,7 @@ void CClient::ProcessAudioData ( CVector& vecsStereoSndCrd ) // TEST // TODO use actual frame size factor, not preferred one!!!! - for ( i = 0; i < iSndCrdPrefMonoFrameSizeFactor; i++ ) + for ( i = 0; i < iSndCrdFrameSizeFactor; i++ ) { // encode current audio frame with CELT encoder celt_encode ( CeltEncoder, @@ -410,7 +415,7 @@ void CClient::ProcessAudioData ( CVector& vecsStereoSndCrd ) // TEST // TODO use actual frame size factor, not preferred one!!!! - for ( i = 0; i < iSndCrdPrefMonoFrameSizeFactor; i++ ) + for ( i = 0; i < iSndCrdFrameSizeFactor; i++ ) { // receive a new block const bool bReceiveDataOk = diff --git a/src/client.h b/src/client.h index 93d32901..a8800efe 100755 --- a/src/client.h +++ b/src/client.h @@ -119,9 +119,9 @@ public: int GetSndCrdDev() { return Sound.GetDev(); } void OpenSndCrdDriverSetup() { Sound.OpenDriverSetup(); } - void SetSndCrdPrefMonoFrameSizeFactor ( const int iNewFactor ); - int GetSndCrdPrefMonoFrameSizeFactor() - { return iSndCrdPrefMonoFrameSizeFactor; } + void SetSndCrdPrefFrameSizeFactor ( const int iNewFactor ); + int GetSndCrdPrefFrameSizeFactor() + { return iSndCrdPrefFrameSizeFactor; } int GetSndCrdActualMonoBlSize() { return iMonoBlockSizeSam; } void SetRemoteChanGain ( const int iId, const double dGain ) @@ -172,7 +172,8 @@ protected: int iReverbLevel; CAudioReverb AudioReverb; - int iSndCrdPrefMonoFrameSizeFactor; + int iSndCrdPrefFrameSizeFactor; + int iSndCrdFrameSizeFactor; int iMonoBlockSizeSam; int iStereoBlockSizeSam; diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index 0bfa2775..44b86b8b 100755 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -169,7 +169,7 @@ void CClientSettingsDlg::UpdateSoundCardFrame() { // update slider value and text const int iCurPrefFrameSizeFactor = - pClient->GetSndCrdPrefMonoFrameSizeFactor(); + pClient->GetSndCrdPrefFrameSizeFactor(); const int iCurActualBufSize = pClient->GetSndCrdActualMonoBlSize(); @@ -236,7 +236,7 @@ void CClientSettingsDlg::OnSliderNetBuf ( int value ) void CClientSettingsDlg::OnSliderSndCrdBufferDelay ( int value ) { - pClient->SetSndCrdPrefMonoFrameSizeFactor ( value ); + pClient->SetSndCrdPrefFrameSizeFactor ( value ); UpdateDisplay(); } @@ -273,17 +273,17 @@ void CClientSettingsDlg::OnSndCrdBufferDelayButtonGroupClicked ( QAbstractButton { if ( button == rButBufferDelayPreferred ) { - pClient->SetSndCrdPrefMonoFrameSizeFactor ( FRAME_SIZE_FACTOR_PREFERRED ); + pClient->SetSndCrdPrefFrameSizeFactor ( FRAME_SIZE_FACTOR_PREFERRED ); } if ( button == rButBufferDelayDefault ) { - pClient->SetSndCrdPrefMonoFrameSizeFactor ( FRAME_SIZE_FACTOR_DEFAULT ); + pClient->SetSndCrdPrefFrameSizeFactor ( FRAME_SIZE_FACTOR_DEFAULT ); } if ( button == rButBufferDelaySafe ) { - pClient->SetSndCrdPrefMonoFrameSizeFactor ( FRAME_SIZE_FACTOR_SAFE ); + pClient->SetSndCrdPrefFrameSizeFactor ( FRAME_SIZE_FACTOR_SAFE ); } UpdateDisplay(); @@ -317,7 +317,7 @@ void CClientSettingsDlg::OnPingTimeResult ( int iPingTime ) const double dDelayToFillNetworkPackets = SYSTEM_BLOCK_DURATION_MS_FLOAT * - pClient->GetSndCrdPrefMonoFrameSizeFactor(); + pClient->GetSndCrdPrefFrameSizeFactor(); // CELT additional delay at small frame sizes is half a frame size const double dAdditionalAudioCodecDelay = diff --git a/src/server.cpp b/src/server.cpp index c7341174..4290a823 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -294,11 +294,10 @@ void CServer::OnTimer() CVector > vecvecdGains; CVector > vecvecsData; - - // get data from all connected clients ------------------------------------- + // Get data from all connected clients ------------------------------------- bool bChannelIsNowDisconnected = false; - // make put and get calls thread safe. Do not forget to unlock mutex + // Make put and get calls thread safe. Do not forget to unlock mutex // afterwards! Mutex.lock(); { @@ -399,7 +398,7 @@ void CServer::OnTimer() const int iNumClients = vecChanID.Size(); // Check if at least one client is connected. If not, stop server until - // one client is connected + // one client is connected. if ( iNumClients != 0 ) { for ( int i = 0; i < iNumClients; i++ ) diff --git a/src/settings.cpp b/src/settings.cpp index 784fcc8f..2ebfbbfc 100755 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -118,7 +118,7 @@ void CSettings::ReadIniFile ( const QString& sFileName ) ( iValue == FRAME_SIZE_FACTOR_DEFAULT ) || ( iValue == FRAME_SIZE_FACTOR_SAFE ) ) { - pClient->SetSndCrdPrefMonoFrameSizeFactor ( iValue ); + pClient->SetSndCrdPrefFrameSizeFactor ( iValue ); } } @@ -179,7 +179,7 @@ void CSettings::WriteIniFile ( const QString& sFileName ) // sound card preferred buffer size index SetNumericIniSet ( IniXMLDocument, "client", "prefsndcrdbufidx", - pClient->GetSndCrdPrefMonoFrameSizeFactor() ); + pClient->GetSndCrdPrefFrameSizeFactor() ); // automatic network jitter buffer size setting SetFlagIniSet ( IniXMLDocument, "client", "autojitbuf",