+
+ std::cout << "Setting buffer: " << newSize << std::endl;
+
+ //see if this is one of our supported rates...
+ intIter = find(m_BufferSizes.begin(), m_BufferSizes.end(), newSize);
+ if (intIter == m_BufferSizes.end())
+ {
+ //Sample rate proposed by client is not supported any more
+ if (m_BufferSizes.size() == 1)
+ {
+ // we have only one aloved buffer size which is preffered by PA
+ // this is the only value which could be set
+ newSize = m_BufferSizes[0];
+ int bufferSize = newSize;
+ // notify client to update sample rate after us
+ m_pMyManager->NotifyClient (WCMRAudioDeviceManagerClient::BufferSizeChanged, (void *)&bufferSize);
+ return retVal;
+
+ } else {
+ // more then one buffer size value is available
+ //Can't change, perhaps use an "invalid param" type of error
+ retVal = eCommandLineParameter;
+ return (retVal);
+ }
+ }