ReactOS  0.4.12-dev-57-g7050ac4
audio_resampler_acm.hpp
Go to the documentation of this file.
1 /* PROJECT: ReactOS sndrec32
2  * LICENSE: GPL - See COPYING in the top level directory
3  * FILE: base/applications/sndrec32/audio_resampler_acm.hpp
4  * PURPOSE: Windows ACM wrapper
5  * PROGRAMMERS: Marco Pagliaricci (irc: rendar)
6  */
7 
8 #ifndef _AUDIORESAMPLERACM__H_
9 #define _AUDIORESAMPLERACM__H_
10 
11 #include "audio_receiver.hpp"
12 #include "audio_format.hpp"
13 
15 
16 /* TODO: inherit from a base resampler? */
18 {
19  private:
20  void init_(void);
21 
22  protected:
23  HACMSTREAM acm_stream;
28 
31 
32  float buf_secs;
33 
36 
37  public:
38  /* Ctors */
40  audio_format fmt_out) : acm_stream(0),
41  src_buflen(0),
42  dst_buflen(0),
43  stream_opened(false),
44  audfmt_in(fmt_in),
45  audfmt_out(fmt_out),
46  buf_secs(_AUDIO_DEFAULT_BUFSECS)
47  {
48  init_();
49  }
50 
51  /* Dtor */
53  {
54  }
55 
56  /* Public functions */
57  void open(void);
58  void close(void);
59  void audio_receive(unsigned char *, unsigned int);
60 };
61 
63 
64 #endif /* _AUDIORESAMPLERACM__H_ */
#define _AUDIO_NAMESPACE_START_
Definition: audio_def.hpp:24
#define _AUDIO_DEFAULT_BUFSECS
Definition: audio_def.hpp:21
void audio_receive(unsigned char *, unsigned int)
unsigned long DWORD
Definition: ntddk_ex.h:95
#define false
Definition: stdbool.h:38
#define _AUDIO_NAMESPACE_END_
Definition: audio_def.hpp:25
ACMSTREAMHEADER acm_header
audio_resampler_acm(audio_format fmt_in, audio_format fmt_out)