diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2020-12-25 12:43:41 +0100 |
---|---|---|
committer | Julien Nabet <serval2412@yahoo.fr> | 2020-12-25 14:18:24 +0100 |
commit | 747856aa3dbe9d3a438a3b01fa631124ee057ae8 (patch) | |
tree | 04a03eecf280b330f7badb0bca28af85efcc5aa0 /avmedia/source/vlc/wrapper/SymbolLoader.hxx | |
parent | d0f4740843a052cd444efbd142ef2b66e233ddb9 (diff) |
Remove vlc part since experimental since 5 years
However considering git history about vlc part (see
https://cgit.freedesktop.org/libreoffice/core/log/?qt=grep&q=vlc) it seems
there's no real patch since 2013 + it's been explicitely indicated as
experimental since 2015
See http://document-foundation-mail-archive.969070.n3.nabble.com/About-vcl-status-in-avmedia-keep-or-removed-unmaintained-code-since-7-years-tt4293282.html
Of course if someone wants to keep on the work on it, it's always possible to revert the patch.
Change-Id: Ia1602ea61b7ffa577148a80f974ebdcb71495fbb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108283
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Diffstat (limited to 'avmedia/source/vlc/wrapper/SymbolLoader.hxx')
-rw-r--r-- | avmedia/source/vlc/wrapper/SymbolLoader.hxx | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/avmedia/source/vlc/wrapper/SymbolLoader.hxx b/avmedia/source/vlc/wrapper/SymbolLoader.hxx deleted file mode 100644 index 3c67b82f15c3..000000000000 --- a/avmedia/source/vlc/wrapper/SymbolLoader.hxx +++ /dev/null @@ -1,122 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#pragma once -#if defined(_WIN32) -#if !defined WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -#endif -# include <windows.h> -# include <winreg.h> -#endif -#include <osl/module.h> -#include <rtl/ustring.hxx> -#include <sal/log.hxx> - -#define SYM_MAP(a) { #a, reinterpret_cast<SymbolFunc *>(&a) } - -namespace avmedia::vlc::wrapper -{ -typedef void (*SymbolFunc) (void); - -struct ApiMap -{ - char const * symName; - SymbolFunc *refValue; -}; - -#if defined( LINUX ) - const char LibName[] = "libvlc.so.5"; -#elif defined( MACOSX ) - const char LibName[] = "/Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib"; -#elif defined( _WIN32 ) - const char LibName[] = "libvlc.dll"; - - inline OUString GetVLCPath() - { - HKEY hKey; - sal_Unicode arCurrent[MAX_PATH]; - DWORD dwType, dwCurrentSize = sizeof( arCurrent ); - - //TODO: This one will work only with LibreOffice 32-bit + VLC 32-bit on Win x86_64. - const LONG errorCore = ::RegOpenKeyExW( HKEY_LOCAL_MACHINE, L"SOFTWARE\\Wow6432Node\\VideoLAN\\VLC", 0, KEY_READ | KEY_WOW64_64KEY, &hKey ); - if ( errorCore == ERROR_SUCCESS ) - { - if ( ::RegQueryValueExW( hKey, L"InstallDir", nullptr, &dwType, reinterpret_cast<LPBYTE>(arCurrent), &dwCurrentSize ) == ERROR_SUCCESS && - dwType == REG_SZ ) - { - ::RegCloseKey( hKey ); - dwCurrentSize -= 2; - dwCurrentSize /= 2; - - return OUString( arCurrent, dwCurrentSize ) + "\\"; - } - - ::RegCloseKey( hKey ); - } - - return OUString(); - } -#endif - - template<size_t N> - bool tryLink( oslModule &aModule, const ApiMap ( &pMap )[N] ) - { - for (size_t i = 0; i < N; ++i) - { - SymbolFunc aMethod = reinterpret_cast<SymbolFunc>(osl_getAsciiFunctionSymbol - ( aModule, pMap[ i ].symName )); - if ( !aMethod ) - { - SAL_WARN("avmedia", "Cannot load method " << pMap[ i ].symName); - *pMap[ i ].refValue = nullptr; - return false; - } - else - *pMap[ i ].refValue = aMethod; - } - - return true; - } - - template<size_t N> - bool InitApiMap( const ApiMap ( &pMap )[N] ) - { -#if defined( LINUX ) || defined( MACOSX ) - OUString const fullPath(LibName); -#elif defined( _WIN32 ) - OUString const fullPath(GetVLCPath() + LibName); -#endif - SAL_INFO("avmedia", fullPath); - - oslModule aModule = osl_loadModule( fullPath.pData, - SAL_LOADMODULE_DEFAULT ); - - - if( aModule == nullptr) - { - SAL_WARN("avmedia", "Cannot load libvlc"); - return false; - } - - if (tryLink( aModule, pMap )) - { - return true; - } - - SAL_WARN("avmedia", "Cannot load libvlc"); - osl_unloadModule( aModule ); - - return false; - } -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |