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:
parent
2386976f5e
commit
a4380075a6
@ -255,15 +255,27 @@ sanity_check_memfd (struct spa_buffer *buffer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
process_buffer (Stream *stream,
|
process_memfd_buffer (Stream *stream,
|
||||||
struct spa_buffer *buffer)
|
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)
|
struct spa_buffer *spa_buffer = buffer->buffer;
|
||||||
sanity_check_memfd (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
|
else
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
}
|
}
|
||||||
@ -297,7 +309,7 @@ on_stream_process (void *user_data)
|
|||||||
if (!buffer)
|
if (!buffer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
process_buffer (stream, buffer->buffer);
|
process_buffer (stream, buffer);
|
||||||
pw_stream_queue_buffer (stream->pipewire_stream, buffer);
|
pw_stream_queue_buffer (stream->pipewire_stream, buffer);
|
||||||
|
|
||||||
stream->buffer_count++;
|
stream->buffer_count++;
|
||||||
|
@ -44,6 +44,8 @@ typedef struct _Stream
|
|||||||
int target_width;
|
int target_width;
|
||||||
int target_height;
|
int target_height;
|
||||||
|
|
||||||
|
struct pw_buffer *buffer;
|
||||||
|
|
||||||
int cursor_x;
|
int cursor_x;
|
||||||
int cursor_y;
|
int cursor_y;
|
||||||
} Stream;
|
} Stream;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user