commit
d30f0cedb5
@ -1184,6 +1184,7 @@ static UINT rdpgfx_recv_end_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStrea
|
|||||||
Stream_Read_UINT32(s, pdu.frameId); /* frameId (4 bytes) */
|
Stream_Read_UINT32(s, pdu.frameId); /* frameId (4 bytes) */
|
||||||
DEBUG_RDPGFX(gfx->log, "RecvEndFramePdu: frameId: %" PRIu32 "", pdu.frameId);
|
DEBUG_RDPGFX(gfx->log, "RecvEndFramePdu: frameId: %" PRIu32 "", pdu.frameId);
|
||||||
|
|
||||||
|
const UINT64 start = GetTickCount64();
|
||||||
if (context)
|
if (context)
|
||||||
{
|
{
|
||||||
IFCALLRET(context->EndFrame, error, context, &pdu);
|
IFCALLRET(context->EndFrame, error, context, &pdu);
|
||||||
@ -1195,7 +1196,8 @@ static UINT rdpgfx_recv_end_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStrea
|
|||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const UINT64 end = GetTickCount64();
|
||||||
|
const UINT64 EndFrameTime = end - start;
|
||||||
gfx->TotalDecodedFrames++;
|
gfx->TotalDecodedFrames++;
|
||||||
|
|
||||||
if (!gfx->sendFrameAcks)
|
if (!gfx->sendFrameAcks)
|
||||||
@ -1235,7 +1237,7 @@ static UINT rdpgfx_recv_end_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStrea
|
|||||||
case RDPGFX_CAPVERSION_107:
|
case RDPGFX_CAPVERSION_107:
|
||||||
if (freerdp_settings_get_bool(gfx->rdpcontext->settings, FreeRDP_GfxSendQoeAck))
|
if (freerdp_settings_get_bool(gfx->rdpcontext->settings, FreeRDP_GfxSendQoeAck))
|
||||||
{
|
{
|
||||||
RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU qoe;
|
RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU qoe = { 0 };
|
||||||
UINT64 diff = (GetTickCount64() - gfx->StartDecodingTime);
|
UINT64 diff = (GetTickCount64() - gfx->StartDecodingTime);
|
||||||
|
|
||||||
if (diff > 65000)
|
if (diff > 65000)
|
||||||
@ -1244,7 +1246,7 @@ static UINT rdpgfx_recv_end_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStrea
|
|||||||
qoe.frameId = pdu.frameId;
|
qoe.frameId = pdu.frameId;
|
||||||
qoe.timestamp = gfx->StartDecodingTime;
|
qoe.timestamp = gfx->StartDecodingTime;
|
||||||
qoe.timeDiffSE = diff;
|
qoe.timeDiffSE = diff;
|
||||||
qoe.timeDiffEDR = 1;
|
qoe.timeDiffEDR = EndFrameTime;
|
||||||
|
|
||||||
if ((error = rdpgfx_send_qoe_frame_acknowledge_pdu(context, &qoe)))
|
if ((error = rdpgfx_send_qoe_frame_acknowledge_pdu(context, &qoe)))
|
||||||
WLog_Print(gfx->log, WLOG_ERROR,
|
WLog_Print(gfx->log, WLOG_ERROR,
|
||||||
|
@ -1707,7 +1707,7 @@ static UINT gdi_MapSurfaceToOutput(RdpgfxClientContext* context,
|
|||||||
|
|
||||||
if (surface->windowMapped)
|
if (surface->windowMapped)
|
||||||
{
|
{
|
||||||
WLog_WARN(TAG, "sufrace already windowMapped when trying to set outputMapped");
|
WLog_WARN(TAG, "surface already windowMapped when trying to set outputMapped");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1739,7 +1739,7 @@ gdi_MapSurfaceToScaledOutput(RdpgfxClientContext* context,
|
|||||||
|
|
||||||
if (surface->windowMapped)
|
if (surface->windowMapped)
|
||||||
{
|
{
|
||||||
WLog_WARN(TAG, "sufrace already windowMapped when trying to set outputMapped");
|
WLog_WARN(TAG, "surface already windowMapped when trying to set outputMapped");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1775,7 +1775,7 @@ static UINT gdi_MapSurfaceToWindow(RdpgfxClientContext* context,
|
|||||||
|
|
||||||
if (surface->outputMapped)
|
if (surface->outputMapped)
|
||||||
{
|
{
|
||||||
WLog_WARN(TAG, "sufrace already outputMapped when trying to set windowMapped");
|
WLog_WARN(TAG, "surface already outputMapped when trying to set windowMapped");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1783,7 +1783,7 @@ static UINT gdi_MapSurfaceToWindow(RdpgfxClientContext* context,
|
|||||||
{
|
{
|
||||||
if (surface->windowId != surfaceToWindow->windowId)
|
if (surface->windowId != surfaceToWindow->windowId)
|
||||||
{
|
{
|
||||||
WLog_WARN(TAG, "sufrace windowId mismatch, has %" PRIu64 ", expected %" PRIu64,
|
WLog_WARN(TAG, "surface windowId mismatch, has %" PRIu64 ", expected %" PRIu64,
|
||||||
surface->windowId, surfaceToWindow->windowId);
|
surface->windowId, surfaceToWindow->windowId);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
@ -1818,7 +1818,7 @@ gdi_MapSurfaceToScaledWindow(RdpgfxClientContext* context,
|
|||||||
|
|
||||||
if (surface->outputMapped)
|
if (surface->outputMapped)
|
||||||
{
|
{
|
||||||
WLog_WARN(TAG, "sufrace already outputMapped when trying to set windowMapped");
|
WLog_WARN(TAG, "surface already outputMapped when trying to set windowMapped");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1826,7 +1826,7 @@ gdi_MapSurfaceToScaledWindow(RdpgfxClientContext* context,
|
|||||||
{
|
{
|
||||||
if (surface->windowId != surfaceToWindow->windowId)
|
if (surface->windowId != surfaceToWindow->windowId)
|
||||||
{
|
{
|
||||||
WLog_WARN(TAG, "sufrace windowId mismatch, has %" PRIu64 ", expected %" PRIu64,
|
WLog_WARN(TAG, "surface windowId mismatch, has %" PRIu64 ", expected %" PRIu64,
|
||||||
surface->windowId, surfaceToWindow->windowId);
|
surface->windowId, surfaceToWindow->windowId);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ endif()
|
|||||||
if(X11_XShm_FOUND)
|
if(X11_XShm_FOUND)
|
||||||
add_definitions(-DWITH_XSHM)
|
add_definitions(-DWITH_XSHM)
|
||||||
include_directories(${X11_XShm_INCLUDE_PATH})
|
include_directories(${X11_XShm_INCLUDE_PATH})
|
||||||
list(APPEND LIBS ${X11_Xext_LIB})
|
list(APPEND LIBS ${X11_XShm_LIB})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(X11_Xext_FOUND)
|
if(X11_Xext_FOUND)
|
||||||
|
Loading…
Reference in New Issue
Block a user