tests/remote-desktop-utils: Keep track of current buffer

This will be useful later on when we actually look at the buffer in
places other than when it's actively processed.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3859>
This commit is contained in:
Jonas Ådahl 2024-11-20 10:26:02 +01:00 committed by Sebastian Wick
parent 2386976f5e
commit a4380075a6
2 changed files with 21 additions and 7 deletions

View File

@ -255,15 +255,27 @@ sanity_check_memfd (struct spa_buffer *buffer)
}
static void
process_buffer (Stream *stream,
struct spa_buffer *buffer)
process_memfd_buffer (Stream *stream,
struct pw_buffer *buffer)
{
process_buffer_metadata (stream, buffer);
sanity_check_memfd (buffer->buffer);
if (stream->buffer)
pw_stream_queue_buffer (stream->pipewire_stream, stream->buffer);
stream->buffer = buffer;
}
if (buffer->datas[0].chunk->size != 0)
static void
process_buffer (Stream *stream,
struct pw_buffer *buffer)
{
if (buffer->datas[0].type == SPA_DATA_MemFd)
sanity_check_memfd (buffer);
struct spa_buffer *spa_buffer = buffer->buffer;
process_buffer_metadata (stream, buffer->buffer);
if (spa_buffer->datas[0].chunk->size != 0)
{
if (spa_buffer->datas[0].type == SPA_DATA_MemFd)
process_memfd_buffer (stream, buffer);
else
g_assert_not_reached ();
}
@ -297,7 +309,7 @@ on_stream_process (void *user_data)
if (!buffer)
return;
process_buffer (stream, buffer->buffer);
process_buffer (stream, buffer);
pw_stream_queue_buffer (stream->pipewire_stream, buffer);
stream->buffer_count++;

View File

@ -44,6 +44,8 @@ typedef struct _Stream
int target_width;
int target_height;
struct pw_buffer *buffer;
int cursor_x;
int cursor_y;
} Stream;