summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/gstreamer/mediacapture/qgstreamercapturesession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/platform/gstreamer/mediacapture/qgstreamercapturesession.cpp')
-rw-r--r--src/multimedia/platform/gstreamer/mediacapture/qgstreamercapturesession.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercapturesession.cpp b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercapturesession.cpp
index 45ed2afba..f8eb1c5c8 100644
--- a/src/multimedia/platform/gstreamer/mediacapture/qgstreamercapturesession.cpp
+++ b/src/multimedia/platform/gstreamer/mediacapture/qgstreamercapturesession.cpp
@@ -40,7 +40,7 @@
#include "qgstreamercapturesession_p.h"
#include "qgstreamerrecordercontrol_p.h"
#include "qgstreamerimagecapturecontrol_p.h"
-#include "qgstreamervideoinput_p.h"
+#include "private/qgstreamerdevicemanager_p.h"
#include <qmediarecorder.h>
#include <qmediadevicemanager.h>
#include <private/qgstreamervideorendererinterface_p.h>
@@ -71,7 +71,6 @@ QGstreamerCaptureSession::QGstreamerCaptureSession(QGstreamerCaptureSession::Cap
m_waitingForEos(false),
m_pipelineMode(EmptyPipeline),
m_captureMode(captureMode),
- m_videoInputFactory(0),
m_viewfinder(0),
m_viewfinderInterface(0),
m_audioSrc(0),
@@ -272,14 +271,12 @@ GstElement *QGstreamerCaptureSession::buildAudioPreview()
GstElement *QGstreamerCaptureSession::buildVideoSrc()
{
- GstElement *videoSrc = 0;
- if (m_videoInputFactory) {
- videoSrc = m_videoInputFactory->buildElement();
- } else {
- videoSrc = gst_element_factory_make("videotestsrc", "video_test_src");
- }
+ if (m_camera.isNull())
+ return nullptr;
- return videoSrc;
+ auto *deviceManager = static_cast<QGstreamerDeviceManager *>(QGstreamerIntegration::instance()->deviceManager());
+ auto *device = deviceManager->videoDevice(m_camera.id());
+ return gst_device_create_element(device, "camerasrc");
}
GstElement *QGstreamerCaptureSession::buildVideoPreview()
@@ -705,11 +702,6 @@ bool QGstreamerCaptureSession::setOutputLocation(const QUrl& sink)
return true;
}
-void QGstreamerCaptureSession::setVideoInput(QGstreamerVideoInput *videoInput)
-{
- m_videoInputFactory = videoInput;
-}
-
void QGstreamerCaptureSession::setVideoPreview(QObject *viewfinder)
{
m_viewfinderInterface = qobject_cast<QGstreamerVideoRendererInterface*>(viewfinder);