#include "sndfile.h"
#include "sndcpcm.h"
#include "sndulaw.h"
+#include "sndg72x.h"
// --------------------------------------------------------------------------
// Sound codec router
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);
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);
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;
}
+wxUint32 wxSoundRouterStream::GetBestSize() const
+{
+ if (m_router)
+ return m_router->GetBestSize();
+ else
+ return m_sndio->GetBestSize();
+}
+
bool wxSoundRouterStream::StartProduction(int evt)
{
if (!m_router) {
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;
void wxSoundFileStream::OnSoundEvent(int evt)
{
- size_t len = m_sndio->GetBestSize();
+ wxUint32 len = m_codec.GetBestSize();
char *buffer;
buffer = new char[len];
m_len -= len;
if (m_len == 0) {
Stop();
+ delete[] buffer;
return;
}
break;
len = GetData(buffer, len);
if (len == 0) {
Stop();
+ delete[] buffer;
return;
}
m_codec.Write(buffer, len);