mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-29 17:59:21 +00:00
Add linphonerc-factory file.
This commit is contained in:
parent
0680d6d9ba
commit
e755c3e49c
7 changed files with 113 additions and 37 deletions
|
|
@ -185,7 +185,7 @@ if(WIN32)
|
|||
PATTERN "bin/*_tester.exe" EXCLUDE
|
||||
PATTERN "bin/openh264.dll" EXCLUDE
|
||||
PATTERN "include" EXCLUDE
|
||||
PATTERN "lib/mediastreamer" EXCLUDE
|
||||
PATTERN "lib/mediastreamer/plugins/*openh264.*" EXCLUDE
|
||||
PATTERN "lib/pkgconfig" EXCLUDE
|
||||
PATTERN "lib/*.a" EXCLUDE
|
||||
PATTERN "lib/*.def" EXCLUDE
|
||||
|
|
@ -206,10 +206,9 @@ if(WIN32)
|
|||
COMPONENT "msopenh264"
|
||||
FILES_MATCHING PATTERN "b*zip2.*"
|
||||
)
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/lib/mediastreamer/plugins/"
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/lib/mediastreamer/plugins/libmsopenh264.dll"
|
||||
DESTINATION "lib/mediastreamer/plugins"
|
||||
COMPONENT "msopenh264"
|
||||
FILES_MATCHING PATTERN "libmsopenh264.*"
|
||||
)
|
||||
endif()
|
||||
|
||||
|
|
@ -233,16 +232,13 @@ elseif(APPLE)
|
|||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/share/images" DESTINATION "Linphone.app/Contents/Resources/share" USE_SOURCE_PERMISSIONS)
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/share/sounds" DESTINATION "Linphone.app/Contents/Resources/share" USE_SOURCE_PERMISSIONS)
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/share/Linphone/rootca.pem" DESTINATION "Linphone.app/Contents/Resources/share/linphone")
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/share/Linphone/linphonerc-factory" DESTINATION "Linphone.app/Contents/Resources/share/linphone")
|
||||
|
||||
configure_file("MacPackaging.cmake.in" "MacPackaging.cmake" @ONLY)
|
||||
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/MacPackaging.cmake")
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/lib/mediastreamer/plugins/"
|
||||
DESTINATION "lib/mediastreamer/plugins"
|
||||
FILES_MATCHING PATTERN "libmswasapi.dll"
|
||||
)
|
||||
string(REGEX REPLACE "Visual Studio ([0-9]+).*" "\\1" MSVC_VERSION "${CMAKE_GENERATOR}")
|
||||
find_file(MSVCP_LIB "msvcp${MSVC_VERSION}0.dll" PATHS "C:/Windows/System32")
|
||||
find_file(UCRTBASE_LIB "ucrtbase.dll" PATHS "C:/Windows/System32")
|
||||
|
|
|
|||
|
|
@ -204,6 +204,13 @@ execute_process(COMMAND ${CMAKE_COMMAND} -E copy
|
|||
"${CMAKE_CURRENT_SOURCE_DIR}/../.git/hooks/pre-commit"
|
||||
)
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Create config.h file
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
set(MSPLUGINS_DIR "${CMAKE_INSTALL_LIBDIR}/mediastreamer/plugins")
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Build.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
|
@ -254,3 +261,7 @@ install(TARGETS ${TARGET_NAME}
|
|||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
)
|
||||
|
||||
install(FILES "assets/linphonerc-factory"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/linphone"
|
||||
)
|
||||
|
|
|
|||
2
linphone-desktop/assets/linphonerc-factory
Normal file
2
linphone-desktop/assets/linphonerc-factory
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
[sound]
|
||||
ec_filter=MSWebRTCAEC
|
||||
23
linphone-desktop/config.h.cmake
Normal file
23
linphone-desktop/config.h.cmake
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/***************************************************************************
|
||||
* config.h.cmake
|
||||
* Copyright (C) 2017 Belledonne Communications, Grenoble France
|
||||
*
|
||||
****************************************************************************
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#cmakedefine MSPLUGINS_DIR "${MSPLUGINS_DIR}"
|
||||
|
|
@ -20,6 +20,7 @@
|
|||
* Author: Ronan Abhamon
|
||||
*/
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <QStandardPaths>
|
||||
|
|
@ -28,6 +29,7 @@
|
|||
#include "../../utils.hpp"
|
||||
|
||||
#include "Paths.hpp"
|
||||
#include "config.h"
|
||||
|
||||
#define PATH_AVATARS "/avatars/"
|
||||
#define PATH_CAPTURES "/captures/"
|
||||
|
|
@ -37,6 +39,7 @@
|
|||
|
||||
#define PATH_CALL_HISTORY_LIST "/call-history.db"
|
||||
#define PATH_CONFIG "/linphonerc"
|
||||
#define PATH_FACTORY_CONFIG "/linphonerc-factory"
|
||||
#define PATH_FRIENDS_LIST "/friends.db"
|
||||
#define PATH_MESSAGE_HISTORY_LIST "/message-history.db"
|
||||
#define PATH_ZRTP_SECRETS "/zidcache"
|
||||
|
|
@ -78,16 +81,48 @@ inline void ensureFilePathExists (const QString &path) {
|
|||
qFatal("Unable to access at path: `%s`", path.toStdString().c_str());
|
||||
}
|
||||
|
||||
inline string getDirectoryPath (const QString &dirname) {
|
||||
ensureDirectoryPathExists(dirname);
|
||||
inline string getReadableDirectoryPath (const QString &dirname) {
|
||||
return Utils::qStringToLinphoneString(QDir::toNativeSeparators(dirname));
|
||||
}
|
||||
|
||||
inline string getFilePath (const QString &filename) {
|
||||
ensureFilePathExists(filename);
|
||||
inline string getWritableDirectoryPath (const QString &dirname) {
|
||||
ensureDirectoryPathExists(dirname);
|
||||
return getReadableDirectoryPath(dirname);
|
||||
}
|
||||
|
||||
inline string getReadableFilePath (const QString &filename) {
|
||||
return Utils::qStringToLinphoneString(QDir::toNativeSeparators(filename));
|
||||
}
|
||||
|
||||
inline string getWritableFilePath (const QString &filename) {
|
||||
ensureFilePathExists(filename);
|
||||
return getReadableFilePath(filename);
|
||||
}
|
||||
|
||||
static QString getAppPackageDataDirpath () {
|
||||
QDir dir(QCoreApplication::applicationDirPath());
|
||||
if (dir.dirName() == "MacOS") {
|
||||
dir.cdUp();
|
||||
dir.cd("Resources");
|
||||
} else {
|
||||
dir.cdUp();
|
||||
}
|
||||
dir.cd("share/linphone");
|
||||
return dir.absolutePath();
|
||||
}
|
||||
|
||||
static QString getAppPackageMsPluginsDirpath () {
|
||||
QDir dir(QCoreApplication::applicationDirPath());
|
||||
if (dir.dirName() == "MacOS") {
|
||||
dir.cdUp();
|
||||
dir.cd("Resources");
|
||||
} else {
|
||||
dir.cdUp();
|
||||
}
|
||||
dir.cd(MSPLUGINS_DIR);
|
||||
return dir.absolutePath();
|
||||
}
|
||||
|
||||
static QString getAppConfigFilepath () {
|
||||
if (QSysInfo::productType() == "macos")
|
||||
return QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_CONFIG;
|
||||
|
|
@ -99,6 +134,10 @@ static QString getAppCallHistoryFilepath () {
|
|||
return QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_CALL_HISTORY_LIST;
|
||||
}
|
||||
|
||||
static QString getAppFactoryConfigFilepath () {
|
||||
return getAppPackageDataDirpath() + PATH_FACTORY_CONFIG;
|
||||
}
|
||||
|
||||
static QString getAppFriendsFilepath () {
|
||||
return QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_FRIENDS_LIST;
|
||||
}
|
||||
|
|
@ -110,46 +149,58 @@ static QString getAppMessageHistoryFilepath () {
|
|||
// -----------------------------------------------------------------------------
|
||||
|
||||
string Paths::getAvatarsDirpath () {
|
||||
return getDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_AVATARS);
|
||||
return getWritableDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_AVATARS);
|
||||
}
|
||||
|
||||
string Paths::getCallHistoryFilepath () {
|
||||
return getFilePath(getAppCallHistoryFilepath());
|
||||
return getWritableFilePath(getAppCallHistoryFilepath());
|
||||
}
|
||||
|
||||
string Paths::getConfigFilepath (const QString &config_path) {
|
||||
if (!config_path.isEmpty())
|
||||
return getFilePath(QFileInfo(config_path).absoluteFilePath());
|
||||
return getWritableFilePath(QFileInfo(config_path).absoluteFilePath());
|
||||
|
||||
return getFilePath(getAppConfigFilepath());
|
||||
return getWritableFilePath(getAppConfigFilepath());
|
||||
}
|
||||
|
||||
string Paths::getFactoryConfigFilepath () {
|
||||
return getReadableFilePath(getAppFactoryConfigFilepath());
|
||||
}
|
||||
|
||||
string Paths::getFriendsListFilepath () {
|
||||
return getFilePath(getAppFriendsFilepath());
|
||||
return getWritableFilePath(getAppFriendsFilepath());
|
||||
}
|
||||
|
||||
string Paths::getLogsDirpath () {
|
||||
return getDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_LOGS);
|
||||
return getWritableDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_LOGS);
|
||||
}
|
||||
|
||||
string Paths::getMessageHistoryFilepath () {
|
||||
return getFilePath(getAppMessageHistoryFilepath());
|
||||
return getWritableFilePath(getAppMessageHistoryFilepath());
|
||||
}
|
||||
|
||||
string Paths::getPackageDataDirpath () {
|
||||
return getReadableDirectoryPath(getAppPackageDataDirpath());
|
||||
}
|
||||
|
||||
string Paths::getPackageMsPluginsDirpath () {
|
||||
return getReadableDirectoryPath(getAppPackageMsPluginsDirpath());
|
||||
}
|
||||
|
||||
string Paths::getThumbnailsDirpath () {
|
||||
return getDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_THUMBNAILS);
|
||||
return getWritableDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_THUMBNAILS);
|
||||
}
|
||||
|
||||
string Paths::getCapturesDirpath () {
|
||||
return getDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_CAPTURES);
|
||||
return getWritableDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_CAPTURES);
|
||||
}
|
||||
|
||||
string Paths::getZrtpSecretsFilepath () {
|
||||
return getFilePath(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + PATH_ZRTP_SECRETS);
|
||||
return getWritableFilePath(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + PATH_ZRTP_SECRETS);
|
||||
}
|
||||
|
||||
string Paths::getUserCertificatesDirpath () {
|
||||
return getDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_USER_CERTIFICATES);
|
||||
return getWritableDirectoryPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + PATH_USER_CERTIFICATES);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -36,8 +36,12 @@ namespace Paths {
|
|||
std::string getThumbnailsDirpath ();
|
||||
std::string getUserCertificatesDirpath ();
|
||||
|
||||
std::string getPackageDataDirpath ();
|
||||
std::string getPackageMsPluginsDirpath ();
|
||||
|
||||
std::string getCallHistoryFilepath ();
|
||||
std::string getConfigFilepath (const QString &config_path = QString());
|
||||
std::string getFactoryConfigFilepath ();
|
||||
std::string getFriendsListFilepath ();
|
||||
std::string getMessageHistoryFilepath ();
|
||||
std::string getZrtpSecretsFilepath ();
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
|
||||
#include "CoreManager.hpp"
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
#include <QtConcurrent>
|
||||
|
|
@ -97,19 +96,9 @@ void CoreManager::setOtherPaths () {
|
|||
}
|
||||
|
||||
void CoreManager::setResourcesPaths () {
|
||||
QDir dir(QCoreApplication::applicationDirPath());
|
||||
if (dir.dirName() == "MacOS") {
|
||||
dir.cdUp();
|
||||
dir.cd("Resources");
|
||||
QDir mspluginsdir(dir);
|
||||
mspluginsdir.cd("lib/mediastreamer/plugins");
|
||||
QDir datadir(dir);
|
||||
datadir.cd("share");
|
||||
|
||||
shared_ptr<linphone::Factory> factory = linphone::Factory::get();
|
||||
factory->setMspluginsDir(::Utils::qStringToLinphoneString(mspluginsdir.absolutePath()));
|
||||
factory->setTopResourcesDir(::Utils::qStringToLinphoneString(datadir.absolutePath()));
|
||||
}
|
||||
shared_ptr<linphone::Factory> factory = linphone::Factory::get();
|
||||
factory->setMspluginsDir(Paths::getPackageMsPluginsDirpath());
|
||||
factory->setTopResourcesDir(Paths::getPackageDataDirpath());
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
|
@ -122,7 +111,7 @@ void CoreManager::createLinphoneCore (const QString &config_path) {
|
|||
|
||||
setResourcesPaths();
|
||||
|
||||
m_core = linphone::Factory::get()->createCore(m_handlers, Paths::getConfigFilepath(config_path), "");
|
||||
m_core = linphone::Factory::get()->createCore(m_handlers, Paths::getConfigFilepath(config_path), Paths::getFactoryConfigFilepath());
|
||||
|
||||
m_core->setVideoDisplayFilter("MSOGL");
|
||||
m_core->usePreviewWindow(true);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue