Merge branch 'test-m' into mer-5.6
This commit is contained in:
@@ -371,6 +371,10 @@ Module {
|
|||||||
"ExposureParty": 18,
|
"ExposureParty": 18,
|
||||||
"ExposureCandlelight": 19,
|
"ExposureCandlelight": 19,
|
||||||
"ExposureBarcode": 20,
|
"ExposureBarcode": 20,
|
||||||
|
"ExposureFlowers": 21,
|
||||||
|
"ExposureAR": 22,
|
||||||
|
"ExposureHDR": 23,
|
||||||
|
"ExposureCloseup": 24,
|
||||||
"ExposureModeVendor": 1000
|
"ExposureModeVendor": 1000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -641,6 +645,10 @@ Module {
|
|||||||
"ExposureParty": 18,
|
"ExposureParty": 18,
|
||||||
"ExposureCandlelight": 19,
|
"ExposureCandlelight": 19,
|
||||||
"ExposureBarcode": 20,
|
"ExposureBarcode": 20,
|
||||||
|
"ExposureFlowers": 21,
|
||||||
|
"ExposureAR": 22,
|
||||||
|
"ExposureHDR": 23,
|
||||||
|
"ExposureCloseup": 24,
|
||||||
"ExposureModeVendor": 1000
|
"ExposureModeVendor": 1000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -848,6 +856,7 @@ Module {
|
|||||||
"WhiteBalanceFluorescent": 6,
|
"WhiteBalanceFluorescent": 6,
|
||||||
"WhiteBalanceFlash": 7,
|
"WhiteBalanceFlash": 7,
|
||||||
"WhiteBalanceSunset": 8,
|
"WhiteBalanceSunset": 8,
|
||||||
|
"WhiteBalanceWarmFluorescent": 9,
|
||||||
"WhiteBalanceVendor": 1000
|
"WhiteBalanceVendor": 1000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -863,6 +872,9 @@ Module {
|
|||||||
"ColorFilterWhiteboard": 6,
|
"ColorFilterWhiteboard": 6,
|
||||||
"ColorFilterBlackboard": 7,
|
"ColorFilterBlackboard": 7,
|
||||||
"ColorFilterAqua": 8,
|
"ColorFilterAqua": 8,
|
||||||
|
"ColorFilterEmboss": 9,
|
||||||
|
"ColorFilterSketch": 10,
|
||||||
|
"ColorFilterNeon": 11,
|
||||||
"ColorFilterVendor": 1000
|
"ColorFilterVendor": 1000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -202,6 +202,10 @@ public:
|
|||||||
ExposureParty = QCameraExposure::ExposureParty,
|
ExposureParty = QCameraExposure::ExposureParty,
|
||||||
ExposureCandlelight = QCameraExposure::ExposureCandlelight,
|
ExposureCandlelight = QCameraExposure::ExposureCandlelight,
|
||||||
ExposureBarcode = QCameraExposure::ExposureBarcode,
|
ExposureBarcode = QCameraExposure::ExposureBarcode,
|
||||||
|
ExposureFlowers = QCameraExposure::ExposureFlowers,
|
||||||
|
ExposureAR = QCameraExposure::ExposureAR,
|
||||||
|
ExposureHDR = QCameraExposure::ExposureHDR,
|
||||||
|
ExposureCloseup = QCameraExposure::ExposureCloseup,
|
||||||
ExposureModeVendor = QCameraExposure::ExposureModeVendor
|
ExposureModeVendor = QCameraExposure::ExposureModeVendor
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -347,6 +347,10 @@ void QDeclarativeCameraExposure::setAutoIsoSensitivity()
|
|||||||
\row \li Camera.ExposureParty \li Party exposure mode. Since 5.5
|
\row \li Camera.ExposureParty \li Party exposure mode. Since 5.5
|
||||||
\row \li Camera.ExposureCandlelight \li Candlelight exposure mode. Since 5.5
|
\row \li Camera.ExposureCandlelight \li Candlelight exposure mode. Since 5.5
|
||||||
\row \li Camera.ExposureBarcode \li Barcode exposure mode. Since 5.5
|
\row \li Camera.ExposureBarcode \li Barcode exposure mode. Since 5.5
|
||||||
|
\row \li Camera.ExposureFlowers \li Flowers exposure mode. Since 5.x
|
||||||
|
\row \li Camera.ExposureAR \li Augmented reality exposure mode. Since 5.x
|
||||||
|
\row \li Camera.ExposureHDR \li High dynamic range exposure mode. Since 5.x
|
||||||
|
\row \li Camera.ExposureCloseup \li Closeup exposure mode. Since 5.x
|
||||||
\row \li Camera.ExposureModeVendor \li The base value for device specific exposure modes.
|
\row \li Camera.ExposureModeVendor \li The base value for device specific exposure modes.
|
||||||
\endtable
|
\endtable
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -89,16 +89,17 @@ QDeclarativeCameraImageProcessing::~QDeclarativeCameraImageProcessing()
|
|||||||
|
|
||||||
\table
|
\table
|
||||||
\header \li Value \li Description
|
\header \li Value \li Description
|
||||||
\row \li WhiteBalanceManual \li Manual white balance. In this mode the manual white balance property value is used.
|
\row \li WhiteBalanceManual \li Manual white balance. In this mode the manual white balance property value is used.
|
||||||
\row \li WhiteBalanceAuto \li Auto white balance mode.
|
\row \li WhiteBalanceAuto \li Auto white balance mode.
|
||||||
\row \li WhiteBalanceSunlight \li Sunlight white balance mode.
|
\row \li WhiteBalanceSunlight \li Sunlight white balance mode.
|
||||||
\row \li WhiteBalanceCloudy \li Cloudy white balance mode.
|
\row \li WhiteBalanceCloudy \li Cloudy white balance mode.
|
||||||
\row \li WhiteBalanceShade \li Shade white balance mode.
|
\row \li WhiteBalanceShade \li Shade white balance mode.
|
||||||
\row \li WhiteBalanceTungsten \li Tungsten white balance mode.
|
\row \li WhiteBalanceTungsten \li Tungsten white balance mode.
|
||||||
\row \li WhiteBalanceFluorescent \li Fluorescent white balance mode.
|
\row \li WhiteBalanceFluorescent \li Fluorescent white balance mode.
|
||||||
\row \li WhiteBalanceFlash \li Flash white balance mode.
|
\row \li WhiteBalanceFlash \li Flash white balance mode.
|
||||||
\row \li WhiteBalanceSunset \li Sunset white balance mode.
|
\row \li WhiteBalanceSunset \li Sunset white balance mode.
|
||||||
\row \li WhiteBalanceVendor \li Vendor defined white balance mode.
|
\row \li WhiteBalanceWarmFluorescent \li Warm fluorescent white balance mode.
|
||||||
|
\row \li WhiteBalanceVendor \li Vendor defined white balance mode.
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
\sa manualWhiteBalance
|
\sa manualWhiteBalance
|
||||||
@@ -234,6 +235,9 @@ void QDeclarativeCameraImageProcessing::setDenoisingLevel(qreal value)
|
|||||||
\row \li CameraImageProcessing.ColorFilterWhiteboard \li A whiteboard filter.
|
\row \li CameraImageProcessing.ColorFilterWhiteboard \li A whiteboard filter.
|
||||||
\row \li CameraImageProcessing.ColorFilterBlackboard \li A blackboard filter.
|
\row \li CameraImageProcessing.ColorFilterBlackboard \li A blackboard filter.
|
||||||
\row \li CameraImageProcessing.ColorFilterAqua \li An aqua filter.
|
\row \li CameraImageProcessing.ColorFilterAqua \li An aqua filter.
|
||||||
|
\row \li CameraImageProcessing.ColorFilterEmboss \li An emboss filter.
|
||||||
|
\row \li CameraImageProcessing.ColorFilterSketch \li An sketch filter.
|
||||||
|
\row \li CameraImageProcessing.ColorFilterNeon \li An neon filter.
|
||||||
\row \li CameraImageProcessing.ColorFilterVendor \li The base value for vendor defined filters.
|
\row \li CameraImageProcessing.ColorFilterVendor \li The base value for vendor defined filters.
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
|
|||||||
@@ -642,6 +642,10 @@ void QCameraExposure::setAutoShutterSpeed()
|
|||||||
\value ExposureParty Party mode. Since 5.5
|
\value ExposureParty Party mode. Since 5.5
|
||||||
\value ExposureCandlelight Candlelight mode. Since 5.5
|
\value ExposureCandlelight Candlelight mode. Since 5.5
|
||||||
\value ExposureBarcode Barcode mode. Since 5.5
|
\value ExposureBarcode Barcode mode. Since 5.5
|
||||||
|
\value ExposureFlowers Flowers exposure mode. Since 5.x
|
||||||
|
\value ExposureAR Augmented reality exposure mode. Since 5.x
|
||||||
|
\value ExposureHDR High dynamic range exposure mode. Since 5.x
|
||||||
|
\value ExposureCloseup Closeup exposure mode. Since 5.x
|
||||||
\value ExposureModeVendor The base value for device specific exposure modes.
|
\value ExposureModeVendor The base value for device specific exposure modes.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -305,17 +305,18 @@ void QCameraImageProcessing::setDenoisingLevel(qreal level)
|
|||||||
/*!
|
/*!
|
||||||
\enum QCameraImageProcessing::WhiteBalanceMode
|
\enum QCameraImageProcessing::WhiteBalanceMode
|
||||||
|
|
||||||
\value WhiteBalanceAuto Auto white balance mode.
|
\value WhiteBalanceAuto Auto white balance mode.
|
||||||
\value WhiteBalanceManual Manual white balance. In this mode the white balance should be set with
|
\value WhiteBalanceManual Manual white balance. In this mode the white balance should be set with
|
||||||
setManualWhiteBalance()
|
setManualWhiteBalance()
|
||||||
\value WhiteBalanceSunlight Sunlight white balance mode.
|
\value WhiteBalanceSunlight Sunlight white balance mode.
|
||||||
\value WhiteBalanceCloudy Cloudy white balance mode.
|
\value WhiteBalanceCloudy Cloudy white balance mode.
|
||||||
\value WhiteBalanceShade Shade white balance mode.
|
\value WhiteBalanceShade Shade white balance mode.
|
||||||
\value WhiteBalanceTungsten Tungsten (incandescent) white balance mode.
|
\value WhiteBalanceTungsten Tungsten (incandescent) white balance mode.
|
||||||
\value WhiteBalanceFluorescent Fluorescent white balance mode.
|
\value WhiteBalanceFluorescent Fluorescent white balance mode.
|
||||||
\value WhiteBalanceFlash Flash white balance mode.
|
\value WhiteBalanceFlash Flash white balance mode.
|
||||||
\value WhiteBalanceSunset Sunset white balance mode.
|
\value WhiteBalanceSunset Sunset white balance mode.
|
||||||
\value WhiteBalanceVendor Base value for vendor defined white balance modes.
|
\value WhiteBalanceWarmFluorescent Warm fluorescent white balance mode.
|
||||||
|
\value WhiteBalanceVendor Base value for vendor defined white balance modes.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -330,6 +331,9 @@ void QCameraImageProcessing::setDenoisingLevel(qreal level)
|
|||||||
\value ColorFilterWhiteboard A whiteboard filter.
|
\value ColorFilterWhiteboard A whiteboard filter.
|
||||||
\value ColorFilterBlackboard A blackboard filter.
|
\value ColorFilterBlackboard A blackboard filter.
|
||||||
\value ColorFilterAqua An aqua filter.
|
\value ColorFilterAqua An aqua filter.
|
||||||
|
\value ColorFilterEmboss An emboss filter.
|
||||||
|
\value ColorFilterSketch A sketch filter.
|
||||||
|
\value ColorFilterNeon A neon filter.
|
||||||
\value ColorFilterVendor The base value for vendor defined filters.
|
\value ColorFilterVendor The base value for vendor defined filters.
|
||||||
|
|
||||||
\since 5.5
|
\since 5.5
|
||||||
|
|||||||
@@ -458,6 +458,7 @@ void CameraBinSession::setAudioCaptureCaps()
|
|||||||
|
|
||||||
GstElement *CameraBinSession::buildCameraSource()
|
GstElement *CameraBinSession::buildCameraSource()
|
||||||
{
|
{
|
||||||
|
bool connectReadyForCapture = false;
|
||||||
#if CAMERABIN_DEBUG
|
#if CAMERABIN_DEBUG
|
||||||
qDebug() << Q_FUNC_INFO;
|
qDebug() << Q_FUNC_INFO;
|
||||||
#endif
|
#endif
|
||||||
@@ -525,6 +526,14 @@ GstElement *CameraBinSession::buildCameraSource()
|
|||||||
|
|
||||||
if (m_videoSrc)
|
if (m_videoSrc)
|
||||||
g_object_set(G_OBJECT(m_cameraSrc), "video-source", m_videoSrc, NULL);
|
g_object_set(G_OBJECT(m_cameraSrc), "video-source", m_videoSrc, NULL);
|
||||||
|
|
||||||
|
// CameraBin doesn't emit ready-for-capture notify signal
|
||||||
|
// in the same manner that gst-droid does, thus making
|
||||||
|
// Qt report "Camera not ready error" due to changes in
|
||||||
|
// 46c29f5b and b04854b4. Workaround this by assuming that
|
||||||
|
// camera is ready.
|
||||||
|
m_reportedReadyForCapture = true;
|
||||||
|
m_readyForCapture = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_videoSrc)
|
if (m_videoSrc)
|
||||||
@@ -536,12 +545,21 @@ GstElement *CameraBinSession::buildCameraSource()
|
|||||||
} else {
|
} else {
|
||||||
g_object_set(G_OBJECT(m_cameraSrc), "camera-device", 0, NULL);
|
g_object_set(G_OBJECT(m_cameraSrc), "camera-device", 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Explicitly reset those values in case of
|
||||||
|
// camera changing from v4l to this
|
||||||
|
m_reportedReadyForCapture = false;
|
||||||
|
m_readyForCapture = false;
|
||||||
|
|
||||||
|
connectReadyForCapture = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_cameraSrc != camSrc) {
|
if (m_cameraSrc != camSrc) {
|
||||||
g_object_set(G_OBJECT(m_camerabin), CAMERA_SOURCE_PROPERTY, m_cameraSrc, NULL);
|
g_object_set(G_OBJECT(m_camerabin), CAMERA_SOURCE_PROPERTY, m_cameraSrc, NULL);
|
||||||
g_signal_connect(G_OBJECT(m_cameraSrc), "notify::ready-for-capture", G_CALLBACK(updateReadyForCapture), this);
|
if (connectReadyForCapture) {
|
||||||
|
g_signal_connect(G_OBJECT(m_cameraSrc), "notify::ready-for-capture", G_CALLBACK(updateReadyForCapture), this);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ void CameraBinZoom::updateMaxZoom(GObject *o, GParamSpec *p, gpointer d)
|
|||||||
|
|
||||||
CameraBinZoom *zoom = reinterpret_cast<CameraBinZoom *>(d);
|
CameraBinZoom *zoom = reinterpret_cast<CameraBinZoom *>(d);
|
||||||
|
|
||||||
QMetaObject::invokeMethod(zoom, "maximumOpticalZoomChanged",
|
QMetaObject::invokeMethod(zoom, "maximumDigitalZoomChanged",
|
||||||
Qt::QueuedConnection,
|
Qt::QueuedConnection,
|
||||||
Q_ARG(qreal, zoomFactor));
|
Q_ARG(qreal, zoomFactor));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
|
|
||||||
#include <gst/gstvalue.h>
|
#include <gst/gstvalue.h>
|
||||||
#include <gst/base/gstbasesrc.h>
|
#include <gst/base/gstbasesrc.h>
|
||||||
|
#include <gst/pbutils/missing-plugins.h>
|
||||||
|
|
||||||
#include <QtMultimedia/qmediametadata.h>
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include <QtCore/qdatetime.h>
|
#include <QtCore/qdatetime.h>
|
||||||
@@ -57,7 +58,7 @@
|
|||||||
#include <QtCore/qstandardpaths.h>
|
#include <QtCore/qstandardpaths.h>
|
||||||
|
|
||||||
//#define DEBUG_PLAYBIN
|
//#define DEBUG_PLAYBIN
|
||||||
//#define DEBUG_VO_BIN_DUMP
|
#define DEBUG_VO_BIN_DUMP
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
@@ -558,7 +559,7 @@ void QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput)
|
|||||||
m_renderer = renderer;
|
m_renderer = renderer;
|
||||||
|
|
||||||
#ifdef DEBUG_VO_BIN_DUMP
|
#ifdef DEBUG_VO_BIN_DUMP
|
||||||
gst_debug_bin_to_dot_file_with_ts(GST_BIN(m_playbin),
|
GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(m_playbin),
|
||||||
GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/),
|
GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/),
|
||||||
"playbin_set");
|
"playbin_set");
|
||||||
#endif
|
#endif
|
||||||
@@ -824,7 +825,7 @@ void QGstreamerPlayerSession::finishVideoOutputChange()
|
|||||||
gst_object_unref(GST_OBJECT(srcPad));
|
gst_object_unref(GST_OBJECT(srcPad));
|
||||||
|
|
||||||
#ifdef DEBUG_VO_BIN_DUMP
|
#ifdef DEBUG_VO_BIN_DUMP
|
||||||
gst_debug_bin_to_dot_file_with_ts(GST_BIN(m_playbin),
|
GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(m_playbin),
|
||||||
GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* | GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES */),
|
GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* | GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES */),
|
||||||
"playbin_finish");
|
"playbin_finish");
|
||||||
#endif
|
#endif
|
||||||
@@ -901,11 +902,21 @@ bool QGstreamerPlayerSession::play()
|
|||||||
if (!m_isPlaylist) {
|
if (!m_isPlaylist) {
|
||||||
qWarning() << "GStreamer; Unable to play -" << m_request.url().toString();
|
qWarning() << "GStreamer; Unable to play -" << m_request.url().toString();
|
||||||
m_pendingState = m_state = QMediaPlayer::StoppedState;
|
m_pendingState = m_state = QMediaPlayer::StoppedState;
|
||||||
|
#ifdef DEBUG_VO_BIN_DUMP
|
||||||
|
GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(m_playbin),
|
||||||
|
GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/),
|
||||||
|
"playbin_error");
|
||||||
|
#endif
|
||||||
emit stateChanged(m_state);
|
emit stateChanged(m_state);
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
#ifdef DEBUG_VO_BIN_DUMP
|
||||||
|
GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(m_playbin),
|
||||||
|
GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/),
|
||||||
|
"playbin_playing");
|
||||||
|
#endif
|
||||||
resumeVideoProbes();
|
resumeVideoProbes();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1299,13 +1310,15 @@ bool QGstreamerPlayerSession::processBusMessage(const QGstreamerMessage &message
|
|||||||
handlePlaybin2 = true;
|
handlePlaybin2 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gst_is_missing_plugin_message(gm)) {
|
||||||
|
emit error(int(QMediaPlayer::FormatError), gst_missing_plugin_message_get_description(gm));
|
||||||
|
}
|
||||||
|
|
||||||
if (handlePlaybin2) {
|
if (handlePlaybin2) {
|
||||||
if (GST_MESSAGE_TYPE(gm) == GST_MESSAGE_WARNING) {
|
if (GST_MESSAGE_TYPE(gm) == GST_MESSAGE_WARNING) {
|
||||||
GError *err;
|
GError *err;
|
||||||
gchar *debug;
|
gchar *debug;
|
||||||
gst_message_parse_warning(gm, &err, &debug);
|
gst_message_parse_warning(gm, &err, &debug);
|
||||||
if (err->domain == GST_STREAM_ERROR && err->code == GST_STREAM_ERROR_CODEC_NOT_FOUND)
|
|
||||||
emit error(int(QMediaPlayer::FormatError), tr("Cannot play stream of type: <unknown>"));
|
|
||||||
// GStreamer shows warning for HTTP playlists
|
// GStreamer shows warning for HTTP playlists
|
||||||
if (!m_isPlaylist)
|
if (!m_isPlaylist)
|
||||||
qWarning() << "Warning:" << QString::fromUtf8(err->message);
|
qWarning() << "Warning:" << QString::fromUtf8(err->message);
|
||||||
|
|||||||
Reference in New Issue
Block a user