Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cWaveFile.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_cWaveFile_H
7 #define _INC_cWaveFile_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "../AV/cAVSink.h"
13 #include "../File/cRIFF.h"
14 
15 namespace GrayLib
16 {
17  class cWaveFormat;
18  class cWaveFormatN;
19 
21  {
25  public:
27  virtual ~cWaveFileReader();
28 
29  virtual HRESULT ReadStream() override;
30  static HRESULT GRAYCALL ReadFormatChunk(cWaveFormat& wf, cRIFFReader* pFile, const cRIFFHeadX* pmmCkRIFF);
31 
32  UNITTEST_FRIEND(cWaveFile);
33  };
34 
36  {
40  public:
42  virtual ~cWaveFileWriter();
43 
44  static HRESULT GRAYCALL WriteFormatChunk(const cWaveFormat& wf, cRIFFWriter* pFile);
45 
46  // cAVSink
47  virtual HRESULT OnHeaderOpen(const cAVHeader& head) override;
48  virtual HRESULT OnHeaderStream(const cAVHeaderStream& head, const void* pForm, size_t nSizeForm) override;
49  virtual HRESULT OnHeaderClose() override;
50  virtual HRESULT OnFrame(const cAVHeaderFrame& head, const void* pData, size_t nSizeData) override;
51  virtual HRESULT OnClose() override;
52  };
53 };
54 #endif
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cAVSink.h:80
Definition: cAVSink.h:60
Definition: cAVSink.h:44
Definition: cAVSink.h:181
Definition: cAVSink.h:130
Definition: cRIFFFormat.h:99
Definition: cRIFFFormat.h:120
Definition: cRIFFFormat.h:143
Definition: cWaveFile.h:21
Definition: cWaveFile.h:36
Definition: cWaveFormat.h:151
Definition: cStream.h:306
Definition: cStream.h:126
Definition: cMesh.h:22