summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-03-23 13:20:26 +0100
committerLars Knoll <lars.knoll@qt.io>2021-04-06 08:11:39 +0000
commit9aaec39aef634a9f2d972f35484a566bdd01ecd6 (patch)
tree05263139a5c8121655ab846953d469e6dfdec137 /src/multimedia/platform
parent33d4ef6367ad49c40ec77af69ab1165989a65064 (diff)
QVideoFrame should be constructed with a QSurfaceFormat
This was inconsistent so far. QVideoFrame had half the properties of QVideoSurfaceFormat, but was missing some parts that are required to render the frame properly. Giving it a QVideoSurfaceFormat means that the QVideoFrame is self describing and can be rendered without additional information. Change-Id: Idb2757ee6a29020bd72c9c50891309ee8d8a8bfc Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/platform')
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp5
-rw-r--r--src/multimedia/platform/gstreamer/mediacapture/qgstreamercameraimagecapture.cpp2
2 files changed, 2 insertions, 5 deletions
diff --git a/src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp b/src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp
index 0175cb938..990ab2bd4 100644
--- a/src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp
+++ b/src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp
@@ -194,10 +194,7 @@ bool QGstVideoRenderer::present(QVideoSink *sink, GstBuffer *buffer)
}
}
- QVideoFrame frame(
- videoBuffer,
- m_format.frameSize(),
- m_format.pixelFormat());
+ QVideoFrame frame(videoBuffer, m_format);
QGstUtils::setFrameTimeStamps(&frame, buffer);
sink->newVideoFrame(frame);
diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameraimagecapture.cpp b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameraimagecapture.cpp
index d893193b1..ceeb6d068 100644
--- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameraimagecapture.cpp
+++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercameraimagecapture.cpp
@@ -202,7 +202,7 @@ bool QGstreamerCameraImageCapture::probeBuffer(GstBuffer *buffer)
auto *gstBuffer = new QGstVideoBuffer(buffer, previewInfo);
auto fmt = QGstUtils::formatForCaps(caps, &previewInfo);
- QVideoFrame frame(gstBuffer, fmt.frameSize(), fmt.pixelFormat());
+ QVideoFrame frame(gstBuffer, fmt);
QImage img = frame.image();
if (img.isNull())
return true;