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