1 // --------------------------------------------------------------------------
5 // Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
7 // License: wxWindows license
8 // --------------------------------------------------------------------------
13 #pragma interface "sndesd.h"
17 #include "wx/string.h"
18 #include "wx/mmedia/defs.h"
19 #include "wx/mmedia/sndbase.h"
20 #include "wx/mmedia/sndpcm.h"
26 class WXDLLIMPEXP_MMEDIA wxSoundStreamESD
: public wxSoundStream
{
28 wxSoundStreamESD(const wxString
& hostname
= wxT("localhost"));
31 wxSoundStream
& Read(void *buffer
, wxUint32 len
);
32 wxSoundStream
& Write(const void *buffer
, wxUint32 len
);
34 bool SetSoundFormat(const wxSoundFormatBase
& format
);
36 bool StartProduction(int evt
);
37 bool StopProduction();
39 // You should not call this.
40 void WakeUpEvt(int evt
);
42 bool QueueFilled() const { return m_q_filled
; }
44 int m_fd_input
, m_fd_output
; // ESD fds
45 int m_tag_input
, m_tag_output
; // GLIB tags
46 bool m_esd_stop
; // Stream started ?
47 bool m_esd_ok
; // ESD detected
48 wxString m_hostname
; // ESD host
49 bool m_q_filled
; // queue filled
52 void DetectBest(wxSoundFormatPcm
*pcm
);