diff options
author | Jean-Francois Mauguit <jfmauguit@mac.com> | 2024-09-24 09:03:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-24 09:03:25 -0400 |
commit | bab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/libvp6/include/VFWSetting.hpp | |
parent | 4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff) | |
parent | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff) | |
download | winamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz |
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/libvp6/include/VFWSetting.hpp')
-rw-r--r-- | Src/libvp6/include/VFWSetting.hpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Src/libvp6/include/VFWSetting.hpp b/Src/libvp6/include/VFWSetting.hpp new file mode 100644 index 00000000..c7683a8c --- /dev/null +++ b/Src/libvp6/include/VFWSetting.hpp @@ -0,0 +1,65 @@ +#if !defined(VFWSETTING_HPP) +#define VFWSETTING_HPP +//______________________________________________________________________________ +// +// VFWSetting.hpp +// + +#include "FourCC.hpp" +#include <iosfwd> + +namespace on2vp +{ + + //-------------------------------------- + class VFWSetting + { + friend std::ostream& operator<<(std::ostream& os, const VFWSetting& vfws); + + public: + + enum Mode + { + M_Setting, + M_Config + }; + + enum + { + HeaderSize = 8, + Size = 16 + }; + + VFWSetting(FourCC fcc); + ~VFWSetting(); + + FourCC fcc() const; + Mode mode() const; + + int setting() const; + int value() const; + void settingValue(int iSetting, int iValue); // Sets mode to M_Setting + + long size() const; + const void* data() const; + int data(const void* pData, unsigned long ulSize); + + private: + + VFWSetting(const VFWSetting& vfws); // Not implemented + VFWSetting& operator=(const VFWSetting& vfws); // Not implemented + + int extract_(const void* pData, unsigned long ulSize); + void update_() const; + + FourCC m_fcc; + Mode m_mode; + int m_iSetting; + int m_iValue; + + mutable unsigned char m_pData[Size]; + }; + +} // namespace on2vp + +#endif // VFWSETTING_HPP |