- attempt for better support for older versions of libvlc
This commit is contained in:
parent
5d5224b4a2
commit
32b4925f31
|
@ -9,6 +9,7 @@
|
||||||
# LIBVLC_LIBRARY
|
# LIBVLC_LIBRARY
|
||||||
# LIBVLC_VERSION
|
# LIBVLC_VERSION
|
||||||
# LIBVLC_VERSION_PRE_V2
|
# LIBVLC_VERSION_PRE_V2
|
||||||
|
# LIBVLC_VERSION_PRE_1_1_13
|
||||||
|
|
||||||
if(NOT LIBVLC_MIN_VERSION)
|
if(NOT LIBVLC_MIN_VERSION)
|
||||||
set(LIBVLC_MIN_VERSION "0.0")
|
set(LIBVLC_MIN_VERSION "0.0")
|
||||||
|
@ -83,6 +84,9 @@ if (LIBVLC_FOUND)
|
||||||
if(LIBVLC_VERSION STRLESS "2.0.0")
|
if(LIBVLC_VERSION STRLESS "2.0.0")
|
||||||
set(LIBVLC_VERSION_PRE_V2 TRUE)
|
set(LIBVLC_VERSION_PRE_V2 TRUE)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
if(LIBVLC_VERSION STRLESS "1.1.13")
|
||||||
|
set(LIBVLC_VERSION_PRE_1_1_13 TRUE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
if (NOT LIBVLC_FIND_QUIETLY)
|
if (NOT LIBVLC_FIND_QUIETLY)
|
||||||
message(STATUS "Found LibVLC include-dir path: ${LIBVLC_INCLUDE_DIR}")
|
message(STATUS "Found LibVLC include-dir path: ${LIBVLC_INCLUDE_DIR}")
|
||||||
|
|
|
@ -22,7 +22,7 @@ sync_support_libs(){
|
||||||
local _cp="/bin/cp"
|
local _cp="/bin/cp"
|
||||||
#local skip_deps="libm.so libpthread.so libstdc++.so libgcc_s.so libc.so libdl.so libX11.so libpulse libfusion libdirect libnvidia libXext librt libxcb libICE libSM libXtst libwrap libdbus libXau libXdmcp libnsl libFLAC libGL"
|
#local skip_deps="libm.so libpthread.so libstdc++.so libgcc_s.so libc.so libdl.so libX11.so libpulse libfusion libdirect libnvidia libXext librt libxcb libICE libSM libXtst libwrap libdbus libXau libXdmcp libnsl libFLAC libGL"
|
||||||
local skip_deps=""
|
local skip_deps=""
|
||||||
local keep_deps="libcurl libgnu libicu liblua libxerces libjpeg libpng libwx libgtk libgdk libftgl libfreetype"
|
local keep_deps="libcurl libgnu libicu liblua libxerces libjpeg libpng libwx libgtk libgdk libftgl libfreetype libvlc"
|
||||||
|
|
||||||
local scan_via_skiplist=1
|
local scan_via_skiplist=1
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,9 @@ elif [ "$OSTYPE" = "i686" ] && [ "$version" = "Ubuntu" ]; then
|
||||||
sudo apt-get install libsdl1.2-dev libxerces28-dev libalut-dev libgl1-mesa-dev libglu1-mesa-dev libvorbis-dev libwxbase2.8-dev libwxgtk2.8-dev libx11-dev liblua5.1-0-dev libjpeg-dev libpng12-dev libcurl4-gnutls-dev libxml2-dev libircclient-dev libglew-dev libluajit-5.1-dev libvlc-dev
|
sudo apt-get install libsdl1.2-dev libxerces28-dev libalut-dev libgl1-mesa-dev libglu1-mesa-dev libvorbis-dev libwxbase2.8-dev libwxgtk2.8-dev libx11-dev liblua5.1-0-dev libjpeg-dev libpng12-dev libcurl4-gnutls-dev libxml2-dev libircclient-dev libglew-dev libluajit-5.1-dev libvlc-dev
|
||||||
elif [ "$OSTYPE" = "x86_64" ]; then
|
elif [ "$OSTYPE" = "x86_64" ]; then
|
||||||
echo "=====> Using build deps for debian based 64 bit linux..."
|
echo "=====> Using build deps for debian based 64 bit linux..."
|
||||||
sudo apt-get install libsdl1.2-dev libxerces-c2-dev libalut-dev libgl1-mesa-dev libglu1-mesa-dev libvorbis-dev libwxbase2.8-dev libwxgtk2.8-dev libx11-dev liblua5.1-0-dev libjpeg-dev libpng12-dev libcurl4-gnutls-dev cmake-curses-gui libgtk2.0-dev libxml2-dev libircclient-dev libftgl-dev libminiupnpc-dev libglew-dev librtmp-dev libluajit-5.1-dev libvlc-dev
|
sudo apt-get install libsdl1.2-dev libxerces-c2-dev libalut-dev libgl1-mesa-dev libglu1-mesa-dev libvorbis-dev libwxbase2.8-dev libwxgtk2.8-dev libx11-dev liblua5.1-0-dev libjpeg-dev libpng12-dev libcurl4-gnutls-dev cmake-curses-gui libgtk2.0-dev libxml2-dev libircclient-dev libftgl-dev libglew-dev libluajit-5.1-dev libvlc-dev
|
||||||
|
|
||||||
|
sudo apt-get install libminiupnpc-dev librtmp-dev
|
||||||
else
|
else
|
||||||
echo "=====> Using build deps for debian based 32 or 64 bit Linux..."
|
echo "=====> Using build deps for debian based 32 or 64 bit Linux..."
|
||||||
sudo apt-get install libsdl1.2-dev libxerces-c2-dev libalut-dev libgl1-mesa-dev libglu1-mesa-dev libvorbis-dev libwxbase2.8-dev libwxgtk2.8-dev libx11-dev liblua5.1-0-dev libjpeg-dev libpng12-dev libcurl4-gnutls-dev cmake-curses-gui libgtk2.0-dev libxml2-dev libircclient-dev libftgl-dev libminiupnpc-dev libglew-dev librtmp-dev libluajit-5.1-dev libvlc-dev
|
sudo apt-get install libsdl1.2-dev libxerces-c2-dev libalut-dev libgl1-mesa-dev libglu1-mesa-dev libvorbis-dev libwxbase2.8-dev libwxgtk2.8-dev libx11-dev liblua5.1-0-dev libjpeg-dev libpng12-dev libcurl4-gnutls-dev cmake-curses-gui libgtk2.0-dev libxml2-dev libircclient-dev libftgl-dev libminiupnpc-dev libglew-dev librtmp-dev libluajit-5.1-dev libvlc-dev
|
||||||
|
|
|
@ -241,6 +241,10 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST
|
||||||
IF(LIBVLC_VERSION_PRE_V2)
|
IF(LIBVLC_VERSION_PRE_V2)
|
||||||
ADD_DEFINITIONS(-DLIBVLC_VERSION_PRE_2)
|
ADD_DEFINITIONS(-DLIBVLC_VERSION_PRE_2)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
IF(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
|
ADD_DEFINITIONS(-DLIBVLC_VERSION_PRE_1_1_13)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS "**WARNING: LIBVLC NOT found so intro videos are NOT supported.")
|
MESSAGE(STATUS "**WARNING: LIBVLC NOT found so intro videos are NOT supported.")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
|
@ -106,7 +106,7 @@ static void display(void *data, void *id) {
|
||||||
(void) data;
|
(void) data;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAS_LIBVLC) && defined(LIBVLC_VERSION_PRE_2)
|
#if defined(HAS_LIBVLC) && defined(LIBVLC_VERSION_PRE_2) && defined(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
static void catchError(libvlc_exception_t *ex) {
|
static void catchError(libvlc_exception_t *ex) {
|
||||||
if(libvlc_exception_raised(ex)) {
|
if(libvlc_exception_raised(ex)) {
|
||||||
fprintf(stderr, "exception: %s\n", libvlc_exception_get_message(ex));
|
fprintf(stderr, "exception: %s\n", libvlc_exception_get_message(ex));
|
||||||
|
@ -160,7 +160,7 @@ void VideoPlayer::PlayVideo() {
|
||||||
std::vector<const char *> vlc_argv;
|
std::vector<const char *> vlc_argv;
|
||||||
vlc_argv.push_back("--no-xlib" /* tell VLC to not use Xlib */);
|
vlc_argv.push_back("--no-xlib" /* tell VLC to not use Xlib */);
|
||||||
vlc_argv.push_back("--no-video-title-show");
|
vlc_argv.push_back("--no-video-title-show");
|
||||||
#ifdef LIBVLC_VERSION_PRE_2
|
#if defined(LIBVLC_VERSION_PRE_2) && defined(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
char clock[64], cunlock[64], cdata[64];
|
char clock[64], cunlock[64], cdata[64];
|
||||||
char cwidth[32], cheight[32], cpitch[32];
|
char cwidth[32], cheight[32], cpitch[32];
|
||||||
/*
|
/*
|
||||||
|
@ -235,7 +235,7 @@ void VideoPlayer::PlayVideo() {
|
||||||
*/
|
*/
|
||||||
if(verboseEnabled) printf("Trying [%s]\n",getenv("VLC_PLUGIN_PATH"));
|
if(verboseEnabled) printf("Trying [%s]\n",getenv("VLC_PLUGIN_PATH"));
|
||||||
|
|
||||||
#ifdef LIBVLC_VERSION_PRE_2
|
#if defined(LIBVLC_VERSION_PRE_2) && defined(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
libvlc_exception_t ex;
|
libvlc_exception_t ex;
|
||||||
libvlc_exception_init(&ex);
|
libvlc_exception_init(&ex);
|
||||||
|
|
||||||
|
@ -294,7 +294,7 @@ void VideoPlayer::PlayVideo() {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(libvlc != NULL) {
|
if(libvlc != NULL) {
|
||||||
#ifdef LIBVLC_VERSION_PRE_2
|
#if defined(LIBVLC_VERSION_PRE_2) && defined(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
m = libvlc_media_new(libvlc, filename.c_str(), &ex);
|
m = libvlc_media_new(libvlc, filename.c_str(), &ex);
|
||||||
catchError(&ex);
|
catchError(&ex);
|
||||||
|
|
||||||
|
@ -303,12 +303,12 @@ void VideoPlayer::PlayVideo() {
|
||||||
#endif
|
#endif
|
||||||
libvlc_media_release(m);
|
libvlc_media_release(m);
|
||||||
|
|
||||||
#ifndef LIBVLC_VERSION_PRE_2
|
#if !defined(LIBVLC_VERSION_PRE_2) && !defined(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
libvlc_video_set_callbacks(mp, lock, unlock, display, &ctx);
|
libvlc_video_set_callbacks(mp, lock, unlock, display, &ctx);
|
||||||
libvlc_video_set_format(mp, "RV16", width, height, this->surface->pitch);
|
libvlc_video_set_format(mp, "RV16", width, height, this->surface->pitch);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LIBVLC_VERSION_PRE_2
|
#if defined(LIBVLC_VERSION_PRE_2) && defined(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
libvlc_media_player_play(mp,&ex);
|
libvlc_media_player_play(mp,&ex);
|
||||||
#else
|
#else
|
||||||
libvlc_media_player_play(mp);
|
libvlc_media_player_play(mp);
|
||||||
|
@ -384,7 +384,7 @@ void VideoPlayer::PlayVideo() {
|
||||||
/*
|
/*
|
||||||
* Stop stream and clean up libVLC
|
* Stop stream and clean up libVLC
|
||||||
*/
|
*/
|
||||||
#ifdef LIBVLC_VERSION_PRE_2
|
#if defined(LIBVLC_VERSION_PRE_2) && defined(LIBVLC_VERSION_PRE_1_1_13)
|
||||||
libvlc_media_player_stop(mp,&ex);
|
libvlc_media_player_stop(mp,&ex);
|
||||||
catchError(&ex);
|
catchError(&ex);
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in New Issue