Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I24ffb71c4cc2e262394797deb8a22b2cf9a80c3c
This commit is contained in:
4
config.tests/android/android.pro
Normal file
4
config.tests/android/android.pro
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
CONFIG += java
|
||||||
|
API_VERSION = android-11
|
||||||
|
JAVASOURCES += main.java
|
||||||
|
|
||||||
6
config.tests/android/main.java
Normal file
6
config.tests/android/main.java
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import android.graphics.SurfaceTexture;
|
||||||
|
|
||||||
|
class BuildTest
|
||||||
|
{
|
||||||
|
public static void main(String [] args) { }
|
||||||
|
}
|
||||||
@@ -43,13 +43,6 @@
|
|||||||
#include <d3d9.h>
|
#include <d3d9.h>
|
||||||
#include <vmr9.h>
|
#include <vmr9.h>
|
||||||
|
|
||||||
#pragma include_alias("dxtrans.h","qedit.h")
|
|
||||||
#define __IDxtCompositor_INTERFACE_DEFINED__
|
|
||||||
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
|
|
||||||
#define __IDxtJpeg_INTERFACE_DEFINED__
|
|
||||||
#define __IDxtKey_INTERFACE_DEFINED__
|
|
||||||
#include <qedit.h>
|
|
||||||
|
|
||||||
int main(int, char**)
|
int main(int, char**)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/audiodevices
|
\example audiodevices
|
||||||
\title Audio Devices Example
|
\title Audio Devices Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief The Audio Devices example shows the application of the audio devices APIs
|
\brief The Audio Devices example shows the application of the audio devices APIs
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/audioengine
|
\example audioengine
|
||||||
\title AudioEngine Example
|
\title AudioEngine Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief The Audio Engine example demonstrates 3D sound control using
|
\brief The Audio Engine example demonstrates 3D sound control using
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/audioinput
|
\example audioinput
|
||||||
\title Audio Input Example
|
\title Audio Input Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief The Audio Input Example shows the use of the QAudioInput class.
|
\brief The Audio Input Example shows the use of the QAudioInput class.
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/audiooutput
|
\example audiooutput
|
||||||
\title Audio Output Example
|
\title Audio Output Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief The Audio Output Example show the use of the QAudioOutput API.
|
\brief The Audio Output Example show the use of the QAudioOutput API.
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/audiorecorder
|
\example audiorecorder
|
||||||
\title Audio Recorder Example
|
\title Audio Recorder Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief The Audio Recorder Example shows how to create a simple audio recorder.
|
\brief The Audio Recorder Example shows how to create a simple audio recorder.
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/declarative-radio
|
\example declarative-radio
|
||||||
\title Declarative Radio Example
|
\title Declarative Radio Example
|
||||||
\brief Demonstrates the radio functionality
|
\brief Demonstrates the radio functionality
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/spectrum
|
\example spectrum
|
||||||
\title Spectrum Example
|
\title Spectrum Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief The Spectrum Example uses a combination multimedia APIs to process microphone input.
|
\brief The Spectrum Example uses a combination multimedia APIs to process microphone input.
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/video/qmlvideo
|
\example video/qmlvideo
|
||||||
\title QML Video Example
|
\title QML Video Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimedia/video/qmlvideofx
|
\example video/qmlvideofx
|
||||||
\title QML Video Shader Effects Example
|
\title QML Video Shader Effects Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,9 @@ int main(int argc, char *argv[])
|
|||||||
QString source1, source2;
|
QString source1, source2;
|
||||||
qreal volume = 0.5;
|
qreal volume = 0.5;
|
||||||
QStringList args = app.arguments();
|
QStringList args = app.arguments();
|
||||||
|
#ifdef PERFORMANCEMONITOR_SUPPORT
|
||||||
PerformanceMonitor::State performanceMonitorState;
|
PerformanceMonitor::State performanceMonitorState;
|
||||||
|
#endif
|
||||||
bool sourceIsUrl = false;
|
bool sourceIsUrl = false;
|
||||||
for (int i = 1; i < args.size(); ++i) {
|
for (int i = 1; i < args.size(); ++i) {
|
||||||
const QByteArray arg = args.at(i).toUtf8();
|
const QByteArray arg = args.at(i).toUtf8();
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
#include <QMediaService>
|
#include <QMediaService>
|
||||||
#include <QMediaRecorder>
|
#include <QMediaRecorder>
|
||||||
#include <QCameraViewfinder>
|
#include <QCameraViewfinder>
|
||||||
|
#include <QMediaMetaData>
|
||||||
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QPalette>
|
#include <QPalette>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
\example multimediawidgets/camera
|
\example camera
|
||||||
\title Camera Example
|
\title Camera Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief The Camera Example shows how to use the API to capture a still image
|
\brief The Camera Example shows how to use the API to capture a still image
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimediawidgets/declarative-camera
|
\example declarative-camera
|
||||||
\title QML Camera Example
|
\title QML Camera Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief The Camera Example shows how to use the API to capture a still image
|
\brief The Camera Example shows how to use the API to capture a still image
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimediawidgets/player
|
\example player
|
||||||
\title Media Player Example
|
\title Media Player Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief Demonstrates the audio and video playback functionality
|
\brief Demonstrates the audio and video playback functionality
|
||||||
|
|||||||
@@ -47,9 +47,9 @@
|
|||||||
#include <QMediaService>
|
#include <QMediaService>
|
||||||
#include <QMediaPlaylist>
|
#include <QMediaPlaylist>
|
||||||
#include <QVideoProbe>
|
#include <QVideoProbe>
|
||||||
|
#include <QMediaMetaData>
|
||||||
#include <QtWidgets>
|
#include <QtWidgets>
|
||||||
|
|
||||||
|
|
||||||
Player::Player(QWidget *parent)
|
Player::Player(QWidget *parent)
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
, videoWidget(0)
|
, videoWidget(0)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimediawidgets/videographicsitem
|
\example videographicsitem
|
||||||
\title Video Graphics Item Example
|
\title Video Graphics Item Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief This example demonstrates how to stream video on a graphics scene.
|
\brief This example demonstrates how to stream video on a graphics scene.
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\example multimediawidgets/videowidget
|
\example videowidget
|
||||||
\title Video Widget Example
|
\title Video Widget Example
|
||||||
\ingroup multimedia_examples
|
\ingroup multimedia_examples
|
||||||
\brief This example is a simple video player
|
\brief This example is a simple video player
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ win32 {
|
|||||||
qtCompileTest(evr)
|
qtCompileTest(evr)
|
||||||
} else:mac {
|
} else:mac {
|
||||||
qtCompileTest(avfoundation)
|
qtCompileTest(avfoundation)
|
||||||
|
} else:android {
|
||||||
|
!qtCompileTest(android):error("QtMultimedia for Android requires API level 11")
|
||||||
} else {
|
} else {
|
||||||
qtCompileTest(alsa)
|
qtCompileTest(alsa)
|
||||||
qtCompileTest(pulseaudio)
|
qtCompileTest(pulseaudio)
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ import QtQuick.tooling 1.1
|
|||||||
|
|
||||||
// This file describes the plugin-supplied types contained in the library.
|
// This file describes the plugin-supplied types contained in the library.
|
||||||
// It is used for QML tooling purposes only.
|
// It is used for QML tooling purposes only.
|
||||||
|
//
|
||||||
|
// This file was auto-generated with the command 'qmlplugindump -notrelocatable QtAudioEngine 1.0'.
|
||||||
|
|
||||||
Module {
|
Module {
|
||||||
Component {
|
Component {
|
||||||
@@ -12,27 +14,30 @@ Module {
|
|||||||
Component {
|
Component {
|
||||||
name: "QDeclarativeAttenuationModelInverse"
|
name: "QDeclarativeAttenuationModelInverse"
|
||||||
prototype: "QDeclarativeAttenuationModel"
|
prototype: "QDeclarativeAttenuationModel"
|
||||||
exports: ["AttenuationModelInverse 1.0"]
|
exports: ["QtAudioEngine/AttenuationModelInverse 1.0"]
|
||||||
Property { name: "start"; type: "qreal" }
|
exportMetaObjectRevisions: [0]
|
||||||
Property { name: "end"; type: "qreal" }
|
Property { name: "start"; type: "double" }
|
||||||
Property { name: "rolloff"; type: "qreal" }
|
Property { name: "end"; type: "double" }
|
||||||
|
Property { name: "rolloff"; type: "double" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
name: "QDeclarativeAttenuationModelLinear"
|
name: "QDeclarativeAttenuationModelLinear"
|
||||||
prototype: "QDeclarativeAttenuationModel"
|
prototype: "QDeclarativeAttenuationModel"
|
||||||
exports: ["AttenuationModelLinear 1.0"]
|
exports: ["QtAudioEngine/AttenuationModelLinear 1.0"]
|
||||||
Property { name: "start"; type: "qreal" }
|
exportMetaObjectRevisions: [0]
|
||||||
Property { name: "end"; type: "qreal" }
|
Property { name: "start"; type: "double" }
|
||||||
|
Property { name: "end"; type: "double" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
name: "QDeclarativeAudioCategory"
|
name: "QDeclarativeAudioCategory"
|
||||||
prototype: "QObject"
|
prototype: "QObject"
|
||||||
exports: ["AudioCategory 1.0"]
|
exports: ["QtAudioEngine/AudioCategory 1.0"]
|
||||||
Property { name: "volume"; type: "qreal" }
|
exportMetaObjectRevisions: [0]
|
||||||
|
Property { name: "volume"; type: "double" }
|
||||||
Property { name: "name"; type: "string" }
|
Property { name: "name"; type: "string" }
|
||||||
Signal {
|
Signal {
|
||||||
name: "volumeChanged"
|
name: "volumeChanged"
|
||||||
Parameter { name: "newVolume"; type: "qreal" }
|
Parameter { name: "newVolume"; type: "double" }
|
||||||
}
|
}
|
||||||
Signal { name: "stopped" }
|
Signal { name: "stopped" }
|
||||||
Signal { name: "paused" }
|
Signal { name: "paused" }
|
||||||
@@ -45,7 +50,8 @@ Module {
|
|||||||
name: "QDeclarativeAudioEngine"
|
name: "QDeclarativeAudioEngine"
|
||||||
defaultProperty: "bank"
|
defaultProperty: "bank"
|
||||||
prototype: "QObject"
|
prototype: "QObject"
|
||||||
exports: ["AudioEngine 1.0"]
|
exports: ["QtAudioEngine/AudioEngine 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
Property { name: "bank"; type: "QObject"; isList: true; isReadonly: true }
|
Property { name: "bank"; type: "QObject"; isList: true; isReadonly: true }
|
||||||
Property { name: "categories"; type: "QObject"; isReadonly: true; isPointer: true }
|
Property { name: "categories"; type: "QObject"; isReadonly: true; isPointer: true }
|
||||||
Property { name: "samples"; type: "QObject"; isReadonly: true; isPointer: true }
|
Property { name: "samples"; type: "QObject"; isReadonly: true; isPointer: true }
|
||||||
@@ -58,8 +64,8 @@ Module {
|
|||||||
isReadonly: true
|
isReadonly: true
|
||||||
isPointer: true
|
isPointer: true
|
||||||
}
|
}
|
||||||
Property { name: "dopplerFactor"; type: "qreal" }
|
Property { name: "dopplerFactor"; type: "double" }
|
||||||
Property { name: "speedOfSound"; type: "qreal" }
|
Property { name: "speedOfSound"; type: "double" }
|
||||||
Signal { name: "ready" }
|
Signal { name: "ready" }
|
||||||
Signal { name: "liveInstanceCountChanged" }
|
Signal { name: "liveInstanceCountChanged" }
|
||||||
Signal { name: "isLoadingChanged" }
|
Signal { name: "isLoadingChanged" }
|
||||||
@@ -68,18 +74,20 @@ Module {
|
|||||||
Component {
|
Component {
|
||||||
name: "QDeclarativeAudioListener"
|
name: "QDeclarativeAudioListener"
|
||||||
prototype: "QObject"
|
prototype: "QObject"
|
||||||
exports: ["AudioListener 1.0"]
|
exports: ["QtAudioEngine/AudioListener 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
Property { name: "engine"; type: "QDeclarativeAudioEngine"; isPointer: true }
|
Property { name: "engine"; type: "QDeclarativeAudioEngine"; isPointer: true }
|
||||||
Property { name: "position"; type: "QVector3D" }
|
Property { name: "position"; type: "QVector3D" }
|
||||||
Property { name: "direction"; type: "QVector3D" }
|
Property { name: "direction"; type: "QVector3D" }
|
||||||
Property { name: "velocity"; type: "QVector3D" }
|
Property { name: "velocity"; type: "QVector3D" }
|
||||||
Property { name: "up"; type: "QVector3D" }
|
Property { name: "up"; type: "QVector3D" }
|
||||||
Property { name: "gain"; type: "qreal" }
|
Property { name: "gain"; type: "double" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
name: "QDeclarativeAudioSample"
|
name: "QDeclarativeAudioSample"
|
||||||
prototype: "QObject"
|
prototype: "QObject"
|
||||||
exports: ["AudioSample 1.0"]
|
exports: ["QtAudioEngine/AudioSample 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
Property { name: "name"; type: "string" }
|
Property { name: "name"; type: "string" }
|
||||||
Property { name: "source"; type: "QUrl" }
|
Property { name: "source"; type: "QUrl" }
|
||||||
Property { name: "preloaded"; type: "bool" }
|
Property { name: "preloaded"; type: "bool" }
|
||||||
@@ -90,19 +98,21 @@ Module {
|
|||||||
Component {
|
Component {
|
||||||
name: "QDeclarativePlayVariation"
|
name: "QDeclarativePlayVariation"
|
||||||
prototype: "QObject"
|
prototype: "QObject"
|
||||||
exports: ["PlayVariation 1.0"]
|
exports: ["QtAudioEngine/PlayVariation 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
Property { name: "sample"; type: "string" }
|
Property { name: "sample"; type: "string" }
|
||||||
Property { name: "looping"; type: "bool" }
|
Property { name: "looping"; type: "bool" }
|
||||||
Property { name: "maxGain"; type: "qreal" }
|
Property { name: "maxGain"; type: "double" }
|
||||||
Property { name: "minGain"; type: "qreal" }
|
Property { name: "minGain"; type: "double" }
|
||||||
Property { name: "maxPitch"; type: "qreal" }
|
Property { name: "maxPitch"; type: "double" }
|
||||||
Property { name: "minPitch"; type: "qreal" }
|
Property { name: "minPitch"; type: "double" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
name: "QDeclarativeSound"
|
name: "QDeclarativeSound"
|
||||||
defaultProperty: "playVariationlist"
|
defaultProperty: "playVariationlist"
|
||||||
prototype: "QObject"
|
prototype: "QObject"
|
||||||
exports: ["Sound 1.0"]
|
exports: ["QtAudioEngine/Sound 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
Enum {
|
Enum {
|
||||||
name: "PlayType"
|
name: "PlayType"
|
||||||
values: {
|
values: {
|
||||||
@@ -124,12 +134,12 @@ Module {
|
|||||||
Method { name: "play" }
|
Method { name: "play" }
|
||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
Parameter { name: "gain"; type: "qreal" }
|
Parameter { name: "gain"; type: "double" }
|
||||||
}
|
}
|
||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
Parameter { name: "gain"; type: "qreal" }
|
Parameter { name: "gain"; type: "double" }
|
||||||
Parameter { name: "pitch"; type: "qreal" }
|
Parameter { name: "pitch"; type: "double" }
|
||||||
}
|
}
|
||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
@@ -149,60 +159,60 @@ Module {
|
|||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
Parameter { name: "position"; type: "QVector3D" }
|
Parameter { name: "position"; type: "QVector3D" }
|
||||||
Parameter { name: "gain"; type: "qreal" }
|
Parameter { name: "gain"; type: "double" }
|
||||||
}
|
}
|
||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
Parameter { name: "position"; type: "QVector3D" }
|
Parameter { name: "position"; type: "QVector3D" }
|
||||||
Parameter { name: "velocity"; type: "QVector3D" }
|
Parameter { name: "velocity"; type: "QVector3D" }
|
||||||
Parameter { name: "gain"; type: "qreal" }
|
Parameter { name: "gain"; type: "double" }
|
||||||
}
|
}
|
||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
Parameter { name: "position"; type: "QVector3D" }
|
Parameter { name: "position"; type: "QVector3D" }
|
||||||
Parameter { name: "velocity"; type: "QVector3D" }
|
Parameter { name: "velocity"; type: "QVector3D" }
|
||||||
Parameter { name: "direction"; type: "QVector3D" }
|
Parameter { name: "direction"; type: "QVector3D" }
|
||||||
Parameter { name: "gain"; type: "qreal" }
|
Parameter { name: "gain"; type: "double" }
|
||||||
}
|
}
|
||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
Parameter { name: "position"; type: "QVector3D" }
|
Parameter { name: "position"; type: "QVector3D" }
|
||||||
Parameter { name: "gain"; type: "qreal" }
|
Parameter { name: "gain"; type: "double" }
|
||||||
Parameter { name: "pitch"; type: "qreal" }
|
Parameter { name: "pitch"; type: "double" }
|
||||||
}
|
}
|
||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
Parameter { name: "position"; type: "QVector3D" }
|
Parameter { name: "position"; type: "QVector3D" }
|
||||||
Parameter { name: "velocity"; type: "QVector3D" }
|
Parameter { name: "velocity"; type: "QVector3D" }
|
||||||
Parameter { name: "gain"; type: "qreal" }
|
Parameter { name: "gain"; type: "double" }
|
||||||
Parameter { name: "pitch"; type: "qreal" }
|
Parameter { name: "pitch"; type: "double" }
|
||||||
}
|
}
|
||||||
Method {
|
Method {
|
||||||
name: "play"
|
name: "play"
|
||||||
Parameter { name: "position"; type: "QVector3D" }
|
Parameter { name: "position"; type: "QVector3D" }
|
||||||
Parameter { name: "velocity"; type: "QVector3D" }
|
Parameter { name: "velocity"; type: "QVector3D" }
|
||||||
Parameter { name: "direction"; type: "QVector3D" }
|
Parameter { name: "direction"; type: "QVector3D" }
|
||||||
Parameter { name: "gain"; type: "qreal" }
|
Parameter { name: "gain"; type: "double" }
|
||||||
Parameter { name: "pitch"; type: "qreal" }
|
Parameter { name: "pitch"; type: "double" }
|
||||||
}
|
}
|
||||||
Method { name: "newInstance"; type: "QDeclarativeSoundInstance*" }
|
Method { name: "newInstance"; type: "QDeclarativeSoundInstance*" }
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
name: "QDeclarativeSoundCone"
|
name: "QDeclarativeSoundCone"
|
||||||
prototype: "QObject"
|
prototype: "QObject"
|
||||||
exports: [" 1.0"]
|
Property { name: "innerAngle"; type: "double" }
|
||||||
Property { name: "innerAngle"; type: "qreal" }
|
Property { name: "outerAngle"; type: "double" }
|
||||||
Property { name: "outerAngle"; type: "qreal" }
|
Property { name: "outerGain"; type: "double" }
|
||||||
Property { name: "outerGain"; type: "qreal" }
|
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
name: "QDeclarativeSoundInstance"
|
name: "QDeclarativeSoundInstance"
|
||||||
prototype: "QObject"
|
prototype: "QObject"
|
||||||
exports: ["SoundInstance 1.0"]
|
exports: ["QtAudioEngine/SoundInstance 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
Enum {
|
Enum {
|
||||||
name: "State"
|
name: "State"
|
||||||
values: {
|
values: {
|
||||||
"StopppedState": 0,
|
"StoppedState": 0,
|
||||||
"PlayingState": 1,
|
"PlayingState": 1,
|
||||||
"PausedState": 2
|
"PausedState": 2
|
||||||
}
|
}
|
||||||
@@ -213,14 +223,14 @@ Module {
|
|||||||
Property { name: "position"; type: "QVector3D" }
|
Property { name: "position"; type: "QVector3D" }
|
||||||
Property { name: "direction"; type: "QVector3D" }
|
Property { name: "direction"; type: "QVector3D" }
|
||||||
Property { name: "velocity"; type: "QVector3D" }
|
Property { name: "velocity"; type: "QVector3D" }
|
||||||
Property { name: "gain"; type: "qreal" }
|
Property { name: "gain"; type: "double" }
|
||||||
Property { name: "pitch"; type: "qreal" }
|
Property { name: "pitch"; type: "double" }
|
||||||
Method { name: "play" }
|
Method { name: "play" }
|
||||||
Method { name: "stop" }
|
Method { name: "stop" }
|
||||||
Method { name: "pause" }
|
Method { name: "pause" }
|
||||||
Method {
|
Method {
|
||||||
name: "updatePosition"
|
name: "updatePosition"
|
||||||
Parameter { name: "deltaTime"; type: "qreal" }
|
Parameter { name: "deltaTime"; type: "double" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
|
|||||||
@@ -186,14 +186,14 @@ Item {
|
|||||||
This property holds the error state of the video. It can be one of:
|
This property holds the error state of the video. It can be one of:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li NoError - there is no current error.
|
\li MediaPlayer.NoError - there is no current error.
|
||||||
\li ResourceError - the video cannot be played due to a problem
|
\li MediaPlayer.ResourceError - the video cannot be played due to a problem
|
||||||
allocating resources.
|
allocating resources.
|
||||||
\li FormatError - the video format is not supported.
|
\li MediaPlayer.FormatError - the video format is not supported.
|
||||||
\li NetworkError - the video cannot be played due to network issues.
|
\li MediaPlayer.NetworkError - the video cannot be played due to network issues.
|
||||||
\li AccessDenied - the video cannot be played due to insufficient
|
\li MediaPlayer.AccessDenied - the video cannot be played due to insufficient
|
||||||
permissions.
|
permissions.
|
||||||
\li ServiceMissing - the video cannot be played because the media
|
\li MediaPlayer.ServiceMissing - the video cannot be played because the media
|
||||||
service could not be
|
service could not be
|
||||||
instantiated.
|
instantiated.
|
||||||
\endlist
|
\endlist
|
||||||
@@ -295,15 +295,15 @@ Item {
|
|||||||
This property holds the status of media loading. It can be one of:
|
This property holds the status of media loading. It can be one of:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li NoMedia - no media has been set.
|
\li MediaPlayer.NoMedia - no media has been set.
|
||||||
\li Loading - the media is currently being loaded.
|
\li MediaPlayer.Loading - the media is currently being loaded.
|
||||||
\li Loaded - the media has been loaded.
|
\li MediaPlayer.Loaded - the media has been loaded.
|
||||||
\li Buffering - the media is buffering data.
|
\li MediaPlayer.Buffering - the media is buffering data.
|
||||||
\li Stalled - playback has been interrupted while the media is buffering data.
|
\li MediaPlayer.Stalled - playback has been interrupted while the media is buffering data.
|
||||||
\li Buffered - the media has buffered data.
|
\li MediaPlayer.Buffered - the media has buffered data.
|
||||||
\li EndOfMedia - the media has played to the end.
|
\li MediaPlayer.EndOfMedia - the media has played to the end.
|
||||||
\li InvalidMedia - the media cannot be played.
|
\li MediaPlayer.InvalidMedia - the media cannot be played.
|
||||||
\li UnknownStatus - the status of the media cannot be determined.
|
\li MediaPlayer.UnknownStatus - the status of the media cannot be determined.
|
||||||
\endlist
|
\endlist
|
||||||
*/
|
*/
|
||||||
property alias status: player.status
|
property alias status: player.status
|
||||||
|
|||||||
@@ -179,7 +179,10 @@ bool QDeclarativeCameraFocus::isFocusModeSupported(QDeclarativeCamera::FocusMode
|
|||||||
|
|
||||||
void QDeclarativeCameraFocus::setFocusMode(QDeclarativeCamera::FocusMode mode)
|
void QDeclarativeCameraFocus::setFocusMode(QDeclarativeCamera::FocusMode mode)
|
||||||
{
|
{
|
||||||
m_focus->setFocusMode(QCameraFocus::FocusModes(int(mode)));
|
if (mode != focusMode()) {
|
||||||
|
m_focus->setFocusMode(QCameraFocus::FocusModes(int(mode)));
|
||||||
|
emit focusModeChanged(focusMode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/*!
|
/*!
|
||||||
\property QDeclarativeCameraFocus::focusPointMode
|
\property QDeclarativeCameraFocus::focusPointMode
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include <QtQml/qqml.h>
|
#include <QtQml/qqml.h>
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include "qmediaobject.h"
|
#include "qmediaobject.h"
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|||||||
@@ -484,13 +484,18 @@ QRectF QDeclarativeVideoOutput::contentRect() const
|
|||||||
|
|
||||||
This property holds the area of the source video
|
This property holds the area of the source video
|
||||||
content that is considered for rendering. The
|
content that is considered for rendering. The
|
||||||
values are in source pixel coordinates.
|
values are in source pixel coordinates, adjusted for
|
||||||
|
the source's pixel aspect ratio.
|
||||||
|
|
||||||
Note that typically the top left corner of this rectangle
|
Note that typically the top left corner of this rectangle
|
||||||
will be \c {0,0} while the width and height will be the
|
will be \c {0,0} while the width and height will be the
|
||||||
width and height of the input content.
|
width and height of the input content. Only when the video
|
||||||
|
source has a viewport set, these values will differ.
|
||||||
|
|
||||||
The orientation setting does not affect this rectangle.
|
The orientation setting does not affect this rectangle.
|
||||||
|
|
||||||
|
\sa QVideoSurfaceFormat::pixelAspectRatio()
|
||||||
|
\sa QVideoSurfaceFormat::viewport()
|
||||||
*/
|
*/
|
||||||
QRectF QDeclarativeVideoOutput::sourceRect() const
|
QRectF QDeclarativeVideoOutput::sourceRect() const
|
||||||
{
|
{
|
||||||
@@ -499,7 +504,19 @@ QRectF QDeclarativeVideoOutput::sourceRect() const
|
|||||||
if (!qIsDefaultAspect(m_orientation)) {
|
if (!qIsDefaultAspect(m_orientation)) {
|
||||||
size.transpose();
|
size.transpose();
|
||||||
}
|
}
|
||||||
return QRectF(QPointF(), size); // XXX ignores viewport
|
|
||||||
|
// No backend? Just assume no viewport.
|
||||||
|
if (!m_nativeSize.isValid() || !m_backend) {
|
||||||
|
return QRectF(QPointF(), size);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Take the viewport into account for the top left position.
|
||||||
|
// m_nativeSize is already adjusted to the viewport, as it originats
|
||||||
|
// from QVideoSurfaceFormat::sizeHint(), which includes pixel aspect
|
||||||
|
// ratio and viewport.
|
||||||
|
const QRectF viewport = m_backend->adjustedViewport();
|
||||||
|
Q_ASSERT(viewport.size() == size);
|
||||||
|
return QRectF(viewport.topLeft(), size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|||||||
@@ -74,6 +74,9 @@ public:
|
|||||||
virtual QSGNode *updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *data) = 0;
|
virtual QSGNode *updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *data) = 0;
|
||||||
virtual QAbstractVideoSurface *videoSurface() const = 0;
|
virtual QAbstractVideoSurface *videoSurface() const = 0;
|
||||||
|
|
||||||
|
// The viewport, adjusted for the pixel aspect ratio
|
||||||
|
virtual QRectF adjustedViewport() const = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QDeclarativeVideoOutput *q;
|
QDeclarativeVideoOutput *q;
|
||||||
QPointer<QMediaService> m_service;
|
QPointer<QMediaService> m_service;
|
||||||
|
|||||||
@@ -133,30 +133,45 @@ QSize QDeclarativeVideoRendererBackend::nativeSize() const
|
|||||||
|
|
||||||
void QDeclarativeVideoRendererBackend::updateGeometry()
|
void QDeclarativeVideoRendererBackend::updateGeometry()
|
||||||
{
|
{
|
||||||
|
const QRectF viewport = videoSurface()->surfaceFormat().viewport();
|
||||||
|
const QSizeF frameSize = videoSurface()->surfaceFormat().frameSize();
|
||||||
|
const QRectF normalizedViewport(viewport.x() / frameSize.width(),
|
||||||
|
viewport.y() / frameSize.height(),
|
||||||
|
viewport.width() / frameSize.width(),
|
||||||
|
viewport.height() / frameSize.height());
|
||||||
const QRectF rect(0, 0, q->width(), q->height());
|
const QRectF rect(0, 0, q->width(), q->height());
|
||||||
if (nativeSize().isEmpty()) {
|
if (nativeSize().isEmpty()) {
|
||||||
m_renderedRect = rect;
|
m_renderedRect = rect;
|
||||||
m_sourceTextureRect = QRectF(0, 0, 1, 1);
|
m_sourceTextureRect = normalizedViewport;
|
||||||
} else if (q->fillMode() == QDeclarativeVideoOutput::Stretch) {
|
} else if (q->fillMode() == QDeclarativeVideoOutput::Stretch) {
|
||||||
m_renderedRect = rect;
|
m_renderedRect = rect;
|
||||||
m_sourceTextureRect = QRectF(0, 0, 1, 1);
|
m_sourceTextureRect = normalizedViewport;
|
||||||
} else if (q->fillMode() == QDeclarativeVideoOutput::PreserveAspectFit) {
|
} else if (q->fillMode() == QDeclarativeVideoOutput::PreserveAspectFit) {
|
||||||
m_sourceTextureRect = QRectF(0, 0, 1, 1);
|
m_sourceTextureRect = normalizedViewport;
|
||||||
m_renderedRect = q->contentRect();
|
m_renderedRect = q->contentRect();
|
||||||
} else if (q->fillMode() == QDeclarativeVideoOutput::PreserveAspectCrop) {
|
} else if (q->fillMode() == QDeclarativeVideoOutput::PreserveAspectCrop) {
|
||||||
m_renderedRect = rect;
|
m_renderedRect = rect;
|
||||||
const qreal contentHeight = q->contentRect().height();
|
const qreal contentHeight = q->contentRect().height();
|
||||||
const qreal contentWidth = q->contentRect().width();
|
const qreal contentWidth = q->contentRect().width();
|
||||||
|
|
||||||
|
// Calculate the size of the source rectangle without taking the viewport into account
|
||||||
|
const qreal relativeOffsetLeft = -q->contentRect().left() / contentWidth;
|
||||||
|
const qreal relativeOffsetTop = -q->contentRect().top() / contentHeight;
|
||||||
|
const qreal relativeWidth = rect.width() / contentWidth;
|
||||||
|
const qreal relativeHeight = rect.height() / contentHeight;
|
||||||
|
|
||||||
|
// Now take the viewport size into account
|
||||||
|
const qreal totalOffsetLeft = normalizedViewport.x() + relativeOffsetLeft * normalizedViewport.width();
|
||||||
|
const qreal totalOffsetTop = normalizedViewport.y() + relativeOffsetTop * normalizedViewport.height();
|
||||||
|
const qreal totalWidth = normalizedViewport.width() * relativeWidth;
|
||||||
|
const qreal totalHeight = normalizedViewport.height() * relativeHeight;
|
||||||
|
|
||||||
if (qIsDefaultAspect(q->orientation())) {
|
if (qIsDefaultAspect(q->orientation())) {
|
||||||
m_sourceTextureRect = QRectF(-q->contentRect().left() / contentWidth,
|
m_sourceTextureRect = QRectF(totalOffsetLeft, totalOffsetTop,
|
||||||
-q->contentRect().top() / contentHeight,
|
totalWidth, totalHeight);
|
||||||
rect.width() / contentWidth,
|
|
||||||
rect.height() / contentHeight);
|
|
||||||
} else {
|
} else {
|
||||||
m_sourceTextureRect = QRectF(-q->contentRect().top() / contentHeight,
|
m_sourceTextureRect = QRectF(totalOffsetTop, totalOffsetLeft,
|
||||||
-q->contentRect().left() / contentWidth,
|
totalHeight, totalWidth);
|
||||||
rect.height() / contentHeight,
|
|
||||||
rect.width() / contentWidth);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -223,6 +238,22 @@ QAbstractVideoSurface *QDeclarativeVideoRendererBackend::videoSurface() const
|
|||||||
return m_surface;
|
return m_surface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QRectF QDeclarativeVideoRendererBackend::adjustedViewport() const
|
||||||
|
{
|
||||||
|
const QRectF viewport = m_surface->surfaceFormat().viewport();
|
||||||
|
const QSize pixelAspectRatio = m_surface->surfaceFormat().pixelAspectRatio();
|
||||||
|
|
||||||
|
if (pixelAspectRatio.height() != 0) {
|
||||||
|
const qreal ratio = pixelAspectRatio.width() / pixelAspectRatio.height();
|
||||||
|
QRectF result = viewport;
|
||||||
|
result.setX(result.x() * ratio);
|
||||||
|
result.setWidth(result.width() * ratio);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return viewport;
|
||||||
|
}
|
||||||
|
|
||||||
QOpenGLContext *QDeclarativeVideoRendererBackend::glContext() const
|
QOpenGLContext *QDeclarativeVideoRendererBackend::glContext() const
|
||||||
{
|
{
|
||||||
return m_glContext;
|
return m_glContext;
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ public:
|
|||||||
void updateGeometry();
|
void updateGeometry();
|
||||||
QSGNode *updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *data);
|
QSGNode *updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *data);
|
||||||
QAbstractVideoSurface *videoSurface() const;
|
QAbstractVideoSurface *videoSurface() const;
|
||||||
|
QRectF adjustedViewport() const Q_DECL_OVERRIDE;
|
||||||
QOpenGLContext *glContext() const;
|
QOpenGLContext *glContext() const;
|
||||||
|
|
||||||
friend class QSGVideoItemSurface;
|
friend class QSGVideoItemSurface;
|
||||||
|
|||||||
@@ -143,4 +143,11 @@ QAbstractVideoSurface *QDeclarativeVideoWindowBackend::videoSurface() const
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QRectF QDeclarativeVideoWindowBackend::adjustedViewport() const
|
||||||
|
{
|
||||||
|
// No viewport supported by QVideoWindowControl, so make the viewport the same size
|
||||||
|
// as the source
|
||||||
|
return QRectF(QPointF(0, 0), nativeSize());
|
||||||
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ public:
|
|||||||
void updateGeometry();
|
void updateGeometry();
|
||||||
QSGNode *updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *data);
|
QSGNode *updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *data);
|
||||||
QAbstractVideoSurface *videoSurface() const;
|
QAbstractVideoSurface *videoSurface() const;
|
||||||
|
QRectF adjustedViewport() const Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer<QVideoWindowControl> m_videoWindowControl;
|
QPointer<QVideoWindowControl> m_videoWindowControl;
|
||||||
|
|||||||
@@ -32,6 +32,9 @@ qhp.QtMultimedia.subprojects.qmltypes.sortPages = true
|
|||||||
exampledirs += ../../../examples/multimedia \
|
exampledirs += ../../../examples/multimedia \
|
||||||
snippets
|
snippets
|
||||||
|
|
||||||
|
# Specify example install dir under QT_INSTALL_EXAMPLES
|
||||||
|
examplesinstallpath = multimedia
|
||||||
|
|
||||||
headerdirs += ../..
|
headerdirs += ../..
|
||||||
|
|
||||||
imagedirs += src/images \
|
imagedirs += src/images \
|
||||||
|
|||||||
@@ -83,52 +83,52 @@ For some quick recipes, look at the overviews above and consult this table:
|
|||||||
\li QSoundEffect
|
\li QSoundEffect
|
||||||
\row
|
\row
|
||||||
\li Playing low latency audio
|
\li Playing low latency audio
|
||||||
\li \l{multimedia/audiooutput}{audioinput},
|
\li \l{audioinput},
|
||||||
\l{multimedia/spectrum}{spectrum}
|
\l{spectrum}
|
||||||
\li
|
\li
|
||||||
\li QAudioOutput
|
\li QAudioOutput
|
||||||
\row
|
\row
|
||||||
\li Playing encoded audio (MP3, AAC etc)
|
\li Playing encoded audio (MP3, AAC etc)
|
||||||
\li \l{multimediawidgets/player}{player}
|
\li \l{player}
|
||||||
\li \l Audio, \l {MediaPlayer}
|
\li \l Audio, \l {MediaPlayer}
|
||||||
\li QMediaPlayer
|
\li QMediaPlayer
|
||||||
\row
|
\row
|
||||||
\li Accessing raw audio input data
|
\li Accessing raw audio input data
|
||||||
\li \l{multimedia/spectrum}{spectrum},
|
\li \l{spectrum},
|
||||||
\l {multimedia/audioinput}{audioinput}
|
\l{audioinput}
|
||||||
\li
|
\li
|
||||||
\li QAudioInput
|
\li QAudioInput
|
||||||
\row
|
\row
|
||||||
\li Recording encoded audio data
|
\li Recording encoded audio data
|
||||||
\li \l {multimedia/audiorecorder}{audiorecorder}
|
\li \l{audiorecorder}
|
||||||
\li
|
\li
|
||||||
\li QAudioRecorder
|
\li QAudioRecorder
|
||||||
\row
|
\row
|
||||||
\li Discovering raw audio devices
|
\li Discovering raw audio devices
|
||||||
\li \l {multimedia/audiodevices}{audiodevices}
|
\li \l{audiodevices}
|
||||||
\li
|
\li
|
||||||
\li QAudioDeviceInfo
|
\li QAudioDeviceInfo
|
||||||
\row
|
\row
|
||||||
\li Video Playback
|
\li Video Playback
|
||||||
\li \l {multimediawidgets/player}{player},
|
\li \l{player},
|
||||||
\l {multimedia/video/qmlvideo}{qmlvideo},
|
\l{video/qmlvideo}{qmlvideo},
|
||||||
\l{multimedia/video/qmlvideofx}{qmlvideofx}
|
\l{video/qmlvideofx}{qmlvideofx}
|
||||||
\li \l MediaPlayer, \l VideoOutput, \l Video
|
\li \l MediaPlayer, \l VideoOutput, \l Video
|
||||||
\li QMediaPlayer, QVideoWidget, QGraphicsVideoItem
|
\li QMediaPlayer, QVideoWidget, QGraphicsVideoItem
|
||||||
\row
|
\row
|
||||||
\li Video Processing
|
\li Video Processing
|
||||||
\li \l {multimedia/video/qmlvideofx}{qmlvideofx}
|
\li \l {video/qmlvideofx}{qmlvideofx}
|
||||||
\li \l {MediaPlayer}, \l VideoOutput
|
\li \l {MediaPlayer}, \l VideoOutput
|
||||||
\li QMediaPlayer, QAbstractVideoSurface, QVideoFrame
|
\li QMediaPlayer, QAbstractVideoSurface, QVideoFrame
|
||||||
\row
|
\row
|
||||||
\li Listening to the radio
|
\li Listening to the radio
|
||||||
\li \l {multimedia/declarative-radio}{declarative-radio}
|
\li \l {declarative-radio}
|
||||||
\li \l Radio, \l RadioData
|
\li \l Radio, \l RadioData
|
||||||
\li QRadioTuner, QRadioData
|
\li QRadioTuner, QRadioData
|
||||||
\row
|
\row
|
||||||
\li Accessing camera viewfinder
|
\li Accessing camera viewfinder
|
||||||
\li \l {Camera Example}{camera},
|
\li \l {Camera Example}{camera},
|
||||||
\l {multimediawidgets/declarative-camera}{declarative-camera}
|
\l {declarative-camera}
|
||||||
\li \l Camera, \l VideoOutput
|
\li \l Camera, \l VideoOutput
|
||||||
\li QCamera, QVideoWidget, QGraphicsVideoItem
|
\li QCamera, QVideoWidget, QGraphicsVideoItem
|
||||||
\row
|
\row
|
||||||
@@ -139,13 +139,13 @@ For some quick recipes, look at the overviews above and consult this table:
|
|||||||
\row
|
\row
|
||||||
\li Capturing photos
|
\li Capturing photos
|
||||||
\li \l {Camera Example}{camera},
|
\li \l {Camera Example}{camera},
|
||||||
\l {multimediawidgets/declarative-camera}{declarative-camera}
|
\l {declarative-camera}
|
||||||
\li \l Camera
|
\li \l Camera
|
||||||
\li QCamera, QCameraImageCapture
|
\li QCamera, QCameraImageCapture
|
||||||
\row
|
\row
|
||||||
\li Capturing movies
|
\li Capturing movies
|
||||||
\li \l {Camera Example}{camera},
|
\li \l {Camera Example}{camera},
|
||||||
\l {multimediawidgets/declarative-camera}{declarative-camera}
|
\l {declarative-camera}
|
||||||
\li \l Camera
|
\li \l Camera
|
||||||
\li QCamera, QMediaRecorder
|
\li QCamera, QMediaRecorder
|
||||||
\row
|
\row
|
||||||
|
|||||||
@@ -51,10 +51,14 @@ include(radio/radio.pri)
|
|||||||
include(recording/recording.pri)
|
include(recording/recording.pri)
|
||||||
include(video/video.pri)
|
include(video/video.pri)
|
||||||
|
|
||||||
|
ANDROID_BUNDLED_JAR_DEPENDENCIES = \
|
||||||
|
jar/QtMultimedia-bundled.jar:org.qtproject.qt5.android.multimedia.QtAndroidMediaPlayer
|
||||||
ANDROID_JAR_DEPENDENCIES = \
|
ANDROID_JAR_DEPENDENCIES = \
|
||||||
jar/QtMultimedia.jar:org.qtproject.qt5.android.multimedia.QtAndroidMediaPlayer
|
jar/QtMultimedia.jar:org.qtproject.qt5.android.multimedia.QtAndroidMediaPlayer
|
||||||
ANDROID_LIB_DEPENDENCIES = \
|
ANDROID_LIB_DEPENDENCIES = \
|
||||||
plugins/mediaservice/libandroidmediaplayer.so
|
plugins/mediaservice/libandroidmediaplayer.so
|
||||||
|
MODULE_PLUGIN_TYPES = \
|
||||||
|
mediaservice
|
||||||
|
|
||||||
mac {
|
mac {
|
||||||
LIBS += -framework AppKit -framework QuartzCore -framework QTKit
|
LIBS += -framework AppKit -framework QuartzCore -framework QTKit
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
#include <qfileinfo.h>
|
#include <qfileinfo.h>
|
||||||
#include <QtNetwork/QNetworkReply>
|
#include <QtNetwork/QNetworkReply>
|
||||||
#include "qmediaobject_p.h"
|
#include "qmediaobject_p.h"
|
||||||
#include "qmultimedia.h"
|
#include "qmediametadata.h"
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,6 @@
|
|||||||
#include <QtCore/qstring.h>
|
#include <QtCore/qstring.h>
|
||||||
|
|
||||||
#include <QtMultimedia/qtmultimediadefs.h>
|
#include <QtMultimedia/qtmultimediadefs.h>
|
||||||
#include <QtMultimedia/qmediametadata.h>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,9 @@ qhp.QtMultimediaWidgets.subprojects.classes.sortPages = true
|
|||||||
exampledirs += ../../../examples/multimediawidgets \
|
exampledirs += ../../../examples/multimediawidgets \
|
||||||
snippets
|
snippets
|
||||||
|
|
||||||
|
# Specify example install dir under QT_INSTALL_EXAMPLES
|
||||||
|
examplesinstallpath = multimediawidgets
|
||||||
|
|
||||||
headerdirs += ../
|
headerdirs += ../
|
||||||
|
|
||||||
imagedirs += \
|
imagedirs += \
|
||||||
|
|||||||
3
src/plugins/android/jar/bundledjar.pro
Normal file
3
src/plugins/android/jar/bundledjar.pro
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
TARGET = QtMultimedia-bundled
|
||||||
|
CONFIG += bundled_jar_file
|
||||||
|
include(jar.pri)
|
||||||
2
src/plugins/android/jar/distributedjar.pro
Normal file
2
src/plugins/android/jar/distributedjar.pro
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
TARGET = QtMultimedia
|
||||||
|
include(jar.pri)
|
||||||
14
src/plugins/android/jar/jar.pri
Normal file
14
src/plugins/android/jar/jar.pri
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
load(qt_build_paths)
|
||||||
|
CONFIG += java
|
||||||
|
DESTDIR = $$MODULE_BASE_OUTDIR/jar
|
||||||
|
API_VERSION = android-11
|
||||||
|
|
||||||
|
JAVACLASSPATH += $$PWD/src
|
||||||
|
|
||||||
|
JAVASOURCES += $$PWD/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java \
|
||||||
|
$$PWD/src/org/qtproject/qt5/android/multimedia/QtSurfaceTexture.java \
|
||||||
|
$$PWD/src/org/qtproject/qt5/android/multimedia/QtSurfaceTextureHolder.java
|
||||||
|
|
||||||
|
# install
|
||||||
|
target.path = $$[QT_INSTALL_PREFIX]/jar
|
||||||
|
INSTALLS += target
|
||||||
@@ -1,15 +1,3 @@
|
|||||||
load(qt_build_paths)
|
TEMPLATE=subdirs
|
||||||
CONFIG += java
|
SUBDIRS += distributedjar.pro bundledjar.pro
|
||||||
TARGET = QtMultimedia
|
|
||||||
DESTDIR = $$MODULE_BASE_OUTDIR/jar
|
|
||||||
API_VERSION = android-11
|
|
||||||
|
|
||||||
JAVACLASSPATH += $$PWD/src
|
|
||||||
|
|
||||||
JAVASOURCES += $$PWD/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java \
|
|
||||||
$$PWD/src/org/qtproject/qt5/android/multimedia/QtSurfaceTexture.java \
|
|
||||||
$$PWD/src/org/qtproject/qt5/android/multimedia/QtSurfaceTextureHolder.java
|
|
||||||
|
|
||||||
# install
|
|
||||||
target.path = $$[QT_INSTALL_PREFIX]/jar
|
|
||||||
INSTALLS += target
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
#include "qandroidmetadatareadercontrol.h"
|
#include "qandroidmetadatareadercontrol.h"
|
||||||
|
|
||||||
#include "jmediametadataretriever.h"
|
#include "jmediametadataretriever.h"
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include <qsize.h>
|
#include <qsize.h>
|
||||||
#include <QDate>
|
#include <QDate>
|
||||||
|
|
||||||
|
|||||||
@@ -182,7 +182,8 @@ void QAndroidVideoRendererControl::setSurface(QAbstractVideoSurface *surface)
|
|||||||
|
|
||||||
m_surface = surface;
|
m_surface = surface;
|
||||||
|
|
||||||
m_useImage = !m_surface->supportedPixelFormats(QAbstractVideoBuffer::GLTextureHandle).contains(QVideoFrame::Format_BGR32);
|
if (m_surface)
|
||||||
|
m_useImage = !m_surface->supportedPixelFormats(QAbstractVideoBuffer::GLTextureHandle).contains(QVideoFrame::Format_BGR32);
|
||||||
}
|
}
|
||||||
|
|
||||||
jobject QAndroidVideoRendererControl::surfaceHolder()
|
jobject QAndroidVideoRendererControl::surfaceHolder()
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
#include "avfmediaplayermetadatacontrol.h"
|
#include "avfmediaplayermetadatacontrol.h"
|
||||||
#include "avfmediaplayersession.h"
|
#include "avfmediaplayersession.h"
|
||||||
|
|
||||||
#include <QtMultimedia/qmultimedia.h>
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
|
|
||||||
#import <AVFoundation/AVFoundation.h>
|
#import <AVFoundation/AVFoundation.h>
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
**
|
**
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
#include "bbmetadatareadercontrol.h"
|
#include "bbmetadatareadercontrol.h"
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
|||||||
@@ -656,6 +656,10 @@ HRESULT DSCameraSession::getPin(IBaseFilter *pFilter, PIN_DIRECTION PinDir, IPin
|
|||||||
|
|
||||||
bool DSCameraSession::createFilterGraph()
|
bool DSCameraSession::createFilterGraph()
|
||||||
{
|
{
|
||||||
|
// Previously containered in <qedit.h>.
|
||||||
|
static const IID iID_ISampleGrabber = { 0x6B652FFF, 0x11FE, 0x4fce, { 0x92, 0xAD, 0x02, 0x66, 0xB5, 0xD7, 0xC7, 0x8F } };
|
||||||
|
static const CLSID cLSID_SampleGrabber = { 0xC1F400A0, 0x3F08, 0x11d3, { 0x9F, 0x0B, 0x00, 0x60, 0x08, 0x03, 0x9E, 0x37 } };
|
||||||
|
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
IMoniker* pMoniker = NULL;
|
IMoniker* pMoniker = NULL;
|
||||||
ICreateDevEnum* pDevEnum = NULL;
|
ICreateDevEnum* pDevEnum = NULL;
|
||||||
@@ -752,14 +756,14 @@ bool DSCameraSession::createFilterGraph()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Sample grabber filter
|
// Sample grabber filter
|
||||||
hr = CoCreateInstance(CLSID_SampleGrabber, NULL,CLSCTX_INPROC,
|
hr = CoCreateInstance(cLSID_SampleGrabber, NULL,CLSCTX_INPROC,
|
||||||
IID_IBaseFilter, (void**)&pSG_Filter);
|
IID_IBaseFilter, (void**)&pSG_Filter);
|
||||||
if (FAILED(hr)) {
|
if (FAILED(hr)) {
|
||||||
qWarning() << "failed to create sample grabber";
|
qWarning() << "failed to create sample grabber";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = pSG_Filter->QueryInterface(IID_ISampleGrabber, (void**)&pSG);
|
hr = pSG_Filter->QueryInterface(iID_ISampleGrabber, (void**)&pSG);
|
||||||
if (FAILED(hr)) {
|
if (FAILED(hr)) {
|
||||||
qWarning() << "failed to get sample grabber";
|
qWarning() << "failed to get sample grabber";
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -69,7 +69,6 @@
|
|||||||
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
|
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
|
||||||
#define __IDxtJpeg_INTERFACE_DEFINED__
|
#define __IDxtJpeg_INTERFACE_DEFINED__
|
||||||
#define __IDxtKey_INTERFACE_DEFINED__
|
#define __IDxtKey_INTERFACE_DEFINED__
|
||||||
#include <qedit.h>
|
|
||||||
|
|
||||||
struct ICaptureGraphBuilder2;
|
struct ICaptureGraphBuilder2;
|
||||||
struct ISampleGrabber;
|
struct ISampleGrabber;
|
||||||
|
|||||||
@@ -24,4 +24,5 @@ win32-g++ {
|
|||||||
include(camera/camera.pri)
|
include(camera/camera.pri)
|
||||||
|
|
||||||
OTHER_FILES += \
|
OTHER_FILES += \
|
||||||
directshow.json
|
directshow.json \
|
||||||
|
directshow_camera.json
|
||||||
|
|||||||
3
src/plugins/directshow/directshow_camera.json
Normal file
3
src/plugins/directshow/directshow_camera.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"Keys": ["org.qt-project.qt.camera"]
|
||||||
|
}
|
||||||
@@ -54,7 +54,13 @@ class DSServicePlugin
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_INTERFACES(QMediaServiceSupportedDevicesInterface)
|
Q_INTERFACES(QMediaServiceSupportedDevicesInterface)
|
||||||
Q_INTERFACES(QMediaServiceFeaturesInterface)
|
Q_INTERFACES(QMediaServiceFeaturesInterface)
|
||||||
|
// The player service provided by the WMF-plugin should preferably be used.
|
||||||
|
// DirectShow should then only provide the camera (see QTBUG-29172, QTBUG-29175).
|
||||||
|
#ifdef QMEDIA_DIRECTSHOW_PLAYER
|
||||||
Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "directshow.json")
|
Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "directshow.json")
|
||||||
|
#else
|
||||||
|
Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "directshow_camera.json")
|
||||||
|
#endif
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QMediaService* create(QString const& key);
|
QMediaService* create(QString const& key);
|
||||||
|
|||||||
@@ -44,9 +44,9 @@
|
|||||||
#include <qnetwork.h>
|
#include <qnetwork.h>
|
||||||
|
|
||||||
#include "directshowmetadatacontrol.h"
|
#include "directshowmetadatacontrol.h"
|
||||||
|
|
||||||
#include "directshowplayerservice.h"
|
#include "directshowplayerservice.h"
|
||||||
|
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include <QtCore/qcoreapplication.h>
|
#include <QtCore/qcoreapplication.h>
|
||||||
|
|
||||||
#ifndef QT_NO_WMSDK
|
#ifndef QT_NO_WMSDK
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
#include <private/qgstvideobuffer_p.h>
|
#include <private/qgstvideobuffer_p.h>
|
||||||
#include <private/qvideosurfacegstsink_p.h>
|
#include <private/qvideosurfacegstsink_p.h>
|
||||||
#include <private/qgstutils_p.h>
|
#include <private/qgstutils_p.h>
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include <QtCore/qdebug.h>
|
#include <QtCore/qdebug.h>
|
||||||
#include <QtCore/qbuffer.h>
|
#include <QtCore/qbuffer.h>
|
||||||
#include <QtGui/qimagereader.h>
|
#include <QtGui/qimagereader.h>
|
||||||
|
|||||||
@@ -41,6 +41,8 @@
|
|||||||
|
|
||||||
#include "camerabinmetadata.h"
|
#include "camerabinmetadata.h"
|
||||||
|
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include <gst/gstversion.h>
|
#include <gst/gstversion.h>
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,8 @@
|
|||||||
|
|
||||||
#include "qgstreamercapturemetadatacontrol.h"
|
#include "qgstreamercapturemetadatacontrol.h"
|
||||||
|
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include <gst/gstversion.h>
|
#include <gst/gstversion.h>
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
#include "qgstreamermetadataprovider.h"
|
#include "qgstreamermetadataprovider.h"
|
||||||
#include "qgstreamerplayersession.h"
|
#include "qgstreamerplayersession.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
|
|
||||||
#include <gst/gstversion.h>
|
#include <gst/gstversion.h>
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,7 @@
|
|||||||
#include <gst/gstvalue.h>
|
#include <gst/gstvalue.h>
|
||||||
#include <gst/base/gstbasesrc.h>
|
#include <gst/base/gstbasesrc.h>
|
||||||
|
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include <QtCore/qdatetime.h>
|
#include <QtCore/qdatetime.h>
|
||||||
#include <QtCore/qdebug.h>
|
#include <QtCore/qdebug.h>
|
||||||
#include <QtCore/qsize.h>
|
#include <QtCore/qsize.h>
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
#include "qt7playermetadata.h"
|
#include "qt7playermetadata.h"
|
||||||
#include "qt7playersession.h"
|
#include "qt7playersession.h"
|
||||||
#include <QtCore/qvarlengtharray.h>
|
#include <QtCore/qvarlengtharray.h>
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
|
|
||||||
#import <QTKit/QTMovie.h>
|
#import <QTKit/QTMovie.h>
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
**
|
**
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <qmediametadata.h>
|
||||||
#include <qdatetime.h>
|
#include <qdatetime.h>
|
||||||
#include <qimage.h>
|
#include <qimage.h>
|
||||||
|
|
||||||
|
|||||||
@@ -4798,40 +4798,15 @@ QScreenOrientationChangeEvent (0x7f96f31b8958) 0
|
|||||||
QEvent (0x7f96f31b90c0) 0
|
QEvent (0x7f96f31b90c0) 0
|
||||||
primary-for QScreenOrientationChangeEvent (0x7f96f31b8958)
|
primary-for QScreenOrientationChangeEvent (0x7f96f31b8958)
|
||||||
|
|
||||||
Class QAccessible::QPrivateSignal
|
|
||||||
size=1 align=1
|
|
||||||
base size=0 base align=1
|
|
||||||
QAccessible::QPrivateSignal (0x7f96f31b9180) 0 empty
|
|
||||||
|
|
||||||
Class QAccessible::State
|
Class QAccessible::State
|
||||||
size=8 align=8
|
size=8 align=8
|
||||||
base size=5 base align=8
|
base size=5 base align=8
|
||||||
QAccessible::State (0x7f96f31b91e0) 0
|
QAccessible::State (0x7f96f31b91e0) 0
|
||||||
|
|
||||||
Vtable for QAccessible
|
|
||||||
QAccessible::_ZTV11QAccessible: 14u entries
|
|
||||||
0 (int (*)(...))0
|
|
||||||
8 (int (*)(...))(& _ZTI11QAccessible)
|
|
||||||
16 (int (*)(...))QAccessible::metaObject
|
|
||||||
24 (int (*)(...))QAccessible::qt_metacast
|
|
||||||
32 (int (*)(...))QAccessible::qt_metacall
|
|
||||||
40 (int (*)(...))QAccessible::~QAccessible
|
|
||||||
48 (int (*)(...))QAccessible::~QAccessible
|
|
||||||
56 (int (*)(...))QObject::event
|
|
||||||
64 (int (*)(...))QObject::eventFilter
|
|
||||||
72 (int (*)(...))QObject::timerEvent
|
|
||||||
80 (int (*)(...))QObject::childEvent
|
|
||||||
88 (int (*)(...))QObject::customEvent
|
|
||||||
96 (int (*)(...))QObject::connectNotify
|
|
||||||
104 (int (*)(...))QObject::disconnectNotify
|
|
||||||
|
|
||||||
Class QAccessible
|
Class QAccessible
|
||||||
size=16 align=8
|
size=1 align=1
|
||||||
base size=16 base align=8
|
base size=0 base align=1
|
||||||
QAccessible (0x7f96f31b8af8) 0
|
QAccessible (0x7f96f31b8af8) 0 empty
|
||||||
vptr=((& QAccessible::_ZTV11QAccessible) + 16u)
|
|
||||||
QObject (0x7f96f31b9120) 0
|
|
||||||
primary-for QAccessible (0x7f96f31b8af8)
|
|
||||||
|
|
||||||
Vtable for QAccessibleInterface
|
Vtable for QAccessibleInterface
|
||||||
QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
|
QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
|
||||||
|
|||||||
@@ -4798,40 +4798,15 @@ QScreenOrientationChangeEvent (0xb377712c) 0
|
|||||||
QEvent (0xb35aa770) 0
|
QEvent (0xb35aa770) 0
|
||||||
primary-for QScreenOrientationChangeEvent (0xb377712c)
|
primary-for QScreenOrientationChangeEvent (0xb377712c)
|
||||||
|
|
||||||
Class QAccessible::QPrivateSignal
|
|
||||||
size=1 align=1
|
|
||||||
base size=0 base align=1
|
|
||||||
QAccessible::QPrivateSignal (0xb35aa930) 0 empty
|
|
||||||
|
|
||||||
Class QAccessible::State
|
Class QAccessible::State
|
||||||
size=8 align=4
|
size=8 align=4
|
||||||
base size=5 base align=4
|
base size=5 base align=4
|
||||||
QAccessible::State (0xb35aa968) 0
|
QAccessible::State (0xb35aa968) 0
|
||||||
|
|
||||||
Vtable for QAccessible
|
|
||||||
QAccessible::_ZTV11QAccessible: 14u entries
|
|
||||||
0 (int (*)(...))0
|
|
||||||
4 (int (*)(...))(& _ZTI11QAccessible)
|
|
||||||
8 (int (*)(...))QAccessible::metaObject
|
|
||||||
12 (int (*)(...))QAccessible::qt_metacast
|
|
||||||
16 (int (*)(...))QAccessible::qt_metacall
|
|
||||||
20 (int (*)(...))QAccessible::~QAccessible
|
|
||||||
24 (int (*)(...))QAccessible::~QAccessible
|
|
||||||
28 (int (*)(...))QObject::event
|
|
||||||
32 (int (*)(...))QObject::eventFilter
|
|
||||||
36 (int (*)(...))QObject::timerEvent
|
|
||||||
40 (int (*)(...))QObject::childEvent
|
|
||||||
44 (int (*)(...))QObject::customEvent
|
|
||||||
48 (int (*)(...))QObject::connectNotify
|
|
||||||
52 (int (*)(...))QObject::disconnectNotify
|
|
||||||
|
|
||||||
Class QAccessible
|
Class QAccessible
|
||||||
size=8 align=4
|
size=1 align=1
|
||||||
base size=8 base align=4
|
base size=0 base align=1
|
||||||
QAccessible (0xb3777168) 0
|
QAccessible (0xb3777168) 0 empty
|
||||||
vptr=((& QAccessible::_ZTV11QAccessible) + 8u)
|
|
||||||
QObject (0xb35aa850) 0
|
|
||||||
primary-for QAccessible (0xb3777168)
|
|
||||||
|
|
||||||
Vtable for QAccessibleInterface
|
Vtable for QAccessibleInterface
|
||||||
QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
|
QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
|
||||||
|
|||||||
@@ -3986,40 +3986,15 @@ QScreenOrientationChangeEvent (0x7f51f085d2d8) 0
|
|||||||
QEvent (0x7f51f08540c0) 0
|
QEvent (0x7f51f08540c0) 0
|
||||||
primary-for QScreenOrientationChangeEvent (0x7f51f085d2d8)
|
primary-for QScreenOrientationChangeEvent (0x7f51f085d2d8)
|
||||||
|
|
||||||
Class QAccessible::QPrivateSignal
|
|
||||||
size=1 align=1
|
|
||||||
base size=0 base align=1
|
|
||||||
QAccessible::QPrivateSignal (0x7f51f0854180) 0 empty
|
|
||||||
|
|
||||||
Class QAccessible::State
|
Class QAccessible::State
|
||||||
size=8 align=8
|
size=8 align=8
|
||||||
base size=5 base align=8
|
base size=5 base align=8
|
||||||
QAccessible::State (0x7f51f08541e0) 0
|
QAccessible::State (0x7f51f08541e0) 0
|
||||||
|
|
||||||
Vtable for QAccessible
|
|
||||||
QAccessible::_ZTV11QAccessible: 14u entries
|
|
||||||
0 (int (*)(...))0
|
|
||||||
8 (int (*)(...))(& _ZTI11QAccessible)
|
|
||||||
16 (int (*)(...))QAccessible::metaObject
|
|
||||||
24 (int (*)(...))QAccessible::qt_metacast
|
|
||||||
32 (int (*)(...))QAccessible::qt_metacall
|
|
||||||
40 (int (*)(...))QAccessible::~QAccessible
|
|
||||||
48 (int (*)(...))QAccessible::~QAccessible
|
|
||||||
56 (int (*)(...))QObject::event
|
|
||||||
64 (int (*)(...))QObject::eventFilter
|
|
||||||
72 (int (*)(...))QObject::timerEvent
|
|
||||||
80 (int (*)(...))QObject::childEvent
|
|
||||||
88 (int (*)(...))QObject::customEvent
|
|
||||||
96 (int (*)(...))QObject::connectNotify
|
|
||||||
104 (int (*)(...))QObject::disconnectNotify
|
|
||||||
|
|
||||||
Class QAccessible
|
Class QAccessible
|
||||||
size=16 align=8
|
size=1 align=1
|
||||||
base size=16 base align=8
|
base size=0 base align=1
|
||||||
QAccessible (0x7f51f085d478) 0
|
QAccessible (0x7f51f085d478) 0 empty
|
||||||
vptr=((& QAccessible::_ZTV11QAccessible) + 16u)
|
|
||||||
QObject (0x7f51f0854120) 0
|
|
||||||
primary-for QAccessible (0x7f51f085d478)
|
|
||||||
|
|
||||||
Vtable for QAccessibleInterface
|
Vtable for QAccessibleInterface
|
||||||
QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
|
QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
|
||||||
|
|||||||
@@ -3986,40 +3986,15 @@ QScreenOrientationChangeEvent (0xb39638e8) 0
|
|||||||
QEvent (0xb3a2ff50) 0
|
QEvent (0xb3a2ff50) 0
|
||||||
primary-for QScreenOrientationChangeEvent (0xb39638e8)
|
primary-for QScreenOrientationChangeEvent (0xb39638e8)
|
||||||
|
|
||||||
Class QAccessible::QPrivateSignal
|
|
||||||
size=1 align=1
|
|
||||||
base size=0 base align=1
|
|
||||||
QAccessible::QPrivateSignal (0xb3a48070) 0 empty
|
|
||||||
|
|
||||||
Class QAccessible::State
|
Class QAccessible::State
|
||||||
size=8 align=4
|
size=8 align=4
|
||||||
base size=5 base align=4
|
base size=5 base align=4
|
||||||
QAccessible::State (0xb3a480a8) 0
|
QAccessible::State (0xb3a480a8) 0
|
||||||
|
|
||||||
Vtable for QAccessible
|
|
||||||
QAccessible::_ZTV11QAccessible: 14u entries
|
|
||||||
0 (int (*)(...))0
|
|
||||||
4 (int (*)(...))(& _ZTI11QAccessible)
|
|
||||||
8 (int (*)(...))QAccessible::metaObject
|
|
||||||
12 (int (*)(...))QAccessible::qt_metacast
|
|
||||||
16 (int (*)(...))QAccessible::qt_metacall
|
|
||||||
20 (int (*)(...))QAccessible::~QAccessible
|
|
||||||
24 (int (*)(...))QAccessible::~QAccessible
|
|
||||||
28 (int (*)(...))QObject::event
|
|
||||||
32 (int (*)(...))QObject::eventFilter
|
|
||||||
36 (int (*)(...))QObject::timerEvent
|
|
||||||
40 (int (*)(...))QObject::childEvent
|
|
||||||
44 (int (*)(...))QObject::customEvent
|
|
||||||
48 (int (*)(...))QObject::connectNotify
|
|
||||||
52 (int (*)(...))QObject::disconnectNotify
|
|
||||||
|
|
||||||
Class QAccessible
|
Class QAccessible
|
||||||
size=8 align=4
|
size=1 align=1
|
||||||
base size=8 base align=4
|
base size=0 base align=1
|
||||||
QAccessible (0xb3963924) 0
|
QAccessible (0xb3963924) 0 empty
|
||||||
vptr=((& QAccessible::_ZTV11QAccessible) + 8u)
|
|
||||||
QObject (0xb3a2fb60) 0
|
|
||||||
primary-for QAccessible (0xb3963924)
|
|
||||||
|
|
||||||
Vtable for QAccessibleInterface
|
Vtable for QAccessibleInterface
|
||||||
QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
|
QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
|
||||||
|
|||||||
@@ -12,3 +12,4 @@ SUBDIRS += \
|
|||||||
qsoundeffect \
|
qsoundeffect \
|
||||||
qsound
|
qsound
|
||||||
|
|
||||||
|
!qtHaveModule(widgets): SUBDIRS -= qcamerabackend
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
TARGET = tst_qcamerabackend
|
TARGET = tst_qcamerabackend
|
||||||
|
|
||||||
QT += multimedia-private testlib
|
# DirectShow plugin requires widgets.
|
||||||
|
QT += multimedia-private widgets testlib
|
||||||
|
|
||||||
# This is more of a system test
|
# This is more of a system test
|
||||||
CONFIG += testcase
|
CONFIG += testcase
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
#include "qdeclarativeaudio_p.h"
|
#include "qdeclarativeaudio_p.h"
|
||||||
#include "qdeclarativemediametadata_p.h"
|
#include "qdeclarativemediametadata_p.h"
|
||||||
|
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include <qmediaplayercontrol.h>
|
#include <qmediaplayercontrol.h>
|
||||||
#include <qmediaservice.h>
|
#include <qmediaservice.h>
|
||||||
#include <private/qmediaserviceprovider_p.h>
|
#include <private/qmediaserviceprovider_p.h>
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
|
|
||||||
#include <QtCore/qtimer.h>
|
#include <QtCore/qtimer.h>
|
||||||
|
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include <qmediaobject.h>
|
#include <qmediaobject.h>
|
||||||
#include <qmediaservice.h>
|
#include <qmediaservice.h>
|
||||||
#include <qmetadatareadercontrol.h>
|
#include <qmetadatareadercontrol.h>
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
|
|
||||||
#include <QtTest/QtTest>
|
#include <QtTest/QtTest>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include <qmediaobject.h>
|
#include <qmediaobject.h>
|
||||||
#include <qmediacontrol.h>
|
#include <qmediacontrol.h>
|
||||||
#include <qmediaservice.h>
|
#include <qmediaservice.h>
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
#include <QtCore/QString>
|
#include <QtCore/QString>
|
||||||
#include <QtTest/QtTest>
|
#include <QtTest/QtTest>
|
||||||
#include <QtCore/QCoreApplication>
|
#include <QtCore/QCoreApplication>
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
|
|
||||||
#include "mockmetadatareadercontrol.h"
|
#include "mockmetadatareadercontrol.h"
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
#include <QtCore/QString>
|
#include <QtCore/QString>
|
||||||
#include <QtTest/QtTest>
|
#include <QtTest/QtTest>
|
||||||
#include <QtCore/QCoreApplication>
|
#include <QtCore/QCoreApplication>
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
#include "qmetadatawritercontrol.h"
|
#include "qmetadatawritercontrol.h"
|
||||||
|
|
||||||
#include "mockmetadatawritercontrol.h"
|
#include "mockmetadatawritercontrol.h"
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
#include <QtMultimedia/qmediametadata.h>
|
||||||
|
|
||||||
#include "qcameraimagecapturecontrol.h"
|
#include "qcameraimagecapturecontrol.h"
|
||||||
#include "qcameracontrol.h"
|
#include "qcameracontrol.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user