Mercurial > vba-linux
annotate src/win32/AVIWrite.h @ 2:3549bbe597ed
adding makefile.am
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:47 -0600 |
parents | f9f4f1b99eed |
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 |