diff options
Diffstat (limited to 'src/plugins/multimedia/ffmpeg/qgrabwindowsurfacecapture.cpp')
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qgrabwindowsurfacecapture.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/multimedia/ffmpeg/qgrabwindowsurfacecapture.cpp b/src/plugins/multimedia/ffmpeg/qgrabwindowsurfacecapture.cpp index 8ed3aecd9..4e87a0559 100644 --- a/src/plugins/multimedia/ffmpeg/qgrabwindowsurfacecapture.cpp +++ b/src/plugins/multimedia/ffmpeg/qgrabwindowsurfacecapture.cpp @@ -125,7 +125,8 @@ private: setFrameRate(screen->refreshRate()); QPixmap p = screen->grabWindow(wid); - QImage img = p.toImage(); + auto buffer = std::make_unique<QImageVideoBuffer>(p.toImage()); + const auto img = buffer->underlyingImage(); QVideoFrameFormat format(img.size(), QVideoFrameFormat::pixelFormatFromImageFormat(img.format())); @@ -138,7 +139,7 @@ private: return {}; } - return QVideoFrame(new QImageVideoBuffer(std::move(img)), format); + return QVideoFrame(buffer.release(), format); } private: |