summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-30 03:00:10 +0200
committerVaL Doroshchuk <valentyn.doroshchuk@qt.io>2019-07-30 12:21:51 +0200
commit3f17e216c9c75c667ab501a59bcb96be62e3afa1 (patch)
tree7e20d31bae96154abd2b10e43fdfbc4f0d284c77 /src/plugins
parent3f12e848168f61f986f2809cd7f8dac75408548f (diff)
parentdbdcc1b099dc25ffb707a2441191463de33c51f3 (diff)
Merge remote-tracking branch 'origin/5.13' into dev
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/directshow/camera/directshowcameraglobal.h2
-rw-r--r--src/plugins/directshow/camera/dscamerasession.cpp6
-rw-r--r--src/plugins/directshow/camera/dsimagecapturecontrol.cpp20
-rw-r--r--src/plugins/directshow/common/directshoweventloop.cpp4
-rw-r--r--src/plugins/directshow/player/directshowioreader.cpp2
-rw-r--r--src/plugins/directshow/player/directshowplayerservice.cpp7
-rw-r--r--src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp12
-rw-r--r--src/plugins/gstreamer/mediacapture/qgstreameraudioencode.h2
-rw-r--r--src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp38
-rw-r--r--src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.h3
-rw-r--r--src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp11
-rw-r--r--src/plugins/gstreamer/mediacapture/qgstreamervideoencode.h1
12 files changed, 24 insertions, 84 deletions
diff --git a/src/plugins/directshow/camera/directshowcameraglobal.h b/src/plugins/directshow/camera/directshowcameraglobal.h
index 8df387b4a..917ae2dc7 100644
--- a/src/plugins/directshow/camera/directshowcameraglobal.h
+++ b/src/plugins/directshow/camera/directshowcameraglobal.h
@@ -65,7 +65,7 @@ extern const CLSID CLSID_VideoInputDeviceCategory;
extern const CLSID CLSID_SampleGrabber;
extern const CLSID CLSID_CaptureGraphBuilder2;
-#define SAFE_RELEASE(x) { if(x) x->Release(); x = NULL; }
+#define SAFE_RELEASE(x) { if (x) x->Release(); x = nullptr; }
typedef struct IFileSinkFilter *LPFILESINKFILTER;
typedef struct IAMCopyCaptureFileProgress *LPAMCOPYCAPTUREFILEPROGRESS;
diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp
index 27cdd84db..a0c120816 100644
--- a/src/plugins/directshow/camera/dscamerasession.cpp
+++ b/src/plugins/directshow/camera/dscamerasession.cpp
@@ -59,8 +59,8 @@ QT_BEGIN_NAMESPACE
DSCameraSession::DSCameraSession(QObject *parent)
: QObject(parent)
{
- connect(this, SIGNAL(statusChanged(QCamera::Status)),
- this, SLOT(updateReadyForCapture()));
+ connect(this, &DSCameraSession::statusChanged,
+ this, &DSCameraSession::updateReadyForCapture);
m_deviceLostEventTimer.setSingleShot(true);
connect(&m_deviceLostEventTimer, &QTimer::timeout, [&]() {
@@ -690,7 +690,7 @@ bool DSCameraSession::createFilterGraph()
IEnumMoniker* pEnum = nullptr;
// Create the filter graph
- hr = CoCreateInstance(CLSID_FilterGraph,nullptr,CLSCTX_INPROC,
+ hr = CoCreateInstance(CLSID_FilterGraph, nullptr, CLSCTX_INPROC,
IID_IGraphBuilder, reinterpret_cast<void**>(&m_filterGraph));
if (FAILED(hr)) {
errorString = tr("Failed to create filter graph");
diff --git a/src/plugins/directshow/camera/dsimagecapturecontrol.cpp b/src/plugins/directshow/camera/dsimagecapturecontrol.cpp
index 2a6a794d5..e4d2eee30 100644
--- a/src/plugins/directshow/camera/dsimagecapturecontrol.cpp
+++ b/src/plugins/directshow/camera/dsimagecapturecontrol.cpp
@@ -47,16 +47,16 @@ DSImageCaptureControl::DSImageCaptureControl(DSCameraSession *session)
: QCameraImageCaptureControl(session)
, m_session(session)
{
- connect(m_session, SIGNAL(imageExposed(int)),
- this, SIGNAL(imageExposed(int)));
- connect(m_session, SIGNAL(imageCaptured(int,QImage)),
- this, SIGNAL(imageCaptured(int,QImage)));
- connect(m_session, SIGNAL(imageSaved(int,QString)),
- this, SIGNAL(imageSaved(int,QString)));
- connect(m_session, SIGNAL(readyForCaptureChanged(bool)),
- this, SIGNAL(readyForCaptureChanged(bool)));
- connect(m_session, SIGNAL(captureError(int,int,QString)),
- this, SIGNAL(error(int,int,QString)));
+ connect(m_session, &DSCameraSession::imageExposed,
+ this, &DSImageCaptureControl::imageExposed);
+ connect(m_session, &DSCameraSession::imageCaptured,
+ this, &DSImageCaptureControl::imageCaptured);
+ connect(m_session, &DSCameraSession::imageSaved,
+ this, &DSImageCaptureControl::imageSaved);
+ connect(m_session, &DSCameraSession::readyForCaptureChanged,
+ this, &DSImageCaptureControl::readyForCaptureChanged);
+ connect(m_session, &DSCameraSession::captureError,
+ this, &DSImageCaptureControl::error);
connect(m_session, &DSCameraSession::imageAvailable,
this, &DSImageCaptureControl::imageAvailable);
}
diff --git a/src/plugins/directshow/common/directshoweventloop.cpp b/src/plugins/directshow/common/directshoweventloop.cpp
index a38c26ef4..692c873cf 100644
--- a/src/plugins/directshow/common/directshoweventloop.cpp
+++ b/src/plugins/directshow/common/directshoweventloop.cpp
@@ -66,8 +66,8 @@ public:
DirectShowEventLoop::DirectShowEventLoop(QObject *parent)
: QObject(parent)
- , m_eventHandle(::CreateEvent(nullptr, 0, 0, nullptr))
- , m_waitHandle(::CreateEvent(nullptr, 0, 0, nullptr))
+ , m_eventHandle(::CreateEvent(nullptr, FALSE, FALSE, nullptr))
+ , m_waitHandle(::CreateEvent(nullptr, FALSE, FALSE, nullptr))
{
}
diff --git a/src/plugins/directshow/player/directshowioreader.cpp b/src/plugins/directshow/player/directshowioreader.cpp
index b903038ea..ced10ea10 100644
--- a/src/plugins/directshow/player/directshowioreader.cpp
+++ b/src/plugins/directshow/player/directshowioreader.cpp
@@ -82,7 +82,7 @@ DirectShowIOReader::DirectShowIOReader(
{
moveToThread(device->thread());
- connect(device, SIGNAL(readyRead()), this, SLOT(readyRead()));
+ connect(device, &QIODevice::readyRead, this, &DirectShowIOReader::readyRead);
}
DirectShowIOReader::~DirectShowIOReader()
diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp
index 56a428028..cf0b5f84d 100644
--- a/src/plugins/directshow/player/directshowplayerservice.cpp
+++ b/src/plugins/directshow/player/directshowplayerservice.cpp
@@ -124,7 +124,7 @@ private:
DirectShowPlayerService::DirectShowPlayerService(QObject *parent)
: QMediaService(parent)
, m_loop(qt_directShowEventLoop())
- , m_taskHandle(::CreateEvent(nullptr, 0, 0, nullptr))
+ , m_taskHandle(::CreateEvent(nullptr, FALSE, FALSE, nullptr))
{
m_playerControl = new DirectShowPlayerControl(this);
m_metaDataControl = new DirectShowMetaDataControl(this);
@@ -181,8 +181,8 @@ QMediaControl *DirectShowPlayerService::requestControl(const char *name)
if (!m_videoRendererControl && !m_videoWindowControl) {
m_videoRendererControl = new DirectShowVideoRendererControl(m_loop);
- connect(m_videoRendererControl, SIGNAL(filterChanged()),
- this, SLOT(videoOutputChanged()));
+ connect(m_videoRendererControl, &DirectShowVideoRendererControl::filterChanged,
+ this, &DirectShowPlayerService::videoOutputChanged);
return m_videoRendererControl;
}
@@ -275,6 +275,7 @@ void DirectShowPlayerService::load(const QMediaContent &media, QIODevice *stream
releaseGraph();
m_url = media.request().url();
+
m_stream = stream;
m_error = QMediaPlayer::NoError;
m_errorString = QString();
diff --git a/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp b/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp
index 361a2369a..98aaded72 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp
+++ b/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp
@@ -50,16 +50,6 @@ QGstreamerAudioEncode::QGstreamerAudioEncode(QObject *parent)
:QAudioEncoderSettingsControl(parent)
, m_codecs(QGstCodecsInfo::AudioEncoder)
{
- for (const QString& codecName : m_codecs.supportedCodecs()) {
- GstElementFactory *factory = gst_element_factory_find(m_codecs.codecElement(codecName).constData());
-
- if (factory) {
- m_streamTypes.insert(codecName,
- QGstreamerMediaContainerControl::supportedStreamTypes(factory, GST_PAD_SRC));
-
- gst_object_unref(GST_OBJECT(factory));
- }
- }
}
QGstreamerAudioEncode::~QGstreamerAudioEncode()
@@ -245,5 +235,5 @@ GstElement *QGstreamerAudioEncode::createEncoder()
QSet<QString> QGstreamerAudioEncode::supportedStreamTypes(const QString &codecName) const
{
- return m_streamTypes.value(codecName);
+ return m_codecs.supportedStreamTypes(codecName);
}
diff --git a/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.h b/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.h
index 04de602ad..0cfbb4e91 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.h
+++ b/src/plugins/gstreamer/mediacapture/qgstreameraudioencode.h
@@ -86,8 +86,6 @@ private:
QMap<QString, QMap<QString, QVariant> > m_options;
- QMap<QString, QSet<QString> > m_streamTypes;
-
QAudioEncoderSettings m_audioSettings;
};
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp b/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp
index 05f1c8af5..33351476d 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp
+++ b/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.cpp
@@ -47,47 +47,11 @@ QGstreamerMediaContainerControl::QGstreamerMediaContainerControl(QObject *parent
:QMediaContainerControl(parent)
, m_containers(QGstCodecsInfo::Muxer)
{
- QSet<QString> allTypes;
-
- for (const QString& formatName : supportedContainers()) {
- GstElementFactory *factory = gst_element_factory_find(m_containers.codecElement(formatName).constData());
- if (factory) {
- if (formatName == QByteArray("raw")) {
- m_streamTypes.insert(formatName, allTypes);
- } else {
- QSet<QString> types = supportedStreamTypes(factory, GST_PAD_SINK);
- m_streamTypes.insert(formatName, types);
- allTypes.unite(types);
- }
-
- gst_object_unref(GST_OBJECT(factory));
- }
- }
}
-QSet<QString> QGstreamerMediaContainerControl::supportedStreamTypes(GstElementFactory *factory, GstPadDirection direction)
-{
- QSet<QString> types;
- const GList *pads = gst_element_factory_get_static_pad_templates(factory);
- for (const GList *pad = pads; pad; pad = g_list_next(pad)) {
- GstStaticPadTemplate *templ = (GstStaticPadTemplate*)pad->data;
- if (templ->direction == direction) {
- GstCaps *caps = gst_static_caps_get(&templ->static_caps);
- for (uint i=0; i<gst_caps_get_size(caps); i++) {
- GstStructure *structure = gst_caps_get_structure(caps, i);
- types.insert( QString::fromUtf8(gst_structure_get_name(structure)) );
- }
- gst_caps_unref(caps);
- }
- }
-
- return types;
-}
-
-
QSet<QString> QGstreamerMediaContainerControl::supportedStreamTypes(const QString &container) const
{
- return m_streamTypes.value(container);
+ return m_containers.supportedStreamTypes(container);
}
QString QGstreamerMediaContainerControl::containerExtension() const
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.h b/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.h
index 5c730b21d..02c7346b1 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.h
+++ b/src/plugins/gstreamer/mediacapture/qgstreamermediacontainercontrol.h
@@ -68,14 +68,11 @@ public:
QSet<QString> supportedStreamTypes(const QString &container) const;
- static QSet<QString> supportedStreamTypes(GstElementFactory *factory, GstPadDirection direction);
-
QString containerExtension() const;
private:
QString m_format;
QGstCodecsInfo m_containers;
- QMap<QString, QSet<QString> > m_streamTypes;
};
QT_END_NAMESPACE
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp b/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp
index 674e1034e..4cc0e5f25 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp
+++ b/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.cpp
@@ -49,15 +49,6 @@ QGstreamerVideoEncode::QGstreamerVideoEncode(QGstreamerCaptureSession *session)
:QVideoEncoderSettingsControl(session), m_session(session)
, m_codecs(QGstCodecsInfo::VideoEncoder)
{
- for (const QString& codecName : supportedVideoCodecs()) {
- GstElementFactory *factory = gst_element_factory_find(m_codecs.codecElement(codecName).constData());
- if (factory) {
- m_streamTypes.insert(codecName,
- QGstreamerMediaContainerControl::supportedStreamTypes(factory, GST_PAD_SRC));
-
- gst_object_unref(GST_OBJECT(factory));
- }
- }
}
QGstreamerVideoEncode::~QGstreamerVideoEncode()
@@ -301,5 +292,5 @@ QPair<int,int> QGstreamerVideoEncode::rateAsRational() const
QSet<QString> QGstreamerVideoEncode::supportedStreamTypes(const QString &codecName) const
{
- return m_streamTypes.value(codecName);
+ return m_codecs.supportedStreamTypes(codecName);
}
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.h b/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.h
index bc6636012..a35e2b456 100644
--- a/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.h
+++ b/src/plugins/gstreamer/mediacapture/qgstreamervideoencode.h
@@ -90,7 +90,6 @@ private:
QVideoEncoderSettings m_videoSettings;
QMap<QString, QMap<QString, QVariant> > m_options;
- QMap<QString, QSet<QString> > m_streamTypes;
};
QT_END_NAMESPACE