screen-cast-src: Make the two record vfuncs more similarly named

Both do more or less the same but with different methods - one puts
pixels into a buffer using the CPU, the other puts pixels into a buffer
using the GPU.

However, they are behaving slightly different, which they shouldn't.
Lets first address the misleading disconnect in naming, and later we'll
make them behave more similarly.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1351
This commit is contained in:
Jonas Ådahl 2020-07-03 16:42:45 +02:00
parent d03deb006c
commit d07335cd4c
4 changed files with 29 additions and 26 deletions

View File

@ -362,8 +362,8 @@ meta_screen_cast_monitor_stream_src_disable (MetaScreenCastStreamSrc *src)
} }
static gboolean static gboolean
meta_screen_cast_monitor_stream_src_record_frame (MetaScreenCastStreamSrc *src, meta_screen_cast_monitor_stream_src_record_to_buffer (MetaScreenCastStreamSrc *src,
uint8_t *data) uint8_t *data)
{ {
MetaScreenCastMonitorStreamSrc *monitor_src = MetaScreenCastMonitorStreamSrc *monitor_src =
META_SCREEN_CAST_MONITOR_STREAM_SRC (src); META_SCREEN_CAST_MONITOR_STREAM_SRC (src);
@ -383,8 +383,8 @@ meta_screen_cast_monitor_stream_src_record_frame (MetaScreenCastStreamSrc *src,
} }
static gboolean static gboolean
meta_screen_cast_monitor_stream_src_blit_to_framebuffer (MetaScreenCastStreamSrc *src, meta_screen_cast_monitor_stream_src_record_to_framebuffer (MetaScreenCastStreamSrc *src,
CoglFramebuffer *framebuffer) CoglFramebuffer *framebuffer)
{ {
MetaScreenCastMonitorStreamSrc *monitor_src = MetaScreenCastMonitorStreamSrc *monitor_src =
META_SCREEN_CAST_MONITOR_STREAM_SRC (src); META_SCREEN_CAST_MONITOR_STREAM_SRC (src);
@ -562,9 +562,10 @@ meta_screen_cast_monitor_stream_src_class_init (MetaScreenCastMonitorStreamSrcCl
src_class->get_specs = meta_screen_cast_monitor_stream_src_get_specs; src_class->get_specs = meta_screen_cast_monitor_stream_src_get_specs;
src_class->enable = meta_screen_cast_monitor_stream_src_enable; src_class->enable = meta_screen_cast_monitor_stream_src_enable;
src_class->disable = meta_screen_cast_monitor_stream_src_disable; src_class->disable = meta_screen_cast_monitor_stream_src_disable;
src_class->record_frame = meta_screen_cast_monitor_stream_src_record_frame; src_class->record_to_buffer =
src_class->blit_to_framebuffer = meta_screen_cast_monitor_stream_src_record_to_buffer;
meta_screen_cast_monitor_stream_src_blit_to_framebuffer; src_class->record_to_framebuffer =
meta_screen_cast_monitor_stream_src_record_to_framebuffer;
src_class->set_cursor_metadata = src_class->set_cursor_metadata =
meta_screen_cast_monitor_stream_src_set_cursor_metadata; meta_screen_cast_monitor_stream_src_set_cursor_metadata;
} }

View File

@ -135,23 +135,23 @@ meta_screen_cast_stream_src_get_videocrop (MetaScreenCastStreamSrc *src,
} }
static gboolean static gboolean
meta_screen_cast_stream_src_record_frame (MetaScreenCastStreamSrc *src, meta_screen_cast_stream_src_record_to_buffer (MetaScreenCastStreamSrc *src,
uint8_t *data) uint8_t *data)
{ {
MetaScreenCastStreamSrcClass *klass = MetaScreenCastStreamSrcClass *klass =
META_SCREEN_CAST_STREAM_SRC_GET_CLASS (src); META_SCREEN_CAST_STREAM_SRC_GET_CLASS (src);
return klass->record_frame (src, data); return klass->record_to_buffer (src, data);
} }
static gboolean static gboolean
meta_screen_cast_stream_src_blit_to_framebuffer (MetaScreenCastStreamSrc *src, meta_screen_cast_stream_src_record_to_framebuffer (MetaScreenCastStreamSrc *src,
CoglFramebuffer *framebuffer) CoglFramebuffer *framebuffer)
{ {
MetaScreenCastStreamSrcClass *klass = MetaScreenCastStreamSrcClass *klass =
META_SCREEN_CAST_STREAM_SRC_GET_CLASS (src); META_SCREEN_CAST_STREAM_SRC_GET_CLASS (src);
return klass->blit_to_framebuffer (src, framebuffer); return klass->record_to_framebuffer (src, framebuffer);
} }
static void static void
@ -419,7 +419,7 @@ do_record_frame (MetaScreenCastStreamSrc *src,
if (spa_buffer->datas[0].data || if (spa_buffer->datas[0].data ||
spa_buffer->datas[0].type == SPA_DATA_MemFd) spa_buffer->datas[0].type == SPA_DATA_MemFd)
{ {
return meta_screen_cast_stream_src_record_frame (src, data); return meta_screen_cast_stream_src_record_to_buffer (src, data);
} }
else if (spa_buffer->datas[0].type == SPA_DATA_DmaBuf) else if (spa_buffer->datas[0].type == SPA_DATA_DmaBuf)
{ {
@ -429,7 +429,8 @@ do_record_frame (MetaScreenCastStreamSrc *src,
CoglFramebuffer *dmabuf_fbo = CoglFramebuffer *dmabuf_fbo =
cogl_dma_buf_handle_get_framebuffer (dmabuf_handle); cogl_dma_buf_handle_get_framebuffer (dmabuf_handle);
return meta_screen_cast_stream_src_blit_to_framebuffer (src, dmabuf_fbo); return meta_screen_cast_stream_src_record_to_framebuffer (src,
dmabuf_fbo);
} }
return FALSE; return FALSE;

View File

@ -53,10 +53,10 @@ struct _MetaScreenCastStreamSrcClass
float *frame_rate); float *frame_rate);
void (* enable) (MetaScreenCastStreamSrc *src); void (* enable) (MetaScreenCastStreamSrc *src);
void (* disable) (MetaScreenCastStreamSrc *src); void (* disable) (MetaScreenCastStreamSrc *src);
gboolean (* record_frame) (MetaScreenCastStreamSrc *src, gboolean (* record_to_buffer) (MetaScreenCastStreamSrc *src,
uint8_t *data); uint8_t *data);
gboolean (* blit_to_framebuffer) (MetaScreenCastStreamSrc *src, gboolean (* record_to_framebuffer) (MetaScreenCastStreamSrc *src,
CoglFramebuffer *framebuffer); CoglFramebuffer *framebuffer);
gboolean (* get_videocrop) (MetaScreenCastStreamSrc *src, gboolean (* get_videocrop) (MetaScreenCastStreamSrc *src,
MetaRectangle *crop_rect); MetaRectangle *crop_rect);
void (* set_cursor_metadata) (MetaScreenCastStreamSrc *src, void (* set_cursor_metadata) (MetaScreenCastStreamSrc *src,

View File

@ -451,8 +451,8 @@ meta_screen_cast_window_stream_src_disable (MetaScreenCastStreamSrc *src)
} }
static gboolean static gboolean
meta_screen_cast_window_stream_src_record_frame (MetaScreenCastStreamSrc *src, meta_screen_cast_window_stream_src_record_to_buffer (MetaScreenCastStreamSrc *src,
uint8_t *data) uint8_t *data)
{ {
MetaScreenCastWindowStreamSrc *window_src = MetaScreenCastWindowStreamSrc *window_src =
META_SCREEN_CAST_WINDOW_STREAM_SRC (src); META_SCREEN_CAST_WINDOW_STREAM_SRC (src);
@ -463,8 +463,8 @@ meta_screen_cast_window_stream_src_record_frame (MetaScreenCastStreamSrc *src,
} }
static gboolean static gboolean
meta_screen_cast_window_stream_src_blit_to_framebuffer (MetaScreenCastStreamSrc *src, meta_screen_cast_window_stream_src_record_to_framebuffer (MetaScreenCastStreamSrc *src,
CoglFramebuffer *framebuffer) CoglFramebuffer *framebuffer)
{ {
MetaScreenCastWindowStreamSrc *window_src = MetaScreenCastWindowStreamSrc *window_src =
META_SCREEN_CAST_WINDOW_STREAM_SRC (src); META_SCREEN_CAST_WINDOW_STREAM_SRC (src);
@ -580,9 +580,10 @@ meta_screen_cast_window_stream_src_class_init (MetaScreenCastWindowStreamSrcClas
src_class->get_specs = meta_screen_cast_window_stream_src_get_specs; src_class->get_specs = meta_screen_cast_window_stream_src_get_specs;
src_class->enable = meta_screen_cast_window_stream_src_enable; src_class->enable = meta_screen_cast_window_stream_src_enable;
src_class->disable = meta_screen_cast_window_stream_src_disable; src_class->disable = meta_screen_cast_window_stream_src_disable;
src_class->record_frame = meta_screen_cast_window_stream_src_record_frame; src_class->record_to_buffer =
src_class->blit_to_framebuffer = meta_screen_cast_window_stream_src_record_to_buffer;
meta_screen_cast_window_stream_src_blit_to_framebuffer; src_class->record_to_framebuffer =
meta_screen_cast_window_stream_src_record_to_framebuffer;
src_class->get_videocrop = meta_screen_cast_window_stream_src_get_videocrop; src_class->get_videocrop = meta_screen_cast_window_stream_src_get_videocrop;
src_class->set_cursor_metadata = meta_screen_cast_window_stream_src_set_cursor_metadata; src_class->set_cursor_metadata = meta_screen_cast_window_stream_src_set_cursor_metadata;
} }