1// -------------------------------------------------------------------------- 2// Name: sndesd.h 3// Purpose: 4// Date: 08/11/1999 5// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999 6// CVSID: $Id: sndesd.h 35650 2005-09-23 12:56:45Z MR $ 7// License: wxWindows license 8// -------------------------------------------------------------------------- 9#ifndef _WX_SNDESD_H 10#define _WX_SNDESD_H 11 12#include "wx/defs.h" 13#include "wx/string.h" 14#include "wx/mmedia/defs.h" 15#include "wx/mmedia/sndbase.h" 16#include "wx/mmedia/sndpcm.h" 17 18// 19// ESD output class 20// 21 22class WXDLLIMPEXP_MMEDIA wxSoundStreamESD : public wxSoundStream { 23public: 24 wxSoundStreamESD(const wxString& hostname = wxT("localhost")); 25 ~wxSoundStreamESD(); 26 27 wxSoundStream& Read(void *buffer, wxUint32 len); 28 wxSoundStream& Write(const void *buffer, wxUint32 len); 29 30 bool SetSoundFormat(const wxSoundFormatBase& format); 31 32 bool StartProduction(int evt); 33 bool StopProduction(); 34 35 // You should not call this. 36 void WakeUpEvt(int evt); 37 38 bool QueueFilled() const { return m_q_filled; } 39protected: 40 int m_fd_input, m_fd_output; // ESD fds 41 int m_tag_input, m_tag_output; // GLIB tags 42 bool m_esd_stop; // Stream started ? 43 bool m_esd_ok; // ESD detected 44 wxString m_hostname; // ESD host 45 bool m_q_filled; // queue filled 46 47private: 48 void DetectBest(wxSoundFormatPcm *pcm); 49}; 50 51#endif 52