From f44ecaa4f27e7538ddcad66d40e543bffa2d2d86 Mon Sep 17 00:00:00 2001 From: manuel Date: Sun, 4 Jun 2017 16:57:49 +0200 Subject: sync with upstream --- addons/library.xbmc.codec/libXBMC_codec.h | 124 ------------------------------ 1 file changed, 124 deletions(-) delete mode 100644 addons/library.xbmc.codec/libXBMC_codec.h (limited to 'addons/library.xbmc.codec/libXBMC_codec.h') diff --git a/addons/library.xbmc.codec/libXBMC_codec.h b/addons/library.xbmc.codec/libXBMC_codec.h deleted file mode 100644 index 3853f08..0000000 --- a/addons/library.xbmc.codec/libXBMC_codec.h +++ /dev/null @@ -1,124 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * 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, 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 XBMC; see the file COPYING. If not, see - * . - * - */ - -#include -#include -#include -#include -#include -#include "xbmc_codec_types.h" -#include "libXBMC_addon.h" - -#ifdef _WIN32 -#define CODEC_HELPER_DLL "\\library.xbmc.codec\\libXBMC_codec" ADDON_HELPER_EXT -#else -#define CODEC_HELPER_DLL_NAME "libXBMC_codec-" ADDON_HELPER_ARCH ADDON_HELPER_EXT -#define CODEC_HELPER_DLL "/library.xbmc.codec/" CODEC_HELPER_DLL_NAME -#endif - -class CHelper_libXBMC_codec -{ -public: - CHelper_libXBMC_codec(void) - { - m_libXBMC_codec = NULL; - m_Handle = NULL; - } - - ~CHelper_libXBMC_codec(void) - { - if (m_libXBMC_codec) - { - CODEC_unregister_me(m_Handle, m_Callbacks); - dlclose(m_libXBMC_codec); - } - } - - /*! - * @brief Resolve all callback methods - * @param handle Pointer to the add-on - * @return True when all methods were resolved, false otherwise. - */ - bool RegisterMe(void* handle) - { - m_Handle = handle; - - std::string libBasePath; - libBasePath = ((cb_array*)m_Handle)->libPath; - libBasePath += CODEC_HELPER_DLL; - -#if defined(ANDROID) - struct stat st; - if(stat(libBasePath.c_str(),&st) != 0) - { - std::string tempbin = getenv("XBMC_ANDROID_LIBS"); - libBasePath = tempbin + "/" + CODEC_HELPER_DLL_NAME; - } -#endif - - m_libXBMC_codec = dlopen(libBasePath.c_str(), RTLD_LAZY); - if (m_libXBMC_codec == NULL) - { - fprintf(stderr, "Unable to load %s\n", dlerror()); - return false; - } - - CODEC_register_me = (void* (*)(void *HANDLE)) - dlsym(m_libXBMC_codec, "CODEC_register_me"); - if (CODEC_register_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - CODEC_unregister_me = (void (*)(void* HANDLE, void* CB)) - dlsym(m_libXBMC_codec, "CODEC_unregister_me"); - if (CODEC_unregister_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - CODEC_get_codec_by_name = (xbmc_codec_t (*)(void* HANDLE, void* CB, const char* strCodecName)) - dlsym(m_libXBMC_codec, "CODEC_get_codec_by_name"); - if (CODEC_get_codec_by_name == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - m_Callbacks = CODEC_register_me(m_Handle); - return m_Callbacks != NULL; - } - - /*! - * @brief Get the codec id used by XBMC - * @param strCodecName The name of the codec - * @return The codec_id, or a codec_id with 0 values when not supported - */ - xbmc_codec_t GetCodecByName(const char* strCodecName) - { - return CODEC_get_codec_by_name(m_Handle, m_Callbacks, strCodecName); - } - -protected: - void* (*CODEC_register_me)(void*); - void (*CODEC_unregister_me)(void*, void*); - xbmc_codec_t (*CODEC_get_codec_by_name)(void *HANDLE, void* CB, const char* strCodecName); - -private: - void* m_libXBMC_codec; - void* m_Handle; - void* m_Callbacks; - struct cb_array - { - const char* libPath; - }; -}; - -- cgit v1.2.3