]> git.saurik.com Git - wxWidgets.git/blame - contrib/include/wx/mmedia/sndwav.h
wxPalette unified. Source cleaning.
[wxWidgets.git] / contrib / include / wx / mmedia / sndwav.h
CommitLineData
e8482f24
GL
1// --------------------------------------------------------------------------
2// Name: sndwav.h
3// Purpose:
4// Date: 08/11/1999
5// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
6// CVSID: $Id$
05aa8cf3 7// License: wxWindows license
e8482f24
GL
8// --------------------------------------------------------------------------
9#ifndef _WX_SNDWAV_H
10#define _WX_SNDWAV_H
11
e8482f24
GL
12#include "wx/defs.h"
13#include "wx/string.h"
14#include "wx/stream.h"
15#include "wx/datstrm.h"
15e8daec 16#include "wx/mmedia/defs.h"
e8482f24
GL
17#include "wx/mmedia/sndbase.h"
18#include "wx/mmedia/sndcodec.h"
19#include "wx/mmedia/sndfile.h"
20
21//
22// WAVE codec
23//
24
e484a5f8 25class WXDLLIMPEXP_MMEDIA wxSoundWave: public wxSoundFileStream {
e8482f24
GL
26public:
27 wxSoundWave(wxInputStream& stream, wxSoundStream& io_sound);
28 wxSoundWave(wxOutputStream& stream, wxSoundStream& io_sound);
29 ~wxSoundWave();
30
31 bool CanRead();
32 wxString GetCodecName() const;
33
34protected:
35 bool PrepareToPlay();
36 bool PrepareToRecord(wxUint32 time);
37 bool FinishRecording();
38 bool RepositionStream(wxUint32 position);
39
40 wxUint32 GetData(void *buffer, wxUint32 len);
41 wxUint32 PutData(const void *buffer, wxUint32 len);
42
c42b1de6
GL
43 bool HandleOutputPCM(wxDataInputStream& data, wxUint32 len,
44 wxUint16 channels, wxUint32 sample_fq,
45 wxUint32 byte_p_sec, wxUint16 byte_p_spl,
46 wxUint16 bits_p_spl);
47 bool HandleOutputMSADPCM(wxDataInputStream& data, wxUint32 len,
48 wxUint16 channels, wxUint32 sample_fq,
49 wxUint32 byte_p_sec, wxUint16 byte_p_spl,
50 wxUint16 bits_p_spl);
51 bool HandleOutputG721(wxDataInputStream& data, wxUint32 len,
52 wxUint16 channels, wxUint32 sample_fq,
53 wxUint32 byte_p_sec, wxUint16 byte_p_spl,
54 wxUint16 bits_p_spl);
e8482f24
GL
55 wxSoundFormatBase *HandleInputPCM(wxDataOutputStream& data);
56 wxSoundFormatBase *HandleInputG72X(wxDataOutputStream& data);
57
58protected:
59 off_t m_base_offset;
60};
61
62#endif