mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-01-13 23:28:16 +03:00
vrclient: Use manual method for IVRTrackedCamera_GetVideoStreamFrame.
This commit is contained in:
parent
e9aeba85f2
commit
f5ef49cf29
@ -81,14 +81,6 @@ NTSTATUS IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamElapsedTime( void *
|
||||
return 0;
|
||||
}
|
||||
|
||||
NTSTATUS IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame( void *args )
|
||||
{
|
||||
struct IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame_params *params = (struct IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame_params *)args;
|
||||
struct u_IVRTrackedCamera_IVRTrackedCamera_001 *iface = (struct u_IVRTrackedCamera_IVRTrackedCamera_001 *)params->linux_side;
|
||||
params->_ret = (const w_CameraVideoStreamFrame_t_0914 *)iface->GetVideoStreamFrame( params->nDeviceIndex );
|
||||
return 0;
|
||||
}
|
||||
|
||||
NTSTATUS IVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame( void *args )
|
||||
{
|
||||
struct IVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame_params *params = (struct IVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame_params *)args;
|
||||
|
@ -244,6 +244,7 @@ MANUAL_METHODS = {
|
||||
"IVRMailbox_undoc3": lambda ver, abi: abi == 'u',
|
||||
"IVROverlay_SetOverlayTexture": True,
|
||||
"IVRInput_GetDigitalActionData": lambda ver, abi: abi == 'w' and ver > 3,
|
||||
"IVRTrackedCamera_GetVideoStreamFrame": True,
|
||||
}
|
||||
|
||||
|
||||
|
@ -114,3 +114,11 @@ NTSTATUS vrclient_VRClientCoreFactory( void *args )
|
||||
params->_ret = p_VRClientCoreFactory( params->name, params->return_code );
|
||||
return 0;
|
||||
}
|
||||
|
||||
NTSTATUS IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame( void *args )
|
||||
{
|
||||
struct IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame_params *params = (struct IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame_params *)args;
|
||||
struct u_IVRTrackedCamera_IVRTrackedCamera_001 *iface = (struct u_IVRTrackedCamera_IVRTrackedCamera_001 *)params->linux_side;
|
||||
*(w_CameraVideoStreamFrame_t_0914 *)params->_ret = *iface->GetVideoStreamFrame( params->nDeviceIndex );
|
||||
return 0;
|
||||
}
|
||||
|
@ -516,3 +516,17 @@ bool __thiscall winIVRClientCore_IVRClientCore_003_BIsHmdPresent( struct w_steam
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
const w_CameraVideoStreamFrame_t_0914 * __thiscall winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame(struct w_steam_iface *_this, uint32_t nDeviceIndex)
|
||||
{
|
||||
static w_CameraVideoStreamFrame_t_0914 w_frame;
|
||||
struct IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
.nDeviceIndex = nDeviceIndex,
|
||||
._ret = &w_frame,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
VRCLIENT_CALL( IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame, ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
@ -154,17 +154,7 @@ float __thiscall winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamElapsedT
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
const w_CameraVideoStreamFrame_t_0914 * __thiscall winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame(struct w_steam_iface *_this, uint32_t nDeviceIndex)
|
||||
{
|
||||
struct IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
.nDeviceIndex = nDeviceIndex,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
VRCLIENT_CALL( IVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame, ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
extern const w_CameraVideoStreamFrame_t_0914 * __thiscall winIVRTrackedCamera_IVRTrackedCamera_001_GetVideoStreamFrame(struct w_steam_iface *_this, uint32_t nDeviceIndex);
|
||||
|
||||
bool __thiscall winIVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame(struct w_steam_iface *_this, uint32_t nDeviceIndex, const w_CameraVideoStreamFrame_t_0914 *pFrameImage)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user