view src/win32/AVIWrite.h @ 1:f9f4f1b99eed

importing src directory
author Robert McIntyre <rlm@mit.edu>
date Sat, 03 Mar 2012 10:31:27 -0600
parents
children
line wrap: on
line source
1 #ifndef VBA_WIN32_AVIWRITE_H
2 #define VBA_WIN32_AVIWRITE_H
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
8 #include <vfw.h>
10 class AVIWrite {
11 public:
12 AVIWrite();
13 virtual ~AVIWrite();
15 bool Open(const char *filename);
16 virtual bool AddFrame(const u8 *bmp);
17 void SetFPS(int fps);
18 void SetVideoFormat(BITMAPINFOHEADER *);
19 bool IsSoundAdded();
20 void SetSoundFormat(WAVEFORMATEX *);
21 bool AddSound(const u8 *sound, int len);
22 int videoFrames();
23 void Pause(bool pause);
24 bool IsPaused();
26 private:
27 int m_fps;
28 WAVEFORMATEX m_soundFormat;
29 BITMAPINFOHEADER m_bitmap;
30 AVISTREAMINFO m_header;
31 AVISTREAMINFO m_soundHeader;
32 PAVIFILE m_file;
33 PAVISTREAM m_stream;
34 PAVISTREAM m_streamCompressed;
35 PAVISTREAM m_streamSound;
36 AVICOMPRESSOPTIONS m_options;
37 AVICOMPRESSOPTIONS *m_arrayOptions[1];
38 int m_videoFrames;
39 int m_samplesSound;
40 int m_videoFramesTotal;
41 int m_samplesSoundTotal;
42 LONG m_totalBytes;
43 bool m_failed;
44 int m_segmentNumber;
45 bool m_usePrevOptions;
46 bool m_pauseRecording;
47 char m_aviFileName[MAX_PATH];
48 char m_aviBaseName[MAX_PATH];
49 char m_aviExtension[MAX_PATH];
50 void CleanUp();
51 bool NextSegment();
52 };
54 #endif // VBA_WIN32_AVIWRITE_H