1 // --------------------------------------------------------------------------
5 // Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
7 // License: wxWindows license
8 // --------------------------------------------------------------------------
13 #pragma interface "sndwav.h"
17 #include "wx/string.h"
18 #include "wx/stream.h"
19 #include "wx/datstrm.h"
20 #include "wx/mmedia/defs.h"
21 #include "wx/mmedia/sndbase.h"
22 #include "wx/mmedia/sndcodec.h"
23 #include "wx/mmedia/sndfile.h"
29 class WXDLLIMPEXP_MMEDIA wxSoundWave
: public wxSoundFileStream
{
31 wxSoundWave(wxInputStream
& stream
, wxSoundStream
& io_sound
);
32 wxSoundWave(wxOutputStream
& stream
, wxSoundStream
& io_sound
);
36 wxString
GetCodecName() const;
40 bool PrepareToRecord(wxUint32 time
);
41 bool FinishRecording();
42 bool RepositionStream(wxUint32 position
);
44 wxUint32
GetData(void *buffer
, wxUint32 len
);
45 wxUint32
PutData(const void *buffer
, wxUint32 len
);
47 bool HandleOutputPCM(wxDataInputStream
& data
, wxUint32 len
,
48 wxUint16 channels
, wxUint32 sample_fq
,
49 wxUint32 byte_p_sec
, wxUint16 byte_p_spl
,
51 bool HandleOutputMSADPCM(wxDataInputStream
& data
, wxUint32 len
,
52 wxUint16 channels
, wxUint32 sample_fq
,
53 wxUint32 byte_p_sec
, wxUint16 byte_p_spl
,
55 bool HandleOutputG721(wxDataInputStream
& data
, wxUint32 len
,
56 wxUint16 channels
, wxUint32 sample_fq
,
57 wxUint32 byte_p_sec
, wxUint16 byte_p_spl
,
59 wxSoundFormatBase
*HandleInputPCM(wxDataOutputStream
& data
);
60 wxSoundFormatBase
*HandleInputG72X(wxDataOutputStream
& data
);