DShowPlugin: Updated to latest Elgato header

Updated to latest Elgato interface header file from
https://github.com/elgatosf/gamecapture
master
FBirth 2015-02-18 14:01:58 +01:00 committed by jp9000
parent 1e5ec749ce
commit 9ade7de22c
1 changed files with 37 additions and 7 deletions

View File

@ -4,15 +4,19 @@
//! @ec @brief Interface declaration for Elgato Video Capture Filter
//! @author F.M.Birth, T.Schnitzler
//! @date 01-Oct-12 FMB - Creation
//! @date 08-Apr-13 TS - Added IVideoCaptureFilter2
//! @date 14-Nov-13 TS - Added IVideoCaptureFilter3
//! @date 21-Jul-14 TS - Added IVideoCaptureFilter4
//! @date 12-Aug-14 TS - Added IVideoCaptureFilter5
//! @date 08-Apr-13 TS - Added <i>IVideoCaptureFilter2</i>
//! @date 14-Nov-13 TS - Added <i>IVideoCaptureFilter3</i>
//! @date 21-Jul-14 TS - Added <i>IVideoCaptureFilter4</i>
//! @date 28-Aug-14 FDj - MIT license added
//! @note Supports Elgato Game Capture HD
//! @date 04-Sep-14 FMB - Added <i>interfaceVersion</i> to VIDEO_CAPTURE_FILTER_SETTINGS_EX
//! @date 29-Jan-15 FMB - Added MPEG-TS Pin to filter, added interface IElgatoVideoCaptureFilter6
//!
//! @note The DirectShow filter works with
//! - Elgato Game Capture HD
//! - Elgato Game Capture HD60
//! @bc -----------------------------------------------------------------------
//! @ec @par Copyright
//! @n (c) 2012-14, Elgato Systems. All Rights Reserved.
//! @n (c) 2012-15, Elgato Systems. All Rights Reserved.
//! @n
//! @n The MIT License (MIT)
//! @n
@ -44,6 +48,14 @@
#define VIDEO_CAPTURE_FILTER_NAME "Elgato Game Capture HD"
#define VIDEO_CAPTURE_FILTER_NAME_L L"Elgato Game Capture HD"
#define ELGATO_VCF_VIDEO_PID 100 //!< video PID in MPEG-TS stream
#define ELGATO_VCF_AUDIO_PID 101 //!< audio PID in MPEG-TS stream
//! Interface version:
//! - 1st digit: interface version (e.g. 5 for IElgatoVideoCaptureFilter5)
//! - 2nd digit: revision (changed e.g. when reserved fields in structures changed their meaning)
#define VIDEO_CAPTURE_FILTER_INTERFACE_VERSION 60
// {39F50F4C-99E1-464a-B6F9-D605B4FB5918}
DEFINE_GUID(CLSID_ElgatoVideoCaptureFilter,
0x39f50f4c, 0x99e1, 0x464a, 0xb6, 0xf9, 0xd6, 0x5, 0xb4, 0xfb, 0x59, 0x18);
@ -72,6 +84,11 @@ DEFINE_GUID(IID_IElgatoVideoCaptureFilter4,
DEFINE_GUID(IID_IElgatoVideoCaptureFilter5,
0x7e6e9e9e, 0x4062, 0x4364, 0x99, 0xb1, 0x15, 0xc2, 0xf6, 0x62, 0xb5, 0x2);
// {39F50F4C-99E1-464a-B6F9-D605B4FB5925}
DEFINE_GUID(IID_IElgatoVideoCaptureFilter6,
0x39f50f4c, 0x99e1, 0x464a, 0xb6, 0xf9, 0xd6, 0x05, 0xb4, 0xfb, 0x59, 0x25);
/*=============================================================================
// IElgatoVideoCaptureFilter
=============================================================================*/
@ -226,10 +243,14 @@ typedef struct _VIDEO_CAPTURE_FILTER_SETTINGS_EX
{
VIDEO_CAPTURE_FILTER_SETTINGS Settings;
BOOL enableFullFrameRate; //!< Enable full frame rate (50/60 fps)
BYTE reserved[20 * 1024];
BYTE reserved[20 * 1024 - sizeof(DWORD)];
DWORD interfaceVersion; //!< Clients need to set this value to VIDEO_CAPTURE_FILTER_INTERFACE_VERSION
}VIDEO_CAPTURE_FILTER_SETTINGS_EX, *PVIDEO_CAPTURE_FILTER_SETTINGS_EX;
typedef const VIDEO_CAPTURE_FILTER_SETTINGS_EX* PCVIDEO_CAPTURE_FILTER_SETTINGS_EX;
//! Interface IElgatoVideoCaptureFilter5
DECLARE_INTERFACE_(IElgatoVideoCaptureFilter5, IElgatoVideoCaptureFilter4)
{
//! Get current settings
@ -238,3 +259,12 @@ DECLARE_INTERFACE_(IElgatoVideoCaptureFilter5, IElgatoVideoCaptureFilter4)
//! Set settings
STDMETHOD(SetSettingsEx)(THIS_ PCVIDEO_CAPTURE_FILTER_SETTINGS_EX pcSettings) PURE;
};
//! Interface IElgatoVideoCaptureFilter6
DECLARE_INTERFACE_(IElgatoVideoCaptureFilter6, IElgatoVideoCaptureFilter5)
{
//! Get A/V delay in milli-seconds
//! @param pnDelayMs latency of stream in milliseconds
//! @param forCompressedData true -> get delay for MPEG-TS pin, false -> get delay for audio/video pins
STDMETHOD(GetDelayMs)(THIS_ __out int* pnDelayMs, __in bool forCompressedData) PURE;
};