mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 11:28:03 +02:00
fix audio and audio-client compile for android
This commit is contained in:
parent
6efa47a04e
commit
dae40c944b
3 changed files with 50 additions and 44 deletions
|
@ -1,3 +1,8 @@
|
||||||
set(TARGET_NAME audio)
|
set(TARGET_NAME audio)
|
||||||
setup_hifi_library(Network)
|
setup_hifi_library(Network)
|
||||||
|
|
||||||
|
if (ANDROID)
|
||||||
|
add_definitions("-D__STDC_CONSTANT_MACROS")
|
||||||
|
endif ()
|
||||||
|
|
||||||
link_hifi_libraries(networking shared plugins)
|
link_hifi_libraries(networking shared plugins)
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#include "AudioInjector.h"
|
||||||
|
|
||||||
#include <QtCore/QCoreApplication>
|
#include <QtCore/QCoreApplication>
|
||||||
#include <QtCore/QDataStream>
|
#include <QtCore/QDataStream>
|
||||||
|
|
||||||
|
@ -24,8 +26,6 @@
|
||||||
#include "SoundCache.h"
|
#include "SoundCache.h"
|
||||||
#include "AudioSRC.h"
|
#include "AudioSRC.h"
|
||||||
|
|
||||||
#include "AudioInjector.h"
|
|
||||||
|
|
||||||
int audioInjectorPtrMetaTypeId = qRegisterMetaType<AudioInjector*>();
|
int audioInjectorPtrMetaTypeId = qRegisterMetaType<AudioInjector*>();
|
||||||
|
|
||||||
AudioInjectorState operator& (AudioInjectorState lhs, AudioInjectorState rhs) {
|
AudioInjectorState operator& (AudioInjectorState lhs, AudioInjectorState rhs) {
|
||||||
|
|
|
@ -115,12 +115,42 @@ const LoaderList& getLoadedPlugins() {
|
||||||
PluginManager::PluginManager() {
|
PluginManager::PluginManager() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern CodecPluginList getCodecPlugins();
|
||||||
|
|
||||||
|
const CodecPluginList& PluginManager::getCodecPlugins() {
|
||||||
|
static CodecPluginList codecPlugins;
|
||||||
|
static std::once_flag once;
|
||||||
|
std::call_once(once, [&] {
|
||||||
|
//codecPlugins = ::getCodecPlugins();
|
||||||
|
|
||||||
|
// Now grab the dynamic plugins
|
||||||
|
for (auto loader : getLoadedPlugins()) {
|
||||||
|
CodecProvider* codecProvider = qobject_cast<CodecProvider*>(loader->instance());
|
||||||
|
if (codecProvider) {
|
||||||
|
for (auto codecPlugin : codecProvider->getCodecPlugins()) {
|
||||||
|
if (codecPlugin->isSupported()) {
|
||||||
|
codecPlugins.push_back(codecPlugin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto plugin : codecPlugins) {
|
||||||
|
plugin->setContainer(_container);
|
||||||
|
plugin->init();
|
||||||
|
|
||||||
|
qDebug() << "init codec:" << plugin->getName();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return codecPlugins;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef Q_OS_ANDROID
|
#ifndef Q_OS_ANDROID
|
||||||
|
|
||||||
// TODO migrate to a DLL model where plugins are discovered and loaded at runtime by the PluginManager class
|
// TODO migrate to a DLL model where plugins are discovered and loaded at runtime by the PluginManager class
|
||||||
extern DisplayPluginList getDisplayPlugins();
|
extern DisplayPluginList getDisplayPlugins();
|
||||||
extern InputPluginList getInputPlugins();
|
extern InputPluginList getInputPlugins();
|
||||||
extern CodecPluginList getCodecPlugins();
|
|
||||||
extern void saveInputPluginSettings(const InputPluginList& plugins);
|
extern void saveInputPluginSettings(const InputPluginList& plugins);
|
||||||
static DisplayPluginList displayPlugins;
|
static DisplayPluginList displayPlugins;
|
||||||
|
|
||||||
|
@ -207,35 +237,6 @@ const InputPluginList& PluginManager::getInputPlugins() {
|
||||||
return inputPlugins;
|
return inputPlugins;
|
||||||
}
|
}
|
||||||
|
|
||||||
const CodecPluginList& PluginManager::getCodecPlugins() {
|
|
||||||
static CodecPluginList codecPlugins;
|
|
||||||
static std::once_flag once;
|
|
||||||
std::call_once(once, [&] {
|
|
||||||
//codecPlugins = ::getCodecPlugins();
|
|
||||||
|
|
||||||
// Now grab the dynamic plugins
|
|
||||||
for (auto loader : getLoadedPlugins()) {
|
|
||||||
CodecProvider* codecProvider = qobject_cast<CodecProvider*>(loader->instance());
|
|
||||||
if (codecProvider) {
|
|
||||||
for (auto codecPlugin : codecProvider->getCodecPlugins()) {
|
|
||||||
if (codecPlugin->isSupported()) {
|
|
||||||
codecPlugins.push_back(codecPlugin);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (auto plugin : codecPlugins) {
|
|
||||||
plugin->setContainer(_container);
|
|
||||||
plugin->init();
|
|
||||||
|
|
||||||
qDebug() << "init codec:" << plugin->getName();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return codecPlugins;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void PluginManager::setPreferredDisplayPlugins(const QStringList& displays) {
|
void PluginManager::setPreferredDisplayPlugins(const QStringList& displays) {
|
||||||
preferredDisplayPlugins = displays;
|
preferredDisplayPlugins = displays;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue