mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 15:40:41 -05:00
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:
parent
d03deb006c
commit
d07335cd4c
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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,
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user