aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/avi
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/public/avi
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/public/avi')
-rw-r--r--mp/src/public/avi/iavi.h268
-rw-r--r--mp/src/public/avi/iquicktime.h348
2 files changed, 308 insertions, 308 deletions
diff --git a/mp/src/public/avi/iavi.h b/mp/src/public/avi/iavi.h
index 1c3893f7..11433104 100644
--- a/mp/src/public/avi/iavi.h
+++ b/mp/src/public/avi/iavi.h
@@ -1,134 +1,134 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// The copyright to the contents herein is the property of Valve, L.L.C.
-// The contents may be used and/or copied only with the written permission of
-// Valve, L.L.C., or in accordance with the terms and conditions stipulated in
-// the agreement/contract under which the contents have been supplied.
-//
-//=============================================================================
-
-#ifndef IAVI_H
-#define IAVI_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "appframework/IAppSystem.h"
-
-//-----------------------------------------------------------------------------
-// Forward declarations
-//-----------------------------------------------------------------------------
-struct BGR888_t;
-class IMaterial;
-
-
-//-----------------------------------------------------------------------------
-// Parameters for creating a new AVI
-//-----------------------------------------------------------------------------
-struct AVIParams_t
-{
- AVIParams_t() :
- m_nFrameRate( 0 ), m_nFrameScale( 1 ), m_nWidth( 0 ), m_nHeight( 0 ),
- m_nSampleRate( 0 ), m_nSampleBits( 0 ), m_nNumChannels( 0 ), m_bGetCodecFromUser( true )
- {
- m_pFileName[ 0 ] = 0;
- }
-
- char m_pFileName[ 256 ];
- char m_pPathID[ 256 ];
-
- // fps = m_nFrameRate / m_nFrameScale
- // for integer framerates, set framerate to the fps, and framescale to 1
- // for ntsc-style framerates like 29.97 (or 23.976 or 59.94),
- // set framerate to 30,000 (or 24,000 or 60,000) and framescale to 1001
- // yes, framescale is an odd naming choice, but it matching MS's AVI api
- int m_nFrameRate;
- int m_nFrameScale;
-
- int m_nWidth;
- int m_nHeight;
-
- // Sound/.wav info
- int m_nSampleRate;
- int m_nSampleBits;
- int m_nNumChannels;
-
- // The user will be asked to select a compressor if true, otherwise the
- // previous or default will be used.
- bool m_bGetCodecFromUser;
-};
-
-
-//-----------------------------------------------------------------------------
-// Handle to an AVI
-//-----------------------------------------------------------------------------
-typedef unsigned short AVIHandle_t;
-enum
-{
- AVIHANDLE_INVALID = (AVIHandle_t)~0
-};
-
-
-//-----------------------------------------------------------------------------
-// Handle to an AVI material
-//-----------------------------------------------------------------------------
-typedef unsigned short AVIMaterial_t;
-enum
-{
- AVIMATERIAL_INVALID = (AVIMaterial_t)~0
-};
-
-
-//-----------------------------------------------------------------------------
-// Main AVI interface
-//-----------------------------------------------------------------------------
-#define AVI_INTERFACE_VERSION "VAvi001"
-
-class IAvi : public IAppSystem
-{
-public:
- // Necessary to call this before any other AVI interface methods
- virtual void SetMainWindow( void* hWnd ) = 0;
-
- // Start/stop recording an AVI
- virtual AVIHandle_t StartAVI( const AVIParams_t& params ) = 0;
- virtual void FinishAVI( AVIHandle_t handle ) = 0;
-
- // Add frames to an AVI
- virtual void AppendMovieSound( AVIHandle_t h, short *buf, size_t bufsize ) = 0;
- virtual void AppendMovieFrame( AVIHandle_t h, const BGR888_t *pRGBData ) = 0;
-
- // Create/destroy an AVI material (a materialsystem IMaterial)
- virtual AVIMaterial_t CreateAVIMaterial( const char *pMaterialName, const char *pFileName, const char *pPathID ) = 0;
- virtual void DestroyAVIMaterial( AVIMaterial_t hMaterial ) = 0;
-
- // Sets the time for an AVI material
- virtual void SetTime( AVIMaterial_t hMaterial, float flTime ) = 0;
-
- // Gets the IMaterial associated with an AVI material
- virtual IMaterial* GetMaterial( AVIMaterial_t hMaterial ) = 0;
-
- // Returns the max texture coordinate of the AVI
- virtual void GetTexCoordRange( AVIMaterial_t hMaterial, float *pMaxU, float *pMaxV ) = 0;
-
- // Returns the frame size of the AVI (stored in a subrect of the material itself)
- virtual void GetFrameSize( AVIMaterial_t hMaterial, int *pWidth, int *pHeight ) = 0;
-
- // Returns the frame rate of the AVI
- virtual int GetFrameRate( AVIMaterial_t hMaterial ) = 0;
-
- // Returns the total frame count of the AVI
- virtual int GetFrameCount( AVIMaterial_t hMaterial ) = 0;
-
- // Sets the frame for an AVI material (use instead of SetTime)
- virtual void SetFrame( AVIMaterial_t hMaterial, float flFrame ) = 0;
-
- // Plays a given AVI/WMV file until it completes or the user presses ESC, SPACE, or ENTER
- virtual void PlayWindowsMediaVideo( const char *filename, void *mainWindow, int width, int height, float forcedMinTime ) = 0;
-
-};
-
-
-
-#endif // IAVI_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// The copyright to the contents herein is the property of Valve, L.L.C.
+// The contents may be used and/or copied only with the written permission of
+// Valve, L.L.C., or in accordance with the terms and conditions stipulated in
+// the agreement/contract under which the contents have been supplied.
+//
+//=============================================================================
+
+#ifndef IAVI_H
+#define IAVI_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "appframework/IAppSystem.h"
+
+//-----------------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------------
+struct BGR888_t;
+class IMaterial;
+
+
+//-----------------------------------------------------------------------------
+// Parameters for creating a new AVI
+//-----------------------------------------------------------------------------
+struct AVIParams_t
+{
+ AVIParams_t() :
+ m_nFrameRate( 0 ), m_nFrameScale( 1 ), m_nWidth( 0 ), m_nHeight( 0 ),
+ m_nSampleRate( 0 ), m_nSampleBits( 0 ), m_nNumChannels( 0 ), m_bGetCodecFromUser( true )
+ {
+ m_pFileName[ 0 ] = 0;
+ }
+
+ char m_pFileName[ 256 ];
+ char m_pPathID[ 256 ];
+
+ // fps = m_nFrameRate / m_nFrameScale
+ // for integer framerates, set framerate to the fps, and framescale to 1
+ // for ntsc-style framerates like 29.97 (or 23.976 or 59.94),
+ // set framerate to 30,000 (or 24,000 or 60,000) and framescale to 1001
+ // yes, framescale is an odd naming choice, but it matching MS's AVI api
+ int m_nFrameRate;
+ int m_nFrameScale;
+
+ int m_nWidth;
+ int m_nHeight;
+
+ // Sound/.wav info
+ int m_nSampleRate;
+ int m_nSampleBits;
+ int m_nNumChannels;
+
+ // The user will be asked to select a compressor if true, otherwise the
+ // previous or default will be used.
+ bool m_bGetCodecFromUser;
+};
+
+
+//-----------------------------------------------------------------------------
+// Handle to an AVI
+//-----------------------------------------------------------------------------
+typedef unsigned short AVIHandle_t;
+enum
+{
+ AVIHANDLE_INVALID = (AVIHandle_t)~0
+};
+
+
+//-----------------------------------------------------------------------------
+// Handle to an AVI material
+//-----------------------------------------------------------------------------
+typedef unsigned short AVIMaterial_t;
+enum
+{
+ AVIMATERIAL_INVALID = (AVIMaterial_t)~0
+};
+
+
+//-----------------------------------------------------------------------------
+// Main AVI interface
+//-----------------------------------------------------------------------------
+#define AVI_INTERFACE_VERSION "VAvi001"
+
+class IAvi : public IAppSystem
+{
+public:
+ // Necessary to call this before any other AVI interface methods
+ virtual void SetMainWindow( void* hWnd ) = 0;
+
+ // Start/stop recording an AVI
+ virtual AVIHandle_t StartAVI( const AVIParams_t& params ) = 0;
+ virtual void FinishAVI( AVIHandle_t handle ) = 0;
+
+ // Add frames to an AVI
+ virtual void AppendMovieSound( AVIHandle_t h, short *buf, size_t bufsize ) = 0;
+ virtual void AppendMovieFrame( AVIHandle_t h, const BGR888_t *pRGBData ) = 0;
+
+ // Create/destroy an AVI material (a materialsystem IMaterial)
+ virtual AVIMaterial_t CreateAVIMaterial( const char *pMaterialName, const char *pFileName, const char *pPathID ) = 0;
+ virtual void DestroyAVIMaterial( AVIMaterial_t hMaterial ) = 0;
+
+ // Sets the time for an AVI material
+ virtual void SetTime( AVIMaterial_t hMaterial, float flTime ) = 0;
+
+ // Gets the IMaterial associated with an AVI material
+ virtual IMaterial* GetMaterial( AVIMaterial_t hMaterial ) = 0;
+
+ // Returns the max texture coordinate of the AVI
+ virtual void GetTexCoordRange( AVIMaterial_t hMaterial, float *pMaxU, float *pMaxV ) = 0;
+
+ // Returns the frame size of the AVI (stored in a subrect of the material itself)
+ virtual void GetFrameSize( AVIMaterial_t hMaterial, int *pWidth, int *pHeight ) = 0;
+
+ // Returns the frame rate of the AVI
+ virtual int GetFrameRate( AVIMaterial_t hMaterial ) = 0;
+
+ // Returns the total frame count of the AVI
+ virtual int GetFrameCount( AVIMaterial_t hMaterial ) = 0;
+
+ // Sets the frame for an AVI material (use instead of SetTime)
+ virtual void SetFrame( AVIMaterial_t hMaterial, float flFrame ) = 0;
+
+ // Plays a given AVI/WMV file until it completes or the user presses ESC, SPACE, or ENTER
+ virtual void PlayWindowsMediaVideo( const char *filename, void *mainWindow, int width, int height, float forcedMinTime ) = 0;
+
+};
+
+
+
+#endif // IAVI_H
diff --git a/mp/src/public/avi/iquicktime.h b/mp/src/public/avi/iquicktime.h
index 06ab5803..83867e74 100644
--- a/mp/src/public/avi/iquicktime.h
+++ b/mp/src/public/avi/iquicktime.h
@@ -1,174 +1,174 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// The copyright to the contents herein is the property of Valve, L.L.C.
-// The contents may be used and/or copied only with the written permission of
-// Valve, L.L.C., or in accordance with the terms and conditions stipulated in
-// the agreement/contract under which the contents have been supplied.
-//
-//=============================================================================
-
-#ifndef IQUICKTIME_H
-#define IQUICKTIME_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-
-#include "appframework/IAppSystem.h"
-
-//-----------------------------------------------------------------------------
-// Forward declarations
-//-----------------------------------------------------------------------------
-struct BGR888_t;
-class IMaterial;
-
-
-//-----------------------------------------------------------------------------
-// Handle to a QUICKTIME
-//-----------------------------------------------------------------------------
-typedef unsigned short QUICKTIMEHandle_t;
-enum
-{
- QUICKTIMEHANDLE_INVALID = (QUICKTIMEHandle_t)~0
-};
-
-
-//-----------------------------------------------------------------------------
-// Handle to an QUICKTIME material
-//-----------------------------------------------------------------------------
-typedef unsigned short QUICKTIMEMaterial_t;
-enum
-{
- QUICKTIMEMATERIAL_INVALID = (QUICKTIMEMaterial_t)~0
-};
-
-typedef unsigned int MovieHandle_t;
-const MovieHandle_t cInvalidMovieHandle = (MovieHandle_t) ~0;
-
-enum eVideoSystemStatus
-{
- cVideoSystem_OK = 0,
- cVideoSystem_NotInstalled,
- cVideoSystem_NotCurrentVersion,
- cVideoSystem_InitializationError,
-
- cVideoSystem_ForceInt32 = 0x7FFFFFFF // Make sure eNum is (at least) an int32
-};
-
-
-enum eVideoSystemFeatures
-{
- cVideoSystem_NoFeatures = 0x00000000,
- cVideoSystem_PlayMoviesFromFile = 0x00000001,
- cVideoSystem_RenderVideoFrameToMaterial = 0x00000002,
- cVideoSystem_EncodeVideoToFile = 0x00000010,
- cVideoSystem_EncodeAudioToFile = 0x00000020,
-
- cVideoSystem_ForceInt32a = 0x7FFFFFFF
-};
-
-DEFINE_ENUM_BITWISE_OPERATORS( eVideoSystemFeatures );
-
-enum eVideoEncodeQuality
-{
- cVEQuality_Min = 0,
- cVEQuality_Low = 25,
- cVEQuality_Normal = 50,
- cVEQuality_High = 75,
- cVEQuality_Max = 100
-};
-
-// -----------------------------------------------------------------------
-// eVideoFrameFormat_t - bit format for quicktime video frames
-// -----------------------------------------------------------------------
-enum eVideoFrameFormat_t
-{
- cVFF_Undefined = 0,
- cVFF_R8G8B8A8_32Bit,
- cVFF_R8G8B8_24Bit,
-
- cVFF_Count, // Auto list counter
- cVFF_ForceInt32 = 0x7FFFFFFF // Make sure eNum is (at least) an int32
-};
-
-// -----------------------------------------------------------------------
-// eAudioSourceFormat_t - Audio encoding source options
-// -----------------------------------------------------------------------
-enum eAudioSourceFormat_t
-{
- cASF_Undefined = 0,
- cASF_None,
- cASF_16BitPCMStereo,
-
- cASF_Count, // Auto list counter
- cASF_ForceInt32 = 0x7FFFFFFF // Make sure eNum is (at least) an int32
-};
-
-
-
-//-----------------------------------------------------------------------------
-// IQuickTimeMovieMaker interface
-//-----------------------------------------------------------------------------
-class IQuickTimeMovieMaker : public IBaseInterface
-{
-public:
- virtual bool CreateNewMovieFile( MovieHandle_t &theMovie, const char *pFilename, int nWidth, int nHeight, int nFps, eVideoEncodeQuality quality, eAudioSourceFormat_t srcAudioFormat = cASF_None, int audioSampleRate = 0 ) = 0;
- virtual bool AppendVideoFrame( MovieHandle_t theMovie, unsigned char *pFrame ) = 0;
- virtual bool AppendAudioSamples( MovieHandle_t theMovie, void *sampleBuffer, size_t sampleSize ) = 0;
- virtual bool FinishMovie( MovieHandle_t theMovie, bool success = true ) = 0;
-};
-
-//-----------------------------------------------------------------------------
-// Main QUICKTIME interface
-//-----------------------------------------------------------------------------
-#define QUICKTIME_INTERFACE_VERSION "IQuickTime002"
-
-class IQuickTime : public IAppSystem
-{
-public:
- virtual bool IsVideoSystemAvailable() = 0;
- virtual eVideoSystemStatus GetVideoSystemStatus() = 0;
- virtual eVideoSystemFeatures GetVideoSystemFeatures() = 0;
-
- // Create/destroy a QUICKTIME material (a materialsystem IMaterial)
- virtual QUICKTIMEMaterial_t CreateMaterial( const char *pMaterialName, const char *pFileName, const char *pPathID ) = 0;
- virtual void DestroyMaterial( QUICKTIMEMaterial_t hMaterial ) = 0;
-
- // Create/destroy a quicktime movie maker, which will encode audio/video
- virtual IQuickTimeMovieMaker *CreateMovieMaker() = 0;
- virtual void DestroyMovieMaker( IQuickTimeMovieMaker *&pMovieMaker ) = 0;
-
- // Update the frame (if necessary)
- virtual bool Update( QUICKTIMEMaterial_t hMaterial ) = 0;
-
- // Gets the IMaterial associated with an BINK material
- virtual IMaterial* GetMaterial( QUICKTIMEMaterial_t hMaterial ) = 0;
-
- // Returns the max texture coordinate of the BINK
- virtual void GetTexCoordRange( QUICKTIMEMaterial_t hMaterial, float *pMaxU, float *pMaxV ) = 0;
-
- // Returns the frame size of the QUICKTIME Image Frame (stored in a subrect of the material itself)
- virtual void GetFrameSize( QUICKTIMEMaterial_t hMaterial, int *pWidth, int *pHeight ) = 0;
-
- // Returns the frame rate of the QUICKTIME
- virtual int GetFrameRate( QUICKTIMEMaterial_t hMaterial ) = 0;
-
- // Sets the frame for an BINK material (use instead of SetTime)
- virtual void SetFrame( QUICKTIMEMaterial_t hMaterial, float flFrame ) = 0;
-
- // Returns the total frame count of the BINK
- virtual int GetFrameCount( QUICKTIMEMaterial_t hMaterial ) = 0;
-
- virtual bool SetSoundDevice( void *pDevice ) = 0;
-
- // Plays a given MOV file until it completes or the user presses ESC, SPACE, or ENTER
- virtual void PlayQuicktimeVideo( const char *filename, void *mainWindow, int windowWidth, int windowHeight, int desktopWidth, int desktopHeight, bool windowed, float forcedMinTime ) = 0;
-
- // Estimates the size of a recorded movie
- virtual bool EstimateMovieSize( unsigned long &EstSize, int nWidth, int nHeight, int nFps, float duration, eVideoEncodeQuality quality, eAudioSourceFormat_t srcAudioFormat = cASF_None, int audioSampleRate = 0 ) = 0;
-
-};
-
-
-#endif // IQUICKTIME_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// The copyright to the contents herein is the property of Valve, L.L.C.
+// The contents may be used and/or copied only with the written permission of
+// Valve, L.L.C., or in accordance with the terms and conditions stipulated in
+// the agreement/contract under which the contents have been supplied.
+//
+//=============================================================================
+
+#ifndef IQUICKTIME_H
+#define IQUICKTIME_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+#include "appframework/IAppSystem.h"
+
+//-----------------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------------
+struct BGR888_t;
+class IMaterial;
+
+
+//-----------------------------------------------------------------------------
+// Handle to a QUICKTIME
+//-----------------------------------------------------------------------------
+typedef unsigned short QUICKTIMEHandle_t;
+enum
+{
+ QUICKTIMEHANDLE_INVALID = (QUICKTIMEHandle_t)~0
+};
+
+
+//-----------------------------------------------------------------------------
+// Handle to an QUICKTIME material
+//-----------------------------------------------------------------------------
+typedef unsigned short QUICKTIMEMaterial_t;
+enum
+{
+ QUICKTIMEMATERIAL_INVALID = (QUICKTIMEMaterial_t)~0
+};
+
+typedef unsigned int MovieHandle_t;
+const MovieHandle_t cInvalidMovieHandle = (MovieHandle_t) ~0;
+
+enum eVideoSystemStatus
+{
+ cVideoSystem_OK = 0,
+ cVideoSystem_NotInstalled,
+ cVideoSystem_NotCurrentVersion,
+ cVideoSystem_InitializationError,
+
+ cVideoSystem_ForceInt32 = 0x7FFFFFFF // Make sure eNum is (at least) an int32
+};
+
+
+enum eVideoSystemFeatures
+{
+ cVideoSystem_NoFeatures = 0x00000000,
+ cVideoSystem_PlayMoviesFromFile = 0x00000001,
+ cVideoSystem_RenderVideoFrameToMaterial = 0x00000002,
+ cVideoSystem_EncodeVideoToFile = 0x00000010,
+ cVideoSystem_EncodeAudioToFile = 0x00000020,
+
+ cVideoSystem_ForceInt32a = 0x7FFFFFFF
+};
+
+DEFINE_ENUM_BITWISE_OPERATORS( eVideoSystemFeatures );
+
+enum eVideoEncodeQuality
+{
+ cVEQuality_Min = 0,
+ cVEQuality_Low = 25,
+ cVEQuality_Normal = 50,
+ cVEQuality_High = 75,
+ cVEQuality_Max = 100
+};
+
+// -----------------------------------------------------------------------
+// eVideoFrameFormat_t - bit format for quicktime video frames
+// -----------------------------------------------------------------------
+enum eVideoFrameFormat_t
+{
+ cVFF_Undefined = 0,
+ cVFF_R8G8B8A8_32Bit,
+ cVFF_R8G8B8_24Bit,
+
+ cVFF_Count, // Auto list counter
+ cVFF_ForceInt32 = 0x7FFFFFFF // Make sure eNum is (at least) an int32
+};
+
+// -----------------------------------------------------------------------
+// eAudioSourceFormat_t - Audio encoding source options
+// -----------------------------------------------------------------------
+enum eAudioSourceFormat_t
+{
+ cASF_Undefined = 0,
+ cASF_None,
+ cASF_16BitPCMStereo,
+
+ cASF_Count, // Auto list counter
+ cASF_ForceInt32 = 0x7FFFFFFF // Make sure eNum is (at least) an int32
+};
+
+
+
+//-----------------------------------------------------------------------------
+// IQuickTimeMovieMaker interface
+//-----------------------------------------------------------------------------
+class IQuickTimeMovieMaker : public IBaseInterface
+{
+public:
+ virtual bool CreateNewMovieFile( MovieHandle_t &theMovie, const char *pFilename, int nWidth, int nHeight, int nFps, eVideoEncodeQuality quality, eAudioSourceFormat_t srcAudioFormat = cASF_None, int audioSampleRate = 0 ) = 0;
+ virtual bool AppendVideoFrame( MovieHandle_t theMovie, unsigned char *pFrame ) = 0;
+ virtual bool AppendAudioSamples( MovieHandle_t theMovie, void *sampleBuffer, size_t sampleSize ) = 0;
+ virtual bool FinishMovie( MovieHandle_t theMovie, bool success = true ) = 0;
+};
+
+//-----------------------------------------------------------------------------
+// Main QUICKTIME interface
+//-----------------------------------------------------------------------------
+#define QUICKTIME_INTERFACE_VERSION "IQuickTime002"
+
+class IQuickTime : public IAppSystem
+{
+public:
+ virtual bool IsVideoSystemAvailable() = 0;
+ virtual eVideoSystemStatus GetVideoSystemStatus() = 0;
+ virtual eVideoSystemFeatures GetVideoSystemFeatures() = 0;
+
+ // Create/destroy a QUICKTIME material (a materialsystem IMaterial)
+ virtual QUICKTIMEMaterial_t CreateMaterial( const char *pMaterialName, const char *pFileName, const char *pPathID ) = 0;
+ virtual void DestroyMaterial( QUICKTIMEMaterial_t hMaterial ) = 0;
+
+ // Create/destroy a quicktime movie maker, which will encode audio/video
+ virtual IQuickTimeMovieMaker *CreateMovieMaker() = 0;
+ virtual void DestroyMovieMaker( IQuickTimeMovieMaker *&pMovieMaker ) = 0;
+
+ // Update the frame (if necessary)
+ virtual bool Update( QUICKTIMEMaterial_t hMaterial ) = 0;
+
+ // Gets the IMaterial associated with an BINK material
+ virtual IMaterial* GetMaterial( QUICKTIMEMaterial_t hMaterial ) = 0;
+
+ // Returns the max texture coordinate of the BINK
+ virtual void GetTexCoordRange( QUICKTIMEMaterial_t hMaterial, float *pMaxU, float *pMaxV ) = 0;
+
+ // Returns the frame size of the QUICKTIME Image Frame (stored in a subrect of the material itself)
+ virtual void GetFrameSize( QUICKTIMEMaterial_t hMaterial, int *pWidth, int *pHeight ) = 0;
+
+ // Returns the frame rate of the QUICKTIME
+ virtual int GetFrameRate( QUICKTIMEMaterial_t hMaterial ) = 0;
+
+ // Sets the frame for an BINK material (use instead of SetTime)
+ virtual void SetFrame( QUICKTIMEMaterial_t hMaterial, float flFrame ) = 0;
+
+ // Returns the total frame count of the BINK
+ virtual int GetFrameCount( QUICKTIMEMaterial_t hMaterial ) = 0;
+
+ virtual bool SetSoundDevice( void *pDevice ) = 0;
+
+ // Plays a given MOV file until it completes or the user presses ESC, SPACE, or ENTER
+ virtual void PlayQuicktimeVideo( const char *filename, void *mainWindow, int windowWidth, int windowHeight, int desktopWidth, int desktopHeight, bool windowed, float forcedMinTime ) = 0;
+
+ // Estimates the size of a recorded movie
+ virtual bool EstimateMovieSize( unsigned long &EstSize, int nWidth, int nHeight, int nFps, float duration, eVideoEncodeQuality quality, eAudioSourceFormat_t srcAudioFormat = cASF_None, int audioSampleRate = 0 ) = 0;
+
+};
+
+
+#endif // IQUICKTIME_H