summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2021-07-14 12:40:48 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-08-06 08:28:40 +0000
commit34254c2fc394aaa8cca1dd4588a7289058ad0a0a (patch)
tree6b38714a25ef44cdbf2adc76546f5014c84feb75
parent7fdbe3bf80d75670223ae1d8fa4d5bac1250bb0c (diff)
Restore qmake project files for examples
We regression-test in the CI by building examples with qmake. This partly reverts commit 7b28765dd0898e0638555e990308dc2fa09b79da. Fixes: QTBUG-95065 Change-Id: Ib146eeb974d4e94d580597dbaae93378aa5561a9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 8b5076c297ecd989fd66e7a41404d1c7741740db) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--examples/examples.pro3
-rw-r--r--examples/multimedia/audiodecoder/audiodecoder.pro13
-rw-r--r--examples/multimedia/audiodevices/audiodevices.pro17
-rw-r--r--examples/multimedia/audiooutput/audiooutput.pro12
-rw-r--r--examples/multimedia/audiorecorder/audiorecorder.pro23
-rw-r--r--examples/multimedia/audiosource/audioinput.pro13
-rw-r--r--examples/multimedia/declarative-camera/declarative-camera.pro11
-rw-r--r--examples/multimedia/multimedia.pro19
-rw-r--r--examples/multimedia/shared/shared.pri50
-rw-r--r--examples/multimedia/spectrum/3rdparty/fftreal/fftreal.pro40
-rw-r--r--examples/multimedia/spectrum/app.pro54
-rw-r--r--examples/multimedia/spectrum/spectrum.pri48
-rw-r--r--examples/multimedia/spectrum/spectrum.pro15
-rw-r--r--examples/multimedia/video/android/android.pro5
-rw-r--r--examples/multimedia/video/android/gstreamer/gstreamer.pro22
-rw-r--r--examples/multimedia/video/qmlvideo/qmlvideo.pro25
-rw-r--r--examples/multimedia/video/qmlvideofx/qmlapplicationviewer/qmlapplicationviewer.pri7
-rw-r--r--examples/multimedia/video/qmlvideofx/qmlvideofx.pro24
-rw-r--r--examples/multimedia/video/snippets/frequencymonitor/frequencymonitor.pri5
-rw-r--r--examples/multimedia/video/snippets/frequencymonitor/frequencymonitordeclarative.pri5
-rw-r--r--examples/multimedia/video/snippets/performancemonitor/performancemonitor.pri5
-rw-r--r--examples/multimedia/video/snippets/performancemonitor/performancemonitordeclarative.pri6
-rw-r--r--examples/multimedia/video/video.pro9
-rw-r--r--examples/multimediawidgets/camera/camera.pro30
-rw-r--r--examples/multimediawidgets/multimediawidgets.pro10
-rw-r--r--examples/multimediawidgets/player/player.pro29
-rw-r--r--examples/multimediawidgets/videographicsitem/videographicsitem.pro14
-rw-r--r--examples/multimediawidgets/videowidget/videowidget.pro16
28 files changed, 530 insertions, 0 deletions
diff --git a/examples/examples.pro b/examples/examples.pro
new file mode 100644
index 000000000..979671672
--- /dev/null
+++ b/examples/examples.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS += multimedia multimediawidgets
+
diff --git a/examples/multimedia/audiodecoder/audiodecoder.pro b/examples/multimedia/audiodecoder/audiodecoder.pro
new file mode 100644
index 000000000..7870d340e
--- /dev/null
+++ b/examples/multimedia/audiodecoder/audiodecoder.pro
@@ -0,0 +1,13 @@
+TEMPLATE = app
+TARGET = audiodecoder
+
+HEADERS = \
+ audiodecoder.h
+SOURCES = main.cpp \
+ audiodecoder.cpp
+
+QT += multimedia
+CONFIG += console
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audiodecoder
+INSTALLS += target
diff --git a/examples/multimedia/audiodevices/audiodevices.pro b/examples/multimedia/audiodevices/audiodevices.pro
new file mode 100644
index 000000000..55657202b
--- /dev/null
+++ b/examples/multimedia/audiodevices/audiodevices.pro
@@ -0,0 +1,17 @@
+TEMPLATE = app
+TARGET = audiodevices
+
+QT += multimedia
+
+HEADERS = audiodevices.h
+
+SOURCES = audiodevices.cpp \
+ main.cpp
+
+FORMS += audiodevicesbase.ui
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audiodevices
+INSTALLS += target
+
+QT+=widgets
+include(../shared/shared.pri)
diff --git a/examples/multimedia/audiooutput/audiooutput.pro b/examples/multimedia/audiooutput/audiooutput.pro
new file mode 100644
index 000000000..c843f010f
--- /dev/null
+++ b/examples/multimedia/audiooutput/audiooutput.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+TARGET = audiooutput
+
+QT += multimedia widgets
+
+HEADERS = audiooutput.h
+
+SOURCES = audiooutput.cpp \
+ main.cpp
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audiooutput
+INSTALLS += target
diff --git a/examples/multimedia/audiorecorder/audiorecorder.pro b/examples/multimedia/audiorecorder/audiorecorder.pro
new file mode 100644
index 000000000..dfd0364a4
--- /dev/null
+++ b/examples/multimedia/audiorecorder/audiorecorder.pro
@@ -0,0 +1,23 @@
+TEMPLATE = app
+TARGET = audiorecorder
+
+QT += multimedia
+
+win32:INCLUDEPATH += $$PWD
+
+HEADERS = \
+ audiorecorder.h \
+ audiolevel.h
+
+SOURCES = \
+ main.cpp \
+ audiorecorder.cpp \
+ audiolevel.cpp
+
+FORMS += audiorecorder.ui
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audiorecorder
+INSTALLS += target
+
+QT+=widgets
+include(../shared/shared.pri)
diff --git a/examples/multimedia/audiosource/audioinput.pro b/examples/multimedia/audiosource/audioinput.pro
new file mode 100644
index 000000000..708d40d93
--- /dev/null
+++ b/examples/multimedia/audiosource/audioinput.pro
@@ -0,0 +1,13 @@
+TEMPLATE = app
+TARGET = audioinput
+
+QT += multimedia widgets
+
+HEADERS = audioinput.h
+
+SOURCES = audioinput.cpp \
+ main.cpp
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audioinput
+INSTALLS += target
+include(../shared/shared.pri)
diff --git a/examples/multimedia/declarative-camera/declarative-camera.pro b/examples/multimedia/declarative-camera/declarative-camera.pro
new file mode 100644
index 000000000..2d6e2e759
--- /dev/null
+++ b/examples/multimedia/declarative-camera/declarative-camera.pro
@@ -0,0 +1,11 @@
+TEMPLATE=app
+TARGET=declarative-camera
+
+QT += quick qml multimedia
+
+SOURCES += qmlcamera.cpp
+RESOURCES += declarative-camera.qrc
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/declarative-camera
+INSTALLS += target
+include(../shared/shared.pri)
diff --git a/examples/multimedia/multimedia.pro b/examples/multimedia/multimedia.pro
new file mode 100644
index 000000000..b34d8f95e
--- /dev/null
+++ b/examples/multimedia/multimedia.pro
@@ -0,0 +1,19 @@
+TEMPLATE = subdirs
+QT_FOR_CONFIG += multimedia-private
+
+SUBDIRS += audiodecoder
+
+# These examples all need widgets for now (using creator templates that use widgets)
+qtHaveModule(widgets) {
+ SUBDIRS += \
+ spectrum \
+ audiorecorder \
+ audiodevices \
+ audiooutput
+}
+
+qtHaveModule(quick) {
+ SUBDIRS += \
+ declarative-camera \
+ video
+}
diff --git a/examples/multimedia/shared/shared.pri b/examples/multimedia/shared/shared.pri
new file mode 100644
index 000000000..cb70f2b49
--- /dev/null
+++ b/examples/multimedia/shared/shared.pri
@@ -0,0 +1,50 @@
+darwin {
+ PRODUCT_NAME = $$TARGET
+ macx-xcode: PRODUCT_NAME = $${LITERAL_DOLLAR}{PRODUCT_NAME}
+ INFOPLIST = \
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" \
+ "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">" \
+ "<plist version=\"1.0\">" \
+ "<dict>" \
+ " <key>CFBundleIconFile</key>" \
+ " <string></string>" \
+ " <key>CFBundlePackageType</key>" \
+ " <string>APPL</string>" \
+ " <key>CFBundleGetInfoString</key>" \
+ " <string>Created by Qt/QMake</string>" \
+ " <key>CFBundleSignature</key>" \
+ " <string>????</string>" \
+ " <key>CFBundleExecutable</key>" \
+ " <string>$$TARGET</string>" \
+ " <key>CFBundleIdentifier</key>" \
+ " <string>com.digia.$${LITERAL_DOLLAR}{PRODUCT_NAME:rfc1034identifier}</string>" \
+ " <key>CFBundleDisplayName</key>" \
+ " <string>$$PRODUCT_NAME</string>" \
+ " <key>CFBundleName</key>" \
+ " <string>$$PRODUCT_NAME</string>" \
+ " <key>CFBundleShortVersionString</key>" \
+ " <string>1.0</string>" \
+ " <key>CFBundleVersion</key>" \
+ " <string>1.0</string>" \
+ " <key>LSRequiresIPhoneOS</key>" \
+ " <true/>" \
+ " <key>UILaunchStoryboardName</key>" \
+ " <string>LaunchScreen</string>" \
+ " <key>UISupportedInterfaceOrientations</key>" \
+ " <array>" \
+ " <string>UIInterfaceOrientationPortrait</string>" \
+ " <string>UIInterfaceOrientationPortraitUpsideDown</string>" \
+ " <string>UIInterfaceOrientationLandscapeLeft</string>" \
+ " <string>UIInterfaceOrientationLandscapeRight</string>" \
+ " </array>" \
+ " <key>NSCameraUsageDescription</key>" \
+ " <string>Qt Multimedia Example</string>" \
+ " <key>NSMicrophoneUsageDescription</key>" \
+ " <string>Qt Multimedia Example</string>" \
+ " <key>NOTE</key>" \
+ " <string>This file was generated by Qt/QMake.</string>" \
+ "</dict>" \
+ "</plist>"
+ write_file($$OUT_PWD/Info.plist, INFOPLIST)|error()
+ QMAKE_INFO_PLIST = $$OUT_PWD/Info.plist
+}
diff --git a/examples/multimedia/spectrum/3rdparty/fftreal/fftreal.pro b/examples/multimedia/spectrum/3rdparty/fftreal/fftreal.pro
new file mode 100644
index 000000000..0b36ee7d1
--- /dev/null
+++ b/examples/multimedia/spectrum/3rdparty/fftreal/fftreal.pro
@@ -0,0 +1,40 @@
+include(../../spectrum.pri)
+
+TEMPLATE = lib
+CONFIG += static
+TARGET = fftreal
+
+# FFTReal
+HEADERS += Array.h \
+ Array.hpp \
+ DynArray.h \
+ DynArray.hpp \
+ FFTRealFixLen.h \
+ FFTRealFixLen.hpp \
+ FFTRealFixLenParam.h \
+ FFTRealPassDirect.h \
+ FFTRealPassDirect.hpp \
+ FFTRealPassInverse.h \
+ FFTRealPassInverse.hpp \
+ FFTRealSelect.h \
+ FFTRealSelect.hpp \
+ FFTRealUseTrigo.h \
+ FFTRealUseTrigo.hpp \
+ OscSinCos.h \
+ OscSinCos.hpp \
+ def.h
+
+# Wrapper used to export the required instantiation of the FFTRealFixLen template
+HEADERS += fftreal_wrapper.h
+SOURCES += fftreal_wrapper.cpp
+
+DEFINES += FFTREAL_LIBRARY
+
+DESTDIR = ../..$${spectrum_build_dir}
+
+EXAMPLE_FILES = bwins/fftreal.def eabi/fftreal.def readme.txt license.txt
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/spectrum
+INSTALLS += target
+
+CONFIG += install_ok # Do not cargo-cult this!
diff --git a/examples/multimedia/spectrum/app.pro b/examples/multimedia/spectrum/app.pro
new file mode 100644
index 000000000..584206ab2
--- /dev/null
+++ b/examples/multimedia/spectrum/app.pro
@@ -0,0 +1,54 @@
+include(spectrum.pri)
+
+TEMPLATE = app
+
+TARGET = spectrum
+
+QT += multimedia widgets
+
+SOURCES += main.cpp \
+ engine.cpp \
+ frequencyspectrum.cpp \
+ levelmeter.cpp \
+ mainwidget.cpp \
+ progressbar.cpp \
+ settingsdialog.cpp \
+ spectrograph.cpp \
+ spectrumanalyser.cpp \
+ tonegenerator.cpp \
+ tonegeneratordialog.cpp \
+ utils.cpp \
+ waveform.cpp \
+
+HEADERS += engine.h \
+ frequencyspectrum.h \
+ levelmeter.h \
+ mainwidget.h \
+ progressbar.h \
+ settingsdialog.h \
+ spectrograph.h \
+ spectrum.h \
+ spectrumanalyser.h \
+ tonegenerator.h \
+ tonegeneratordialog.h \
+ utils.h \
+ waveform.h \
+
+fftreal_dir = 3rdparty/fftreal
+
+INCLUDEPATH += $${fftreal_dir}
+
+RESOURCES = spectrum.qrc
+
+LIBS += -L./$${spectrum_build_dir}
+LIBS += -lfftreal
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/spectrum
+INSTALLS += target
+
+CONFIG += install_ok # Do not cargo-cult this!
+
+# Deployment
+
+DESTDIR = ./$${spectrum_build_dir}
+include(../shared/shared.pri)
diff --git a/examples/multimedia/spectrum/spectrum.pri b/examples/multimedia/spectrum/spectrum.pri
new file mode 100644
index 000000000..431d728ec
--- /dev/null
+++ b/examples/multimedia/spectrum/spectrum.pri
@@ -0,0 +1,48 @@
+# The following macros allow certain features and debugging output
+# to be disabled / enabled at compile time.
+
+# Debug output from spectrum calculation
+DEFINES += LOG_SPECTRUMANALYSER
+
+# Debug output from waveform generation
+#DEFINES += LOG_WAVEFORM
+
+# Debug output from engine
+DEFINES += LOG_ENGINE
+
+# Dump input data to spectrum analyer, plus artefact data files
+#DEFINES += DUMP_SPECTRUMANALYSER
+
+# Dump captured audio data
+#DEFINES += DUMP_CAPTURED_AUDIO
+
+# Disable calculation of level
+#DEFINES += DISABLE_LEVEL
+
+# Disable calculation of frequency spectrum
+# If this macro is defined, the FFTReal DLL will not be built
+#DEFINES += DISABLE_FFT
+
+# Disables rendering of the waveform
+#DEFINES += DISABLE_WAVEFORM
+
+# If defined, superimpose the progress bar on the waveform
+DEFINES += SUPERIMPOSE_PROGRESS_ON_WAVEFORM
+
+# Perform spectrum analysis calculation in a separate thread
+DEFINES += SPECTRUM_ANALYSER_SEPARATE_THREAD
+
+# Suppress warnings about strncpy potentially being unsafe, emitted by MSVC
+win32: DEFINES += _CRT_SECURE_NO_WARNINGS
+
+win32 {
+ # spectrum_build_dir is defined with a leading slash so that it can
+ # be used in contexts such as
+ # ..$${spectrum_build_dir}
+ # without the result having a trailing slash where spectrum_build_dir
+ # is undefined.
+ build_pass {
+ CONFIG(release, release|debug): spectrum_build_dir = /release
+ CONFIG(debug, release|debug): spectrum_build_dir = /debug
+ }
+}
diff --git a/examples/multimedia/spectrum/spectrum.pro b/examples/multimedia/spectrum/spectrum.pro
new file mode 100644
index 000000000..782c00698
--- /dev/null
+++ b/examples/multimedia/spectrum/spectrum.pro
@@ -0,0 +1,15 @@
+include(spectrum.pri)
+
+TEMPLATE = subdirs
+
+SUBDIRS += 3rdparty/fftreal
+
+app.file = app.pro
+app.depends = 3rdparty/fftreal
+SUBDIRS += app
+
+TARGET = spectrum
+
+EXAMPLE_FILES += \
+ README.txt \
+ TODO.txt
diff --git a/examples/multimedia/video/android/android.pro b/examples/multimedia/video/android/android.pro
new file mode 100644
index 000000000..95ed21e17
--- /dev/null
+++ b/examples/multimedia/video/android/android.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+
+QT_FOR_CONFIG += multimedia-private
+
+qtConfig(gstreamer): SUBDIRS += gstreamer
diff --git a/examples/multimedia/video/android/gstreamer/gstreamer.pro b/examples/multimedia/video/android/gstreamer/gstreamer.pro
new file mode 100644
index 000000000..0ae344678
--- /dev/null
+++ b/examples/multimedia/video/android/gstreamer/gstreamer.pro
@@ -0,0 +1,22 @@
+QT += quick multimedia multimediawidgets-private
+CONFIG += c++11
+
+SOURCES += main.cpp
+
+RESOURCES += qml.qrc
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/video/android/gstreamer
+INSTALLS += target
+
+GSTREAMER_ROOT_ANDROID = $$(GSTREAMER_ROOT_ANDROID)
+isEmpty(GSTREAMER_ROOT_ANDROID): error("GSTREAMER_ROOT_ANDROID is empty")
+
+INCLUDEPATH += $(GSTREAMER_ROOT_ANDROID)/armv7/include/ $(GSTREAMER_ROOT_ANDROID)/armv7/include/gstreamer-1.0 $(GSTREAMER_ROOT_ANDROID)/armv7/include/glib-2.0 $(GSTREAMER_ROOT_ANDROID)/armv7/lib/glib-2.0/include
+
+LIBS += -L$(GSTREAMER_ROOT_ANDROID)/armv7/lib/ -L$(GSTREAMER_ROOT_ANDROID)/armv7/lib/gstreamer-1.0 \
+-lgstcoreelements -lgstplayback -lgstvideotestsrc -lgstaudioconvert -lgstvideoconvert -lgstautodetect -lgsttypefindfunctions \
+#PLUGINS codecs
+-lgstvorbis -lvorbis -lgstivorbisdec -lvorbisenc -lvorbisfile -lgstsubparse -lgstaudioparsers \
+-lgstgio -lgstapp -lgstisomp4 -lgstavi -lgstogg -lgstwavenc -lgstwavpack -lgstwavparse -lgsttheora -lgstmpg123 -lgstx264 -lgstlibav \
+-lgsttcp -lgstsoup -logg -ltheora -lmpg123 -lx264 -lavfilter -lavformat -lavcodec -lavutil -lbz2 -lswresample \
+-lsoup-2.4 -lgio-2.0 -lgstrtp-1.0 -lgstriff-1.0 -lgstnet-1.0
diff --git a/examples/multimedia/video/qmlvideo/qmlvideo.pro b/examples/multimedia/video/qmlvideo/qmlvideo.pro
new file mode 100644
index 000000000..dbd3a42a1
--- /dev/null
+++ b/examples/multimedia/video/qmlvideo/qmlvideo.pro
@@ -0,0 +1,25 @@
+TEMPLATE = app
+TARGET = qmlvideo
+
+QT += quick multimedia
+android: qtHaveModule(androidextras) {
+ QT += androidextras
+ DEFINES += REQUEST_PERMISSIONS_ON_ANDROID
+}
+
+LOCAL_SOURCES = main.cpp
+LOCAL_HEADERS = trace.h
+
+SOURCES += $$LOCAL_SOURCES
+HEADERS += $$LOCAL_HEADERS
+RESOURCES += qmlvideo.qrc
+
+SNIPPETS_PATH = ../snippets
+include($$SNIPPETS_PATH/performancemonitor/performancemonitordeclarative.pri)
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/video/qmlvideo
+INSTALLS += target
+
+EXAMPLE_FILES += \
+ qmlvideo.png \
+ qmlvideo.svg
diff --git a/examples/multimedia/video/qmlvideofx/qmlapplicationviewer/qmlapplicationviewer.pri b/examples/multimedia/video/qmlvideofx/qmlapplicationviewer/qmlapplicationviewer.pri
new file mode 100644
index 000000000..d9807943e
--- /dev/null
+++ b/examples/multimedia/video/qmlvideofx/qmlapplicationviewer/qmlapplicationviewer.pri
@@ -0,0 +1,7 @@
+QT += quick
+
+SOURCES += $$PWD/qmlapplicationviewer.cpp
+HEADERS += $$PWD/qmlapplicationviewer.h
+INCLUDEPATH += $$PWD
+
+
diff --git a/examples/multimedia/video/qmlvideofx/qmlvideofx.pro b/examples/multimedia/video/qmlvideofx/qmlvideofx.pro
new file mode 100644
index 000000000..07047aec8
--- /dev/null
+++ b/examples/multimedia/video/qmlvideofx/qmlvideofx.pro
@@ -0,0 +1,24 @@
+TEMPLATE = app
+TARGET = qmlvideofx
+
+QT += quick multimedia
+android: qtHaveModule(androidextras) {
+ QT += androidextras
+ DEFINES += REQUEST_PERMISSIONS_ON_ANDROID
+}
+
+SOURCES += filereader.cpp main.cpp
+HEADERS += filereader.h trace.h
+
+RESOURCES += qmlvideofx.qrc
+
+include($$PWD/../snippets/performancemonitor/performancemonitordeclarative.pri)
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/video/qmlvideofx
+INSTALLS += target
+
+QMAKE_INFO_PLIST = Info.plist
+
+EXAMPLE_FILES += \
+ qmlvideofx.png \
+ qmlvideofx.svg
diff --git a/examples/multimedia/video/snippets/frequencymonitor/frequencymonitor.pri b/examples/multimedia/video/snippets/frequencymonitor/frequencymonitor.pri
new file mode 100644
index 000000000..3ac8a08c4
--- /dev/null
+++ b/examples/multimedia/video/snippets/frequencymonitor/frequencymonitor.pri
@@ -0,0 +1,5 @@
+HEADERS += $$PWD/frequencymonitor.h
+SOURCES += $$PWD/frequencymonitor.cpp
+INCLUDEPATH += $$PWD
+DEFINES += FREQUENCYMONITOR_SUPPORT
+
diff --git a/examples/multimedia/video/snippets/frequencymonitor/frequencymonitordeclarative.pri b/examples/multimedia/video/snippets/frequencymonitor/frequencymonitordeclarative.pri
new file mode 100644
index 000000000..071b7286a
--- /dev/null
+++ b/examples/multimedia/video/snippets/frequencymonitor/frequencymonitordeclarative.pri
@@ -0,0 +1,5 @@
+include($$PWD/frequencymonitor.pri)
+QT += qml
+
+SOURCES += $$PWD/frequencymonitordeclarative.cpp
+RESOURCES += $$PWD/frequencymonitordeclarative.qrc
diff --git a/examples/multimedia/video/snippets/performancemonitor/performancemonitor.pri b/examples/multimedia/video/snippets/performancemonitor/performancemonitor.pri
new file mode 100644
index 000000000..2df3cfb13
--- /dev/null
+++ b/examples/multimedia/video/snippets/performancemonitor/performancemonitor.pri
@@ -0,0 +1,5 @@
+INCLUDEPATH += $$PWD
+HEADERS += $$PWD/performancemonitor.h
+SOURCES += $$PWD/performancemonitor.cpp
+DEFINES += PERFORMANCEMONITOR_SUPPORT
+
diff --git a/examples/multimedia/video/snippets/performancemonitor/performancemonitordeclarative.pri b/examples/multimedia/video/snippets/performancemonitor/performancemonitordeclarative.pri
new file mode 100644
index 000000000..9a18e35e5
--- /dev/null
+++ b/examples/multimedia/video/snippets/performancemonitor/performancemonitordeclarative.pri
@@ -0,0 +1,6 @@
+include($$PWD/../frequencymonitor/frequencymonitordeclarative.pri)
+include($$PWD/performancemonitor.pri)
+
+HEADERS += $$PWD/performancemonitordeclarative.h
+SOURCES += $$PWD/performancemonitordeclarative.cpp
+RESOURCES += $$PWD/performancemonitordeclarative.qrc
diff --git a/examples/multimedia/video/video.pro b/examples/multimedia/video/video.pro
new file mode 100644
index 000000000..ef5bc849d
--- /dev/null
+++ b/examples/multimedia/video/video.pro
@@ -0,0 +1,9 @@
+TEMPLATE = subdirs
+
+SUBDIRS += qmlvideo qmlvideofx
+
+EXAMPLE_FILES += \
+ qmlvideofilter_opencl \ # FIXME: this one should use a configure check instead
+ snippets
+
+android: SUBDIRS += android
diff --git a/examples/multimediawidgets/camera/camera.pro b/examples/multimediawidgets/camera/camera.pro
new file mode 100644
index 000000000..edf40ed9d
--- /dev/null
+++ b/examples/multimediawidgets/camera/camera.pro
@@ -0,0 +1,30 @@
+TEMPLATE = app
+TARGET = camera
+
+QT += multimedia multimediawidgets
+
+HEADERS = \
+ camera.h \
+ imagesettings.h \
+ videosettings.h \
+ metadatadialog.h
+
+SOURCES = \
+ main.cpp \
+ camera.cpp \
+ imagesettings.cpp \
+ videosettings.cpp \
+ metadatadialog.cpp
+
+FORMS += \
+ camera.ui \
+ videosettings.ui \
+ imagesettings.ui
+
+RESOURCES += camera.qrc
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimediawidgets/camera
+INSTALLS += target
+
+QT+=widgets
+include(../../multimedia/shared/shared.pri)
diff --git a/examples/multimediawidgets/multimediawidgets.pro b/examples/multimediawidgets/multimediawidgets.pro
new file mode 100644
index 000000000..aa74b00f0
--- /dev/null
+++ b/examples/multimediawidgets/multimediawidgets.pro
@@ -0,0 +1,10 @@
+TEMPLATE = subdirs
+
+# These examples all need widgets for now (using creator templates that use widgets)
+qtHaveModule(widgets) {
+ SUBDIRS += \
+ camera \
+ videographicsitem \
+ videowidget \
+ player
+}
diff --git a/examples/multimediawidgets/player/player.pro b/examples/multimediawidgets/player/player.pro
new file mode 100644
index 000000000..42a56e5d9
--- /dev/null
+++ b/examples/multimediawidgets/player/player.pro
@@ -0,0 +1,29 @@
+TEMPLATE = app
+TARGET = player
+
+QT += network \
+ multimedia \
+ multimediawidgets \
+ widgets
+
+HEADERS = \
+ player.h \
+ playercontrols.h \
+ playlistmodel.h \
+ videowidget.h \
+ histogramwidget.h \
+ qmediaplaylist.h \
+ qmediaplaylist_p.h \
+ qplaylistfileparser_p.h
+
+SOURCES = main.cpp \
+ player.cpp \
+ playercontrols.cpp \
+ playlistmodel.cpp \
+ videowidget.cpp \
+ histogramwidget.cpp \
+ qmediaplaylist.cpp \
+ qplaylistfileparser.cpp
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimediawidgets/player
+INSTALLS += target
diff --git a/examples/multimediawidgets/videographicsitem/videographicsitem.pro b/examples/multimediawidgets/videographicsitem/videographicsitem.pro
new file mode 100644
index 000000000..30a9b6f21
--- /dev/null
+++ b/examples/multimediawidgets/videographicsitem/videographicsitem.pro
@@ -0,0 +1,14 @@
+TEMPLATE = app
+TARGET = videographicsitem
+
+QT += multimedia multimediawidgets
+
+HEADERS += videoplayer.h
+
+SOURCES += main.cpp \
+ videoplayer.cpp
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimediawidgets/videographicsitem
+INSTALLS += target
+
+QT+=widgets
diff --git a/examples/multimediawidgets/videowidget/videowidget.pro b/examples/multimediawidgets/videowidget/videowidget.pro
new file mode 100644
index 000000000..603996b2e
--- /dev/null
+++ b/examples/multimediawidgets/videowidget/videowidget.pro
@@ -0,0 +1,16 @@
+TEMPLATE = app
+TARGET = videowidget
+
+QT += multimedia multimediawidgets
+
+HEADERS = \
+ videoplayer.h
+
+SOURCES = \
+ main.cpp \
+ videoplayer.cpp
+
+target.path = $$[QT_INSTALL_EXAMPLES]/multimediawidgets/videowidget
+INSTALLS += target
+
+QT+=widgets