From 28f97a94ec5566877c0dd0dc5820349606a0ffa3 Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Mon, 21 Nov 2016 20:20:11 +0200 Subject: Fix building the WMF plugin 9df63fd6 made it possible to build only the audio decoder service from the WMF plugin. When that change was merged to 5.8 it was not ported to the new configuration system. Added a new '-mediaplayer-backend' configure option to select the media player backend to use on Windows. '-wmf-backend' is kept for backward compatibility. Change-Id: I902b2e4147f9a05b92118152020afc2638bf41e1 Reviewed-by: Oswald Buddenhagen --- config_help.txt | 3 ++- src/multimedia/configure.json | 34 +++++++++++++++++++++++++++------- src/plugins/directshow/directshow.pro | 2 +- src/plugins/plugins.pro | 2 +- src/plugins/wmf/wmf.pro | 2 +- 5 files changed, 32 insertions(+), 11 deletions(-) diff --git a/config_help.txt b/config_help.txt index 78c75acbd..7dd6b772f 100644 --- a/config_help.txt +++ b/config_help.txt @@ -5,4 +5,5 @@ Multimedia options: -no-gstreamer ........ Disable support for GStreamer -gstreamer [version] . Enable GStreamer support [auto] With no parameter, 1.0 is tried first, then 0.10. - -wmf-backend ......... Enable WMF support [no] (Windows only) + -mediaplayer-backend ... Select media player backend (Windows only) + Supported backends: directshow (default), wmf diff --git a/src/multimedia/configure.json b/src/multimedia/configure.json index 19812d19b..d26f6f45e 100644 --- a/src/multimedia/configure.json +++ b/src/multimedia/configure.json @@ -10,7 +10,8 @@ "alsa": "boolean", "gstreamer": { "type": "optionalString", "values": [ "no", "yes", "0.10", "1.0" ] }, "pulseaudio": "boolean", - "wmf-backend": "boolean" + "mediaplayer-backend": { "type": "string", "values": [ "directshow", "wmf" ] }, + "wmf-backend": { "type": "void", "name": "mediaplayer-backend", "value": "wmf" } } }, @@ -192,6 +193,13 @@ "condition": "config.win32 && libs.directshow", "output": [ "feature", "privateFeature" ] }, + "directshow-player": { + "label": "DirectShow", + "enable": "input.mediaplayer-backend == 'directshow'", + "disable": "input.mediaplayer-backend == 'wmf'", + "condition": "features.directshow && !features.wmf-player", + "output": [ "privateFeature" ] + }, "evr": { "label": "evr.h", "condition": "config.win32 && tests.evr", @@ -281,11 +289,16 @@ "condition": "config.win32 && features.directshow && tests.wshellitem", "output": [ "feature", "privateFeature" ] }, - "wmf-backend": { - "label": "Windows Media Foundation backend for Qt Multimedia", - "emitIf": "config.win32", - "autoDetect": false, - "condition": "libraries.wmf", + "wmf": { + "label": "Windows Media Foundation", + "condition": "config.win32 && libs.wmf", + "output": [ "privateFeature" ] + }, + "wmf-player": { + "label": "Windows Media Foundation", + "enable": "input.mediaplayer-backend == 'wmf'", + "disable": "input.mediaplayer-backend != 'wmf'", + "condition": "features.wmf", "output": [ "privateFeature" ] } }, @@ -307,7 +320,14 @@ "mmrenderer", "avfoundation", "directshow", - "wmf-backend" + "wmf", + { + "message": "Media player backend", + "type": "firstAvailableFeature", + "args": "directshow-player wmf-player", + "condition": "config.win32" + } + ] } ] diff --git a/src/plugins/directshow/directshow.pro b/src/plugins/directshow/directshow.pro index 5eb4fbc96..7fe02e662 100644 --- a/src/plugins/directshow/directshow.pro +++ b/src/plugins/directshow/directshow.pro @@ -13,7 +13,7 @@ SOURCES += dsserviceplugin.cpp mingw: DEFINES += NO_DSHOW_STRSAFE include(helpers/helpers.pri) -!qtConfig(wmf-backend): include(player/player.pri) +qtConfig(directshow-player): include(player/player.pri) include(camera/camera.pri) OTHER_FILES += \ diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index 099e472da..98a1bf242 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -35,7 +35,7 @@ win32:!winrt { windowsaudio qtConfig(directshow): SUBDIRS += directshow - qtConfig(wmf-backend): SUBDIRS += wmf + qtConfig(wmf): SUBDIRS += wmf } diff --git a/src/plugins/wmf/wmf.pro b/src/plugins/wmf/wmf.pro index c75efe28c..b202ff2a1 100644 --- a/src/plugins/wmf/wmf.pro +++ b/src/plugins/wmf/wmf.pro @@ -17,7 +17,7 @@ SOURCES += \ mfstream.cpp \ sourceresolver.cpp -contains(QT_CONFIG, wmf-backend): include (player/player.pri) +qtConfig(wmf-player): include (player/player.pri) include (decoder/decoder.pri) OTHER_FILES += \ -- cgit v1.2.3