diff --git a/contrib/src/mmedia/sndesd.cpp b/contrib/src/mmedia/sndesd.cpp index e3d6860253..f149f43051 100644 --- a/contrib/src/mmedia/sndesd.cpp +++ b/contrib/src/mmedia/sndesd.cpp @@ -20,8 +20,6 @@ #pragma hdrstop #endif -#ifdef HAVE_ESD_H - // -------------------------------------------------------------------------- // MMedia headers // -------------------------------------------------------------------------- @@ -34,6 +32,7 @@ // System headers // -------------------------------------------------------------------------- +#ifdef HAVE_ESD_H #include #include #include @@ -41,6 +40,7 @@ #ifdef __WXGTK__ #include #endif +#endif // -------------------------------------------------------------------------- @@ -55,6 +55,10 @@ wxSoundStreamESD::wxSoundStreamESD(const wxString& hostname) { +#ifndef HAVE_ESD_H + m_snderror = wxSOUND_INVDEV; + return; +#else wxSoundFormatPcm pcm_default; // First, we make some basic test: is there ESD on this computer ? @@ -87,12 +91,15 @@ wxSoundStreamESD::wxSoundStreamESD(const wxString& hostname) m_esd_ok = TRUE; m_fd_output= -1; m_fd_input = -1; +#endif // defined HAVE_ESD_H } wxSoundStreamESD::~wxSoundStreamESD() { +#ifdef HAVE_ESD_H if (!m_esd_stop) StopProduction(); +#endif // defined HAVE_ESD_H } // -------------------------------------------------------------------------- @@ -101,6 +108,10 @@ wxSoundStreamESD::~wxSoundStreamESD() wxSoundStream& wxSoundStreamESD::Read(void *buffer, wxUint32 len) { +#ifndef HAVE_ESD_H + m_snderror = wxSOUND_INVDEV; + return *this; +#else int ret; if (m_esd_stop) { @@ -116,6 +127,7 @@ wxSoundStream& wxSoundStreamESD::Read(void *buffer, wxUint32 len) m_snderror = wxSOUND_NOERROR; return *this; +#endif // defined HAVE_ESD_H } // -------------------------------------------------------------------------- @@ -123,6 +135,10 @@ wxSoundStream& wxSoundStreamESD::Read(void *buffer, wxUint32 len) // -------------------------------------------------------------------------- wxSoundStream& wxSoundStreamESD::Write(const void *buffer, wxUint32 len) { +#ifndef HAVE_ESD_H + m_snderror = wxSOUND_INVDEV; + return *this; +#else int ret; if (m_esd_stop) { @@ -141,6 +157,7 @@ wxSoundStream& wxSoundStreamESD::Write(const void *buffer, wxUint32 len) m_q_filled = TRUE; return *this; +#endif // defined HAVE_ESD_H } // -------------------------------------------------------------------------- @@ -149,6 +166,10 @@ wxSoundStream& wxSoundStreamESD::Write(const void *buffer, wxUint32 len) // -------------------------------------------------------------------------- bool wxSoundStreamESD::SetSoundFormat(const wxSoundFormatBase& format) { +#ifndef HAVE_ESD_H + m_snderror = wxSOUND_INVDEV; + return FALSE; +#else wxSoundFormatPcm *pcm_format; if (format.GetType() != wxSOUND_PCM) { @@ -180,13 +201,14 @@ bool wxSoundStreamESD::SetSoundFormat(const wxSoundFormatBase& format) return FALSE; } return TRUE; +#endif // defined HAVE_ESD_H } // -------------------------------------------------------------------------- // _wxSound_OSS_CBack (internal): it is called when the driver (ESD) is // ready for a next buffer. // -------------------------------------------------------------------------- -#ifdef __WXGTK__ +#if defined(__WXGTK__) && defined(HAVE_ESD_H) static void _wxSound_OSS_CBack(gpointer data, int source, GdkInputCondition condition) { @@ -221,6 +243,10 @@ void wxSoundStreamESD::WakeUpEvt(int evt) // -------------------------------------------------------------------------- bool wxSoundStreamESD::StartProduction(int evt) { +#ifndef HAVE_ESD_H + m_snderror = wxSOUND_INVDEV; + return FALSE; +#else wxSoundFormatPcm *pcm; int flag = 0; @@ -264,6 +290,7 @@ bool wxSoundStreamESD::StartProduction(int evt) m_q_filled = FALSE; return TRUE; +#endif // defined HAVE_ESD_H } // -------------------------------------------------------------------------- @@ -271,6 +298,10 @@ bool wxSoundStreamESD::StartProduction(int evt) // -------------------------------------------------------------------------- bool wxSoundStreamESD::StopProduction() { +#ifndef HAVE_ESD_H + m_snderror = wxSOUND_INVDEV; + return FALSE; +#else if (m_esd_stop) return FALSE; @@ -292,6 +323,7 @@ bool wxSoundStreamESD::StopProduction() m_esd_stop = TRUE; m_q_filled = TRUE; return TRUE; +#endif // defined HAVE_ESD_H } // @@ -299,6 +331,10 @@ bool wxSoundStreamESD::StopProduction() // void wxSoundStreamESD::DetectBest(wxSoundFormatPcm *pcm) { +#ifndef HAVE_ESD_H + m_snderror = wxSOUND_INVDEV; + return; +#else wxSoundFormatPcm best_pcm; // We change neither the number of channels nor the sample rate @@ -318,6 +354,6 @@ void wxSoundStreamESD::DetectBest(wxSoundFormatPcm *pcm) // Finally recopy the new format *pcm = best_pcm; +#endif // defined HAVE_ESD_H } -#endif // HAVE_ESD_H