Write more accurate audio diagnostics.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
This commit is contained in:
Andrea Odetti 2020-11-21 09:15:46 +00:00
parent 6d4dd11f06
commit dec8b54a9e
3 changed files with 3 additions and 6 deletions

View file

@ -31,9 +31,6 @@ namespace
int myBytesPerSecond;
// options
int myInitialSilence;
void close();
bool isRunning() const;
bool isRunning();
@ -107,7 +104,7 @@ namespace
if (isRunning())
{
const int width = 5;
const DWORD bytesInBuffer = myBuffer->bufferSize - myBuffer->GetAvailableBytes();
const DWORD bytesInBuffer = myBuffer->GetBytesInBuffer();
const Uint32 bytesInQueue = SDL_GetQueuedAudioSize(myAudioDevice);
std::cerr << "Channels: " << (int)myAudioSpec.channels;
std::cerr << ", buffer: " << std::setw(width) << bytesInBuffer;

View file

@ -154,7 +154,7 @@ HRESULT IDirectSoundBuffer::Read( DWORD dwReadBytes, LPVOID * lplpvAudioPtr1, DW
return DS_OK;
}
DWORD IDirectSoundBuffer::GetAvailableBytes() const
DWORD IDirectSoundBuffer::GetBytesInBuffer() const
{
const DWORD available = (this->myWritePosition - this->myPlayPosition) % this->bufferSize;
return available;

View file

@ -100,7 +100,7 @@ class IDirectSoundBuffer : public IUnknown
// Read is NOT part of Windows API
HRESULT Read( DWORD dwReadBytes, LPVOID * lplpvAudioPtr1, DWORD * lpdwAudioBytes1, LPVOID * lplpvAudioPtr2, DWORD * lpdwAudioBytes2);
DWORD GetAvailableBytes() const;
DWORD GetBytesInBuffer() const;
HRESULT Lock( DWORD dwWriteCursor, DWORD dwWriteBytes, LPVOID * lplpvAudioPtr1, DWORD * lpdwAudioBytes1, LPVOID * lplpvAudioPtr2, DWORD * lpdwAudioBytes2, DWORD dwFlags );
HRESULT Unlock( LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioBytes2 );