DShowPlugin: Updated to latest Elgato header
Updated to latest Elgato interface header file from https://github.com/elgatosf/gamecapture
This commit is contained in:
parent
1e5ec749ce
commit
9ade7de22c
@ -4,15 +4,19 @@
|
|||||||
//! @ec @brief Interface declaration for Elgato Video Capture Filter
|
//! @ec @brief Interface declaration for Elgato Video Capture Filter
|
||||||
//! @author F.M.Birth, T.Schnitzler
|
//! @author F.M.Birth, T.Schnitzler
|
||||||
//! @date 01-Oct-12 FMB - Creation
|
//! @date 01-Oct-12 FMB - Creation
|
||||||
//! @date 08-Apr-13 TS - Added IVideoCaptureFilter2
|
//! @date 08-Apr-13 TS - Added <i>IVideoCaptureFilter2</i>
|
||||||
//! @date 14-Nov-13 TS - Added IVideoCaptureFilter3
|
//! @date 14-Nov-13 TS - Added <i>IVideoCaptureFilter3</i>
|
||||||
//! @date 21-Jul-14 TS - Added IVideoCaptureFilter4
|
//! @date 21-Jul-14 TS - Added <i>IVideoCaptureFilter4</i>
|
||||||
//! @date 12-Aug-14 TS - Added IVideoCaptureFilter5
|
|
||||||
//! @date 28-Aug-14 FDj - MIT license added
|
//! @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 -----------------------------------------------------------------------
|
//! @bc -----------------------------------------------------------------------
|
||||||
//! @ec @par Copyright
|
//! @ec @par Copyright
|
||||||
//! @n (c) 2012-14, Elgato Systems. All Rights Reserved.
|
//! @n (c) 2012-15, Elgato Systems. All Rights Reserved.
|
||||||
//! @n
|
//! @n
|
||||||
//! @n The MIT License (MIT)
|
//! @n The MIT License (MIT)
|
||||||
//! @n
|
//! @n
|
||||||
@ -44,6 +48,14 @@
|
|||||||
#define VIDEO_CAPTURE_FILTER_NAME "Elgato Game Capture HD"
|
#define VIDEO_CAPTURE_FILTER_NAME "Elgato Game Capture HD"
|
||||||
#define VIDEO_CAPTURE_FILTER_NAME_L L"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}
|
// {39F50F4C-99E1-464a-B6F9-D605B4FB5918}
|
||||||
DEFINE_GUID(CLSID_ElgatoVideoCaptureFilter,
|
DEFINE_GUID(CLSID_ElgatoVideoCaptureFilter,
|
||||||
0x39f50f4c, 0x99e1, 0x464a, 0xb6, 0xf9, 0xd6, 0x5, 0xb4, 0xfb, 0x59, 0x18);
|
0x39f50f4c, 0x99e1, 0x464a, 0xb6, 0xf9, 0xd6, 0x5, 0xb4, 0xfb, 0x59, 0x18);
|
||||||
@ -72,6 +84,11 @@ DEFINE_GUID(IID_IElgatoVideoCaptureFilter4,
|
|||||||
DEFINE_GUID(IID_IElgatoVideoCaptureFilter5,
|
DEFINE_GUID(IID_IElgatoVideoCaptureFilter5,
|
||||||
0x7e6e9e9e, 0x4062, 0x4364, 0x99, 0xb1, 0x15, 0xc2, 0xf6, 0x62, 0xb5, 0x2);
|
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
|
// IElgatoVideoCaptureFilter
|
||||||
=============================================================================*/
|
=============================================================================*/
|
||||||
@ -226,10 +243,14 @@ typedef struct _VIDEO_CAPTURE_FILTER_SETTINGS_EX
|
|||||||
{
|
{
|
||||||
VIDEO_CAPTURE_FILTER_SETTINGS Settings;
|
VIDEO_CAPTURE_FILTER_SETTINGS Settings;
|
||||||
BOOL enableFullFrameRate; //!< Enable full frame rate (50/60 fps)
|
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;
|
}VIDEO_CAPTURE_FILTER_SETTINGS_EX, *PVIDEO_CAPTURE_FILTER_SETTINGS_EX;
|
||||||
typedef const VIDEO_CAPTURE_FILTER_SETTINGS_EX* PCVIDEO_CAPTURE_FILTER_SETTINGS_EX;
|
typedef const VIDEO_CAPTURE_FILTER_SETTINGS_EX* PCVIDEO_CAPTURE_FILTER_SETTINGS_EX;
|
||||||
|
|
||||||
|
//! Interface IElgatoVideoCaptureFilter5
|
||||||
DECLARE_INTERFACE_(IElgatoVideoCaptureFilter5, IElgatoVideoCaptureFilter4)
|
DECLARE_INTERFACE_(IElgatoVideoCaptureFilter5, IElgatoVideoCaptureFilter4)
|
||||||
{
|
{
|
||||||
//! Get current settings
|
//! Get current settings
|
||||||
@ -238,3 +259,12 @@ DECLARE_INTERFACE_(IElgatoVideoCaptureFilter5, IElgatoVideoCaptureFilter4)
|
|||||||
//! Set settings
|
//! Set settings
|
||||||
STDMETHOD(SetSettingsEx)(THIS_ PCVIDEO_CAPTURE_FILTER_SETTINGS_EX pcSettings) PURE;
|
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;
|
||||||
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user