Update to 5.4.2
This commit is contained in:
parent
9cc62c66af
commit
c4411d1325
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/qtmultimedia-opensource-src-5.3.2.tar.xz
|
||||
/qtmultimedia-opensource-src-5.4.0.tar.xz
|
||||
/qtmultimedia-opensource-src-5.4.1.tar.xz
|
||||
/qtmultimedia-opensource-src-5.4.2.tar.xz
|
||||
|
@ -100,18 +100,19 @@ index 751b38d..251df34 100644
|
||||
}
|
||||
|
||||
diff --git a/qtmultimedia.pro b/qtmultimedia.pro
|
||||
index 3cec526..84f2548 100644
|
||||
index cf97e64..48a71ce 100644
|
||||
--- a/qtmultimedia.pro
|
||||
+++ b/qtmultimedia.pro
|
||||
@@ -17,11 +17,27 @@ win32 {
|
||||
@@ -17,12 +17,27 @@ win32 {
|
||||
} else {
|
||||
qtCompileTest(alsa)
|
||||
qtCompileTest(pulseaudio)
|
||||
contains(QT_CONFIG, alsa):qtCompileTest(alsa)
|
||||
contains(QT_CONFIG, pulseaudio):qtCompileTest(pulseaudio)
|
||||
- qtCompileTest(gstreamer) {
|
||||
- qtCompileTest(gstreamer_photography)
|
||||
- qtCompileTest(gstreamer_encodingprofiles)
|
||||
- qtCompileTest(gstreamer_appsrc)
|
||||
- qtCompileTest(linux_v4l)
|
||||
- }
|
||||
+ !done_config_gstreamer {
|
||||
+ gstver=0.10
|
||||
+ !isEmpty(GST_VERSION): gstver=$$GST_VERSION
|
||||
@ -133,9 +134,9 @@ index 3cec526..84f2548 100644
|
||||
+ qtCompileTest(linux_v4l)
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
qtCompileTest(resourcepolicy)
|
||||
qtCompileTest(gpu_vivante)
|
||||
}
|
||||
diff --git a/src/gsttools/gsttools.pro b/src/gsttools/gsttools.pro
|
||||
index 7c809a7..7c41f1a 100644
|
||||
--- a/src/gsttools/gsttools.pro
|
||||
@ -1123,7 +1124,7 @@ index 2b66f76..804dce9 100644
|
||||
#include <gst/gst.h>
|
||||
|
||||
diff --git a/src/gsttools/qgstreamervideowidget.cpp b/src/gsttools/qgstreamervideowidget.cpp
|
||||
index aa2e2a3..1ae57a0 100644
|
||||
index b26369a..72a5a12 100644
|
||||
--- a/src/gsttools/qgstreamervideowidget.cpp
|
||||
+++ b/src/gsttools/qgstreamervideowidget.cpp
|
||||
@@ -40,8 +40,13 @@
|
||||
@ -1140,16 +1141,7 @@ index aa2e2a3..1ae57a0 100644
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
@@ -130,8 +135,6 @@ void QGstreamerVideoWidgetControl::createVideoWidget()
|
||||
m_videoSink = gst_element_factory_make ("ximagesink", NULL);
|
||||
|
||||
qt_gst_object_ref_sink(GST_OBJECT (m_videoSink)); //Take ownership
|
||||
-
|
||||
-
|
||||
}
|
||||
|
||||
GstElement *QGstreamerVideoWidgetControl::videoSink()
|
||||
@@ -169,9 +172,13 @@ bool QGstreamerVideoWidgetControl::processSyncMessage(const QGstreamerMessage &m
|
||||
@@ -161,9 +166,13 @@ bool QGstreamerVideoWidgetControl::processSyncMessage(const QGstreamerMessage &m
|
||||
{
|
||||
GstMessage* gm = message.rawMessage();
|
||||
|
||||
@ -1164,7 +1156,7 @@ index aa2e2a3..1ae57a0 100644
|
||||
setOverlay();
|
||||
QMetaObject::invokeMethod(this, "updateNativeVideoSize", Qt::QueuedConnection);
|
||||
return true;
|
||||
@@ -199,17 +206,24 @@ bool QGstreamerVideoWidgetControl::processBusMessage(const QGstreamerMessage &me
|
||||
@@ -191,17 +200,24 @@ bool QGstreamerVideoWidgetControl::processBusMessage(const QGstreamerMessage &me
|
||||
|
||||
void QGstreamerVideoWidgetControl::setOverlay()
|
||||
{
|
||||
@ -1191,7 +1183,7 @@ index aa2e2a3..1ae57a0 100644
|
||||
gst_object_unref(GST_OBJECT(pad));
|
||||
|
||||
if (caps) {
|
||||
@@ -225,8 +239,13 @@ void QGstreamerVideoWidgetControl::updateNativeVideoSize()
|
||||
@@ -217,8 +233,13 @@ void QGstreamerVideoWidgetControl::updateNativeVideoSize()
|
||||
|
||||
void QGstreamerVideoWidgetControl::windowExposed()
|
||||
{
|
||||
@ -1413,25 +1405,10 @@ index a373dcc..8011349 100644
|
||||
|
||||
GstElement *QGstreamerVideoWindow::videoSink()
|
||||
diff --git a/src/gsttools/qgstutils.cpp b/src/gsttools/qgstutils.cpp
|
||||
index 1281d3f..86d9404 100644
|
||||
index 465f439..b1161f7 100644
|
||||
--- a/src/gsttools/qgstutils.cpp
|
||||
+++ b/src/gsttools/qgstutils.cpp
|
||||
@@ -40,7 +40,14 @@
|
||||
#include <QtCore/qsize.h>
|
||||
#include <QtCore/qset.h>
|
||||
#include <QtCore/qstringlist.h>
|
||||
+#include <QtGui/qimage.h>
|
||||
#include <qaudioformat.h>
|
||||
+#include <QtMultimedia/qvideosurfaceformat.h>
|
||||
+
|
||||
+#include <gst/audio/audio.h>
|
||||
+#include <gst/video/video.h>
|
||||
+
|
||||
+template<typename T, int N> static int lengthOf(const T (&)[N]) { return N; }
|
||||
|
||||
#ifdef USE_V4L
|
||||
# include <private/qcore_unix_p.h>
|
||||
@@ -82,15 +89,24 @@ static void addTagToMap(const GstTagList *list,
|
||||
@@ -83,15 +83,24 @@ static void addTagToMap(const GstTagList *list,
|
||||
map->insert(QByteArray(tag), g_value_get_boolean(&val));
|
||||
break;
|
||||
case G_TYPE_CHAR:
|
||||
@ -1456,7 +1433,7 @@ index 1281d3f..86d9404 100644
|
||||
if (g_date_valid(date)) {
|
||||
int year = g_date_get_year(date);
|
||||
int month = g_date_get_month(date);
|
||||
@@ -169,6 +185,42 @@ QSize QGstUtils::capsCorrectedResolution(const GstCaps *caps)
|
||||
@@ -170,6 +179,42 @@ QSize QGstUtils::capsCorrectedResolution(const GstCaps *caps)
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -1499,7 +1476,7 @@ index 1281d3f..86d9404 100644
|
||||
/*!
|
||||
Returns audio format for caps.
|
||||
If caps doesn't have a valid audio format, an empty QAudioFormat is returned.
|
||||
@@ -176,9 +228,26 @@ QSize QGstUtils::capsCorrectedResolution(const GstCaps *caps)
|
||||
@@ -177,9 +222,26 @@ QSize QGstUtils::capsCorrectedResolution(const GstCaps *caps)
|
||||
|
||||
QAudioFormat QGstUtils::audioFormatForCaps(const GstCaps *caps)
|
||||
{
|
||||
@ -1528,7 +1505,7 @@ index 1281d3f..86d9404 100644
|
||||
|
||||
if (qstrcmp(gst_structure_get_name(structure), "audio/x-raw-int") == 0) {
|
||||
|
||||
@@ -249,16 +318,28 @@ QAudioFormat QGstUtils::audioFormatForCaps(const GstCaps *caps)
|
||||
@@ -250,16 +312,28 @@ QAudioFormat QGstUtils::audioFormatForCaps(const GstCaps *caps)
|
||||
} else {
|
||||
return QAudioFormat();
|
||||
}
|
||||
@ -1559,7 +1536,7 @@ index 1281d3f..86d9404 100644
|
||||
QAudioFormat QGstUtils::audioFormatForBuffer(GstBuffer *buffer)
|
||||
{
|
||||
GstCaps* caps = gst_buffer_get_caps(buffer);
|
||||
@@ -269,7 +350,7 @@ QAudioFormat QGstUtils::audioFormatForBuffer(GstBuffer *buffer)
|
||||
@@ -270,7 +344,7 @@ QAudioFormat QGstUtils::audioFormatForBuffer(GstBuffer *buffer)
|
||||
gst_caps_unref(caps);
|
||||
return format;
|
||||
}
|
||||
@ -1568,7 +1545,7 @@ index 1281d3f..86d9404 100644
|
||||
|
||||
/*!
|
||||
Builds GstCaps for an audio format.
|
||||
@@ -277,8 +358,32 @@ QAudioFormat QGstUtils::audioFormatForBuffer(GstBuffer *buffer)
|
||||
@@ -278,8 +352,32 @@ QAudioFormat QGstUtils::audioFormatForBuffer(GstBuffer *buffer)
|
||||
Caller must unref GstCaps.
|
||||
*/
|
||||
|
||||
@ -1602,7 +1579,7 @@ index 1281d3f..86d9404 100644
|
||||
GstStructure *structure = 0;
|
||||
|
||||
if (format.isValid()) {
|
||||
@@ -313,6 +418,7 @@ GstCaps *QGstUtils::capsForAudioFormat(QAudioFormat format)
|
||||
@@ -314,6 +412,7 @@ GstCaps *QGstUtils::capsForAudioFormat(QAudioFormat format)
|
||||
}
|
||||
|
||||
return caps;
|
||||
@ -1610,7 +1587,7 @@ index 1281d3f..86d9404 100644
|
||||
}
|
||||
|
||||
void QGstUtils::initializeGst()
|
||||
@@ -578,10 +684,629 @@ QByteArray QGstUtils::cameraDriver(const QString &device, GstElementFactory *fac
|
||||
@@ -585,10 +684,629 @@ QByteArray QGstUtils::cameraDriver(const QString &device, GstElementFactory *fac
|
||||
return QByteArray();
|
||||
}
|
||||
|
||||
@ -2241,7 +2218,7 @@ index 1281d3f..86d9404 100644
|
||||
gst_object_ref_sink(object);
|
||||
#else
|
||||
g_return_if_fail (GST_IS_OBJECT(object));
|
||||
@@ -597,4 +1322,50 @@ void qt_gst_object_ref_sink(gpointer object)
|
||||
@@ -604,4 +1322,50 @@ void qt_gst_object_ref_sink(gpointer object)
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -5106,7 +5083,7 @@ index 3a04c2f..801c7ab 100644
|
||||
|
||||
QAudioEncoderSettings audioSettings = audioEncoderControl->audioSettings();
|
||||
diff --git a/src/plugins/gstreamer/camerabin/camerabinservice.cpp b/src/plugins/gstreamer/camerabin/camerabinservice.cpp
|
||||
index 969955f..388f2fd 100644
|
||||
index e4aa594..e669a57 100644
|
||||
--- a/src/plugins/gstreamer/camerabin/camerabinservice.cpp
|
||||
+++ b/src/plugins/gstreamer/camerabin/camerabinservice.cpp
|
||||
@@ -56,11 +56,11 @@
|
||||
@ -5122,15 +5099,7 @@ index 969955f..388f2fd 100644
|
||||
#if defined(HAVE_WIDGETS)
|
||||
#include <private/qgstreamervideowidget_p.h>
|
||||
#endif
|
||||
@@ -121,7 +121,6 @@ CameraBinService::CameraBinService(GstElementFactory *sourceFactory, QObject *pa
|
||||
#else
|
||||
m_videoWindow = new QGstreamerVideoWindow(this);
|
||||
#endif
|
||||
-
|
||||
#if defined(HAVE_WIDGETS)
|
||||
m_videoWidgetControl = new QGstreamerVideoWidgetControl(this);
|
||||
#endif
|
||||
@@ -150,8 +149,6 @@ QMediaControl *CameraBinService::requestControl(const char *name)
|
||||
@@ -164,8 +164,6 @@ QMediaControl *CameraBinService::requestControl(const char *name)
|
||||
if (!m_captureSession)
|
||||
return 0;
|
||||
|
||||
@ -5139,7 +5108,7 @@ index 969955f..388f2fd 100644
|
||||
if (!m_videoOutput) {
|
||||
if (qstrcmp(name, QVideoRendererControl_iid) == 0) {
|
||||
m_videoOutput = m_videoRenderer;
|
||||
@@ -249,7 +246,7 @@ void CameraBinService::releaseControl(QMediaControl *control)
|
||||
@@ -263,7 +261,7 @@ void CameraBinService::releaseControl(QMediaControl *control)
|
||||
|
||||
bool CameraBinService::isCameraBinAvailable()
|
||||
{
|
||||
@ -5747,7 +5716,7 @@ index d05df49..8881445 100644
|
||||
if (m_audioSettings.sampleRate() > 0)
|
||||
gst_structure_set(structure, "rate", G_TYPE_INT, m_audioSettings.sampleRate(), NULL );
|
||||
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.cpp b/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.cpp
|
||||
index 97a165d..1ab98cd 100644
|
||||
index e77feeb..04e2966 100644
|
||||
--- a/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.cpp
|
||||
+++ b/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.cpp
|
||||
@@ -62,27 +62,25 @@
|
||||
@ -5793,7 +5762,7 @@ index 97a165d..1ab98cd 100644
|
||||
if (service == Q_MEDIASERVICE_AUDIOSOURCE) {
|
||||
m_captureSession = new QGstreamerCaptureSession(QGstreamerCaptureSession::Audio, this);
|
||||
}
|
||||
@@ -163,12 +161,12 @@ QMediaControl *QGstreamerCaptureService::requestControl(const char *name)
|
||||
@@ -178,12 +176,12 @@ QMediaControl *QGstreamerCaptureService::requestControl(const char *name)
|
||||
return m_imageCaptureControl;
|
||||
|
||||
if (qstrcmp(name,QMediaAudioProbeControl_iid) == 0) {
|
||||
@ -5811,7 +5780,7 @@ index 97a165d..1ab98cd 100644
|
||||
}
|
||||
|
||||
if (!m_videoOutput) {
|
||||
@@ -194,17 +192,15 @@ QMediaControl *QGstreamerCaptureService::requestControl(const char *name)
|
||||
@@ -209,17 +207,15 @@ QMediaControl *QGstreamerCaptureService::requestControl(const char *name)
|
||||
|
||||
void QGstreamerCaptureService::releaseControl(QMediaControl *control)
|
||||
{
|
||||
@ -5837,7 +5806,7 @@ index 97a165d..1ab98cd 100644
|
||||
}
|
||||
|
||||
diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.h b/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.h
|
||||
index 7ff8ce2..e0cf4ee 100644
|
||||
index e5166d1..d6a5843 100644
|
||||
--- a/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.h
|
||||
+++ b/src/plugins/gstreamer/mediacapture/qgstreamercaptureservice.h
|
||||
@@ -43,6 +43,7 @@ QT_BEGIN_NAMESPACE
|
||||
@ -5848,8 +5817,8 @@ index 7ff8ce2..e0cf4ee 100644
|
||||
class QGstreamerCaptureSession;
|
||||
class QGstreamerCameraControl;
|
||||
class QGstreamerMessage;
|
||||
@@ -86,6 +87,8 @@ private:
|
||||
QMediaControl *m_videoWidgetControl;
|
||||
@@ -87,6 +88,8 @@ private:
|
||||
QGstreamerVideoWidgetControl *m_videoWidgetControl;
|
||||
#endif
|
||||
QGstreamerImageCaptureControl *m_imageCaptureControl;
|
||||
+
|
||||
@ -6547,7 +6516,7 @@ index fed756a..c1fb64a 100644
|
||||
if (!request.url().isEmpty() || userStreamValid) {
|
||||
#else
|
||||
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
|
||||
index ce267d7..84805b6 100644
|
||||
index ddc828e..1fee6bf 100644
|
||||
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
|
||||
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
|
||||
@@ -51,7 +51,11 @@
|
||||
@ -6581,7 +6550,7 @@ index ce267d7..84805b6 100644
|
||||
#else
|
||||
m_videoRenderer = new QGstreamerVideoRenderer(this);
|
||||
#endif
|
||||
@@ -115,23 +123,23 @@ QMediaControl *QGstreamerPlayerService::requestControl(const char *name)
|
||||
@@ -129,23 +137,23 @@ QMediaControl *QGstreamerPlayerService::requestControl(const char *name)
|
||||
if (qstrcmp(name, QMediaAvailabilityControl_iid) == 0)
|
||||
return m_availabilityControl;
|
||||
|
||||
@ -6617,7 +6586,7 @@ index ce267d7..84805b6 100644
|
||||
}
|
||||
|
||||
if (!m_videoOutput) {
|
||||
@@ -156,28 +164,21 @@ QMediaControl *QGstreamerPlayerService::requestControl(const char *name)
|
||||
@@ -170,28 +178,21 @@ QMediaControl *QGstreamerPlayerService::requestControl(const char *name)
|
||||
|
||||
void QGstreamerPlayerService::releaseControl(QMediaControl *control)
|
||||
{
|
||||
@ -6659,11 +6628,11 @@ index ce267d7..84805b6 100644
|
||||
}
|
||||
|
||||
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
|
||||
index f3081e9..22be262 100644
|
||||
index 0c5b406..a5dbe98 100644
|
||||
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
|
||||
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.h
|
||||
@@ -52,6 +52,8 @@ class QGstreamerStreamsControl;
|
||||
class QGstreamerVideoRenderer;
|
||||
@@ -53,6 +53,8 @@ class QGstreamerVideoRenderer;
|
||||
class QGstreamerVideoWindow;
|
||||
class QGstreamerVideoWidgetControl;
|
||||
class QGStreamerAvailabilityControl;
|
||||
+class QGstreamerAudioProbeControl;
|
||||
@ -6671,7 +6640,7 @@ index f3081e9..22be262 100644
|
||||
|
||||
class QGstreamerPlayerService : public QMediaService
|
||||
{
|
||||
@@ -70,6 +72,9 @@ private:
|
||||
@@ -71,6 +73,9 @@ private:
|
||||
QGstreamerStreamsControl *m_streamsControl;
|
||||
QGStreamerAvailabilityControl *m_availabilityControl;
|
||||
|
||||
@ -6680,7 +6649,7 @@ index f3081e9..22be262 100644
|
||||
+
|
||||
QMediaControl *m_videoOutput;
|
||||
QMediaControl *m_videoRenderer;
|
||||
QMediaControl *m_videoWindow;
|
||||
QGstreamerVideoWindow *m_videoWindow;
|
||||
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp
|
||||
index 7d20b6d..f1fd421 100644
|
||||
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user