Implemented Read in the PCM converter

Changed size_t to wxUint32
Added support for G72X
WAV format multi-codec handling


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Guilhem Lavaux
1999-08-27 17:40:40 +00:00
parent 5b4f8dd5c0
commit 0662cd3286
21 changed files with 514 additions and 80 deletions

View File

@@ -16,6 +16,7 @@
#include "sndfile.h"
#include "sndcpcm.h"
#include "sndulaw.h"
#include "sndg72x.h"
// --------------------------------------------------------------------------
// Sound codec router
@@ -33,7 +34,7 @@ wxSoundRouterStream::~wxSoundRouterStream()
delete m_router;
}
wxSoundStream& wxSoundRouterStream::Read(void *buffer, size_t len)
wxSoundStream& wxSoundRouterStream::Read(void *buffer, wxUint32 len)
{
if (m_router) {
m_router->Read(buffer, len);
@@ -47,7 +48,7 @@ wxSoundStream& wxSoundRouterStream::Read(void *buffer, size_t len)
return *this;
}
wxSoundStream& wxSoundRouterStream::Write(const void *buffer, size_t len)
wxSoundStream& wxSoundRouterStream::Write(const void *buffer, wxUint32 len)
{
if (m_router) {
m_router->Write(buffer, len);
@@ -82,6 +83,10 @@ bool wxSoundRouterStream::SetSoundFormat(const wxSoundFormatBase& format)
m_router = new wxSoundStreamUlaw(*m_sndio);
m_router->SetSoundFormat(format);
break;
case wxSOUND_G72X:
m_router = new wxSoundStreamG72X(*m_sndio);
m_router->SetSoundFormat(format);
break;
}
wxSoundStream::SetSoundFormat(m_router->GetSoundFormat());
return TRUE;
@@ -230,13 +235,13 @@ bool wxSoundFileStream::Resume()
return TRUE;
}
wxSoundStream& wxSoundFileStream::Read(void *buffer, size_t len)
wxSoundStream& wxSoundFileStream::Read(void *buffer, wxUint32 len)
{
m_lastcount = GetData(buffer, len);
return *this;
}
wxSoundStream& wxSoundFileStream::Write(const void *buffer, size_t len)
wxSoundStream& wxSoundFileStream::Write(const void *buffer, wxUint32 len)
{
m_lastcount = PutData(buffer, len);
return *this;
@@ -263,7 +268,7 @@ bool wxSoundFileStream::StopProduction()
void wxSoundFileStream::OnSoundEvent(int evt)
{
size_t len = m_sndio->GetBestSize();
wxUint32 len = m_sndio->GetBestSize();
char *buffer;
buffer = new char[len];