implementation that outside the software the audio buffer size can be changed and the software reconfigures automatically

This commit is contained in:
Volker Fischer 2009-03-12 13:07:43 +00:00
parent d27fab9999
commit 1e0fe59f58
2 changed files with 25 additions and 0 deletions

View file

@ -59,6 +59,9 @@ CClient::CClient ( const quint16 iPortNumber ) :
QObject::connect ( &Channel, SIGNAL ( PingReceived ( int ) ), QObject::connect ( &Channel, SIGNAL ( PingReceived ( int ) ),
this, SLOT ( OnReceivePingMessage ( int ) ) ); this, SLOT ( OnReceivePingMessage ( int ) ) );
QObject::connect ( &Sound, SIGNAL ( ReinitRequest() ),
this, SLOT ( OnSndCrdReinitRequest() ) );
} }
void CClient::OnSendProtMessage ( CVector<uint8_t> vecMessage ) void CClient::OnSendProtMessage ( CVector<uint8_t> vecMessage )
@ -205,6 +208,27 @@ QString CClient::SetSndCrdDev ( const int iNewDev )
return strReturn; return strReturn;
} }
void CClient::OnSndCrdReinitRequest()
{
// if client was running then first
// stop it and restart again after new initialization
const bool bWasRunning = Sound.IsRunning();
if ( bWasRunning )
{
Sound.Stop();
}
// reinit the driver (we use the currently selected driver) and
// init client object, too
Sound.SetDev ( Sound.GetDev() );
Init ( iSndCrdPreferredMonoBlSizeIndex );
if ( bWasRunning )
{
Sound.Start();
}
}
void CClient::Start() void CClient::Start()
{ {
// init object // init object

View file

@ -210,6 +210,7 @@ public slots:
void OnReqJittBufSize(); void OnReqJittBufSize();
void OnNewConnection(); void OnNewConnection();
void OnReceivePingMessage ( int iMs ); void OnReceivePingMessage ( int iMs );
void OnSndCrdReinitRequest();
signals: signals:
void ConClientListMesReceived ( CVector<CChannelShortInfo> vecChanInfo ); void ConClientListMesReceived ( CVector<CChannelShortInfo> vecChanInfo );