From b7ecdec5aa816f6e5c8f9b8d48dfd355a1a7c62e Mon Sep 17 00:00:00 2001 From: =?utf8?q?W=C5=82odzimierz=20Skiba?= Date: Wed, 15 Sep 2004 14:00:40 +0000 Subject: [PATCH] ISO C++ cast fix (patches #1024150 and #1024149). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- contrib/src/mmedia/sndesd.cpp | 78 ++++++++++++++++++----------------- contrib/src/mmedia/sndoss.cpp | 59 +++++++++++++------------- 2 files changed, 70 insertions(+), 67 deletions(-) diff --git a/contrib/src/mmedia/sndesd.cpp b/contrib/src/mmedia/sndesd.cpp index f7c74b7c07..92acc39fab 100644 --- a/contrib/src/mmedia/sndesd.cpp +++ b/contrib/src/mmedia/sndesd.cpp @@ -60,30 +60,30 @@ wxSoundStreamESD::wxSoundStreamESD(const wxString& hostname) return; #else wxSoundFormatPcm pcm_default; - + // First, we make some basic test: is there ESD on this computer ? m_esd_ok = false; - + if (hostname.IsNull()) - m_fd_output = esd_play_stream(ESD_PLAY | ESD_STREAM, 22050, + m_fd_output = esd_play_stream(ESD_PLAY | ESD_STREAM, 22050, hostname.mb_str(), MY_ESD_NAME); else - m_fd_output = esd_play_stream(ESD_PLAY | ESD_STREAM, 22050, + m_fd_output = esd_play_stream(ESD_PLAY | ESD_STREAM, 22050, NULL, MY_ESD_NAME); if (m_fd_output == -1) { // Answer: no. We return with an error. m_snderror = wxSOUND_INVDEV; return; } - + // Close this unuseful stream. esd_close(m_fd_output); - + m_hostname = hostname; - + // Set the default audio format SetSoundFormat(pcm_default); - + // Initialize some variable m_snderror = wxSOUND_NOERROR; m_esd_stop = true; @@ -113,19 +113,20 @@ wxSoundStream& wxSoundStreamESD::Read(void *buffer, wxUint32 len) return *this; #else int ret; - + if (m_esd_stop) { m_snderror = wxSOUND_NOTSTARTED; return *this; } - - m_lastcount = (wxUint32)ret = read(m_fd_input, buffer, len); - + + ret = read(m_fd_input, buffer, len); + m_lastcount = (wxUint32)ret; + if (ret < 0) m_snderror = wxSOUND_IOERROR; else m_snderror = wxSOUND_NOERROR; - + return *this; #endif // defined HAVE_ESD_H } @@ -146,16 +147,17 @@ wxSoundStream& wxSoundStreamESD::Write(const void *buffer, wxUint32 len) m_snderror = wxSOUND_NOTSTARTED; return *this; } - - m_lastcount = (wxUint32)ret = write(m_fd_output, buffer, len); - + + ret = write(m_fd_output, buffer, len); + m_lastcount = (wxUint32)ret; + if (ret < 0) m_snderror = wxSOUND_IOERROR; else m_snderror = wxSOUND_NOERROR; - + m_q_filled = true; - + return *this; #endif // defined HAVE_ESD_H } @@ -171,7 +173,7 @@ bool wxSoundStreamESD::SetSoundFormat(const wxSoundFormatBase& format) return false; #else wxSoundFormatPcm *pcm_format; - + if (format.GetType() != wxSOUND_PCM) { m_snderror = wxSOUND_INVFRMT; return false; @@ -181,20 +183,20 @@ bool wxSoundStreamESD::SetSoundFormat(const wxSoundFormatBase& format) m_snderror = wxSOUND_INVDEV; return false; } - + if (m_sndformat) delete m_sndformat; - + m_sndformat = format.Clone(); if (!m_sndformat) { m_snderror = wxSOUND_MEMERROR; return false; } pcm_format = (wxSoundFormatPcm *)m_sndformat; - + // Detect the best format DetectBest(pcm_format); - + m_snderror = wxSOUND_NOERROR; if (*pcm_format != format) { m_snderror = wxSOUND_NOEXACT; @@ -213,7 +215,7 @@ static void _wxSound_OSS_CBack(gpointer data, int source, GdkInputCondition condition) { wxSoundStreamESD *esd = (wxSoundStreamESD *)data; - + switch (condition) { case GDK_INPUT_READ: esd->WakeUpEvt(wxSOUND_INPUT); @@ -254,27 +256,27 @@ bool wxSoundStreamESD::StartProduction(int evt) m_snderror = wxSOUND_INVDEV; return false; } - + if (!m_esd_stop) StopProduction(); - + pcm = (wxSoundFormatPcm *)m_sndformat; - + flag |= (pcm->GetBPS() == 16) ? ESD_BITS16 : ESD_BITS8; flag |= (pcm->GetChannels() == 2) ? ESD_STEREO : ESD_MONO; - + if ((evt & wxSOUND_OUTPUT) != 0) { flag |= ESD_PLAY | ESD_STREAM; m_fd_output = esd_play_stream(flag, pcm->GetSampleRate(), NULL, MY_ESD_NAME); - } - + } + if ((evt & wxSOUND_INPUT) != 0) { flag |= ESD_RECORD | ESD_STREAM; m_fd_input = esd_record_stream(flag, pcm->GetSampleRate(), NULL, MY_ESD_NAME); } - + #ifdef __WXGTK__ if ((evt & wxSOUND_OUTPUT) != 0) { m_tag_output = gdk_input_add(m_fd_output, GDK_INPUT_WRITE, @@ -285,10 +287,10 @@ bool wxSoundStreamESD::StartProduction(int evt) _wxSound_OSS_CBack, (gpointer)this); } #endif - + m_esd_stop = false; m_q_filled = false; - + return true; #endif // defined HAVE_ESD_H } @@ -304,7 +306,7 @@ bool wxSoundStreamESD::StopProduction() #else if (m_esd_stop) return false; - + if (m_fd_input != -1) { esd_close(m_fd_input); #ifdef __WXGTK__ @@ -317,7 +319,7 @@ bool wxSoundStreamESD::StopProduction() gdk_input_remove(m_tag_output); #endif } - + m_fd_input = -1; m_fd_output= -1; m_esd_stop = true; @@ -339,10 +341,10 @@ void wxSoundStreamESD::DetectBest(wxSoundFormatPcm *pcm) // We change neither the number of channels nor the sample rate // because ESD is clever. - + best_pcm.SetSampleRate(pcm->GetSampleRate()); best_pcm.SetChannels(pcm->GetChannels()); - + // It supports 16 bits if (pcm->GetBPS() >= 16) best_pcm.SetBPS(16); @@ -351,7 +353,7 @@ void wxSoundStreamESD::DetectBest(wxSoundFormatPcm *pcm) best_pcm.SetOrder(wxLITTLE_ENDIAN); best_pcm.Signed(true); - + // Finally recopy the new format *pcm = best_pcm; #endif // defined HAVE_ESD_H diff --git a/contrib/src/mmedia/sndoss.cpp b/contrib/src/mmedia/sndoss.cpp index 4070ca0fdc..73f8a3d02c 100644 --- a/contrib/src/mmedia/sndoss.cpp +++ b/contrib/src/mmedia/sndoss.cpp @@ -35,7 +35,7 @@ wxSoundStreamOSS::wxSoundStreamOSS(const wxString& dev_name) { wxSoundFormatPcm pcm_default; - + // Open the OSS device m_fd = open(dev_name.mb_str(), O_WRONLY); if (m_fd == -1) { @@ -53,12 +53,12 @@ wxSoundStreamOSS::wxSoundStreamOSS(const wxString& dev_name) // Get the default best size for OSS ioctl(m_fd, SNDCTL_DSP_GETBLKSIZE, &m_bufsize); - + m_snderror = wxSOUND_NOERROR; // Close OSS close(m_fd); - + m_oss_ok = true; m_oss_stop = true; m_q_filled = true; @@ -84,15 +84,16 @@ wxSoundStream& wxSoundStreamOSS::Read(void *buffer, wxUint32 len) m_lastcount = 0; return *this; } - - m_lastcount = (wxUint32)ret = read(m_fd, buffer, len); + + ret = read(m_fd, buffer, len); + m_lastcount = (wxUint32)ret; m_q_filled = true; - + if (ret < 0) m_snderror = wxSOUND_IOERROR; else m_snderror = wxSOUND_NOERROR; - + return *this; } @@ -108,7 +109,7 @@ wxSoundStream& wxSoundStreamOSS::Write(const void *buffer, wxUint32 len) ret = write(m_fd, buffer, len); m_q_filled = true; - + if (ret < 0) { m_lastcount = 0; m_snderror = wxSOUND_IOERROR; @@ -116,7 +117,7 @@ wxSoundStream& wxSoundStreamOSS::Write(const void *buffer, wxUint32 len) m_snderror = wxSOUND_NOERROR; m_lastcount = (wxUint32)ret; } - + return *this; } @@ -124,20 +125,20 @@ bool wxSoundStreamOSS::SetSoundFormat(const wxSoundFormatBase& format) { int tmp; wxSoundFormatPcm *pcm_format; - + if (format.GetType() != wxSOUND_PCM) { m_snderror = wxSOUND_INVFRMT; return false; } - + if (!m_oss_ok) { m_snderror = wxSOUND_INVDEV; return false; } - + if (m_sndformat) delete m_sndformat; - + m_sndformat = format.Clone(); if (!m_sndformat) { m_snderror = wxSOUND_MEMERROR; @@ -153,18 +154,18 @@ bool wxSoundStreamOSS::SetSoundFormat(const wxSoundFormatBase& format) return false; } } - + // Set the sample rate field. tmp = pcm_format->GetSampleRate(); ioctl(m_fd, SNDCTL_DSP_SPEED, &tmp); - + pcm_format->SetSampleRate(tmp); - + // Detect the best format DetectBest(pcm_format); // Try to apply it SetupFormat(pcm_format); - + tmp = pcm_format->GetChannels(); ioctl(m_fd, SNDCTL_DSP_CHANNELS, &tmp); pcm_format->SetChannels(tmp); @@ -172,7 +173,7 @@ bool wxSoundStreamOSS::SetSoundFormat(const wxSoundFormatBase& format) // Close the OSS device if (m_oss_stop) close(m_fd); - + m_snderror = wxSOUND_NOERROR; if (*pcm_format != format) { m_snderror = wxSOUND_NOEXACT; @@ -185,7 +186,7 @@ bool wxSoundStreamOSS::SetSoundFormat(const wxSoundFormatBase& format) bool wxSoundStreamOSS::SetupFormat(wxSoundFormatPcm *pcm_format) { int tmp; - + switch(pcm_format->GetBPS()) { case 8: if (pcm_format->Signed()) @@ -210,9 +211,9 @@ bool wxSoundStreamOSS::SetupFormat(wxSoundFormatPcm *pcm_format) } break; } - + ioctl(m_fd, SNDCTL_DSP_SETFMT, &tmp); - + // Demangling. switch (tmp) { case AFMT_U8: @@ -252,7 +253,7 @@ static void _wxSound_OSS_CBack(gpointer data, int source, GdkInputCondition condition) { wxSoundStreamOSS *oss = (wxSoundStreamOSS *)data; - + switch (condition) { case GDK_INPUT_READ: oss->WakeUpEvt(wxSOUND_INPUT); @@ -275,31 +276,31 @@ void wxSoundStreamOSS::WakeUpEvt(int evt) bool wxSoundStreamOSS::StartProduction(int evt) { wxSoundFormatBase *old_frmt; - + if (!m_oss_stop) StopProduction(); - + old_frmt = m_sndformat->Clone(); if (!old_frmt) { m_snderror = wxSOUND_MEMERROR; return false; } - + if (evt == wxSOUND_OUTPUT) m_fd = open(m_devname.mb_str(), O_WRONLY); else if (evt == wxSOUND_INPUT) m_fd = open(m_devname.mb_str(), O_RDONLY); - + if (m_fd == -1) { m_snderror = wxSOUND_INVDEV; return false; } - + SetSoundFormat(*old_frmt); delete old_frmt; - + int trig; - + if (evt == wxSOUND_OUTPUT) { #ifdef __WXGTK__ m_tag = gdk_input_add(m_fd, GDK_INPUT_WRITE, _wxSound_OSS_CBack, (gpointer)this); -- 2.47.2