diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-03-23 13:20:26 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-04-06 08:11:39 +0000 |
commit | 9aaec39aef634a9f2d972f35484a566bdd01ecd6 (patch) | |
tree | 05263139a5c8121655ab846953d469e6dfdec137 /src/multimedia/platform | |
parent | 33d4ef6367ad49c40ec77af69ab1165989a65064 (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.cpp | 5 | ||||
-rw-r--r-- | src/multimedia/platform/gstreamer/mediacapture/qgstreamercameraimagecapture.cpp | 2 |
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; |