diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2021-08-26 11:15:07 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-09-13 11:57:47 +0200 |
commit | 81a3ea8ef3868818bdca2fb3fb7a76553f9b35ec (patch) | |
tree | 70d42333b097092043272f1564b8e2cec761c87b /src/multimedia/platform/gstreamer/common/qgstvideobuffer.cpp | |
parent | 1c0dc886841338c8128fe1b3f1fac2438944db70 (diff) |
GStreamer: enable dynamic pipeline modification for capture session
Work in progress...
Change-Id: I4423745a9d229e509aa161cd6a0a28647f5579e9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/platform/gstreamer/common/qgstvideobuffer.cpp')
-rw-r--r-- | src/multimedia/platform/gstreamer/common/qgstvideobuffer.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/multimedia/platform/gstreamer/common/qgstvideobuffer.cpp b/src/multimedia/platform/gstreamer/common/qgstvideobuffer.cpp index b93cb9eac..878b4d410 100644 --- a/src/multimedia/platform/gstreamer/common/qgstvideobuffer.cpp +++ b/src/multimedia/platform/gstreamer/common/qgstvideobuffer.cpp @@ -88,16 +88,18 @@ QT_BEGIN_NAMESPACE QGstVideoBuffer::QGstVideoBuffer(GstBuffer *buffer, const GstVideoInfo &info, QGstreamerVideoSink *sink, const QVideoFrameFormat &frameFormat, QGstCaps::MemoryFormat format) - : QAbstractVideoBuffer((sink->rhi() && format != QGstCaps::CpuMemory) ? - QVideoFrame::RhiTextureHandle : QVideoFrame::NoHandle, sink->rhi()) + : QAbstractVideoBuffer((sink && sink->rhi() && format != QGstCaps::CpuMemory) ? + QVideoFrame::RhiTextureHandle : QVideoFrame::NoHandle, sink ? sink->rhi() : nullptr) , memoryFormat(format) , m_frameFormat(frameFormat) , m_videoInfo(info) , m_buffer(buffer) { gst_buffer_ref(m_buffer); - eglDisplay = sink->eglDisplay(); - eglImageTargetTexture2D = sink->eglImageTargetTexture2D(); + if (sink) { + eglDisplay = sink->eglDisplay(); + eglImageTargetTexture2D = sink->eglImageTargetTexture2D(); + } } QGstVideoBuffer::~QGstVideoBuffer() |