When calculating the capture framebuffer size, include
any device scaling applied to the rendered framebuffer
Fixes only capturing part of the window when there is
a global scale factor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3612>
if (width == NULL || height == NULL)
return FALSE;
- *width = this->source->width();
- *height = this->source->height();
+ double scale = this->source->effectiveDevicePixelRatio();
+ *width = this->source->width() * scale;
+ *height = this->source->height() * scale;
+
+ GST_LOG("Window width %d height %d scale %f", *width, *height,
+ scale);
return TRUE;
}