libfreerdp-codec: fix automatic growing of the encode stream size
This commit is contained in:
parent
356186ed54
commit
e91f2516e5
@ -1199,13 +1199,20 @@ static void rfx_compose_message_tileset(RFX_CONTEXT* context, wStream* s,
|
|||||||
|
|
||||||
if (context->priv->UseThreads)
|
if (context->priv->UseThreads)
|
||||||
{
|
{
|
||||||
for (i = 0; i < numTiles; i++)
|
for (yIdx = 0; yIdx < numTilesY; yIdx++)
|
||||||
{
|
{
|
||||||
|
for (xIdx = 0; xIdx < numTilesX; xIdx++)
|
||||||
|
{
|
||||||
|
i = yIdx * numTilesX + xIdx;
|
||||||
|
|
||||||
WaitForThreadpoolWorkCallbacks(work_objects[i], FALSE);
|
WaitForThreadpoolWorkCallbacks(work_objects[i], FALSE);
|
||||||
CloseThreadpoolWork(work_objects[i]);
|
Stream_EnsureRemainingCapacity(s, Stream_GetPosition(params[i].s));
|
||||||
Stream_Write(s, Stream_Buffer(params[i].s), Stream_GetPosition(params[i].s));
|
Stream_Write(s, Stream_Buffer(params[i].s), Stream_GetPosition(params[i].s));
|
||||||
StreamPool_Return(context->priv->EncoderStreamPool, params[i].s);
|
CloseThreadpoolWork(work_objects[i]);
|
||||||
|
Stream_Release(params[i].s);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
free(work_objects);
|
free(work_objects);
|
||||||
free(params);
|
free(params);
|
||||||
}
|
}
|
||||||
|
@ -174,9 +174,9 @@ static void rfx_encode_format_rgb(const BYTE* rgb_data, int width, int height, i
|
|||||||
|
|
||||||
while (y_exceed > 0)
|
while (y_exceed > 0)
|
||||||
{
|
{
|
||||||
memcpy(r_buf, r_last, 64 * sizeof(INT16));
|
CopyMemory(r_buf, r_last, 64 * sizeof(INT16));
|
||||||
memcpy(g_buf, g_last, 64 * sizeof(INT16));
|
CopyMemory(g_buf, g_last, 64 * sizeof(INT16));
|
||||||
memcpy(b_buf, b_last, 64 * sizeof(INT16));
|
CopyMemory(b_buf, b_last, 64 * sizeof(INT16));
|
||||||
r_buf += 64;
|
r_buf += 64;
|
||||||
g_buf += 64;
|
g_buf += 64;
|
||||||
b_buf += 64;
|
b_buf += 64;
|
||||||
|
Loading…
Reference in New Issue
Block a user