Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
bb22020a
Commit
bb22020a
authored
Jan 04, 2011
by
Jean-Paul Saman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of git.m2x.eu:vlc into hls
Conflicts: modules/stream_filter/httplive.c
parents
dda21822
cda18d88
Changes
36
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
407 additions
and
116 deletions
+407
-116
Makefile.am
Makefile.am
+2
-2
NEWS
NEWS
+2
-0
configure.ac
configure.ac
+1
-1
extras/contrib/bootstrap
extras/contrib/bootstrap
+36
-9
extras/contrib/contrib.mak
extras/contrib/contrib.mak
+1
-1
extras/contrib/src/Distributions/android.mak
extras/contrib/src/Distributions/android.mak
+16
-0
extras/contrib/src/Patches/sidplay2-endian.patch
extras/contrib/src/Patches/sidplay2-endian.patch
+60
-0
extras/contrib/src/Patches/sidplay2-openmode.patch
extras/contrib/src/Patches/sidplay2-openmode.patch
+40
-0
extras/contrib/src/Patches/sidplay2-smartprt.patch
extras/contrib/src/Patches/sidplay2-smartprt.patch
+26
-0
extras/contrib/src/contrib-src.mak
extras/contrib/src/contrib-src.mak
+36
-3
extras/contrib/src/packages.mak
extras/contrib/src/packages.mak
+9
-8
extras/package/symbian/configure.sh
extras/package/symbian/configure.sh
+18
-0
include/vlc_common.h
include/vlc_common.h
+5
-1
modules/codec/avcodec/video.c
modules/codec/avcodec/video.c
+1
-1
modules/demux/avi/libavi.c
modules/demux/avi/libavi.c
+1
-1
modules/demux/real.c
modules/demux/real.c
+11
-10
modules/gui/macosx/misc.m
modules/gui/macosx/misc.m
+2
-2
modules/gui/macosx/playlist.m
modules/gui/macosx/playlist.m
+1
-1
modules/gui/qt4/components/interface_widgets.cpp
modules/gui/qt4/components/interface_widgets.cpp
+2
-2
modules/gui/qt4/dialogs/help.cpp
modules/gui/qt4/dialogs/help.cpp
+2
-2
modules/gui/qt4/main_interface.cpp
modules/gui/qt4/main_interface.cpp
+2
-2
modules/gui/qt4/qt4.cpp
modules/gui/qt4/qt4.cpp
+3
-3
modules/gui/qt4/qt4.hpp
modules/gui/qt4/qt4.hpp
+3
-5
modules/gui/qt4/vlc.qrc
modules/gui/qt4/vlc.qrc
+2
-2
modules/media_library/sql_media_library.c
modules/media_library/sql_media_library.c
+14
-19
modules/stream_filter/httplive.c
modules/stream_filter/httplive.c
+44
-26
modules/visualization/projectm.cpp
modules/visualization/projectm.cpp
+21
-5
projects/macosx/framework/Headers/Public/VLCMedia.h
projects/macosx/framework/Headers/Public/VLCMedia.h
+9
-3
projects/macosx/framework/Sources/VLCMedia.m
projects/macosx/framework/Sources/VLCMedia.m
+29
-1
share/Makefile.am
share/Makefile.am
+3
-3
share/icons/128x128/vlc-xmas.png
share/icons/128x128/vlc-xmas.png
+0
-0
share/icons/32x32/vlc-xmas.xpm
share/icons/32x32/vlc-xmas.xpm
+1
-1
share/icons/48x48/vlc-xmas.png
share/icons/48x48/vlc-xmas.png
+0
-0
src/libvlc.c
src/libvlc.c
+1
-1
src/misc/cpu.c
src/misc/cpu.c
+2
-0
src/modules/modules.h
src/modules/modules.h
+1
-1
No files found.
Makefile.am
View file @
bb22020a
...
@@ -471,7 +471,7 @@ VLC-release.app: vlc
...
@@ -471,7 +471,7 @@ VLC-release.app: vlc
$(top_builddir)
/tmp/modules/gui/macosx
;
\
$(top_builddir)
/tmp/modules/gui/macosx
;
\
done
done
$(AM_V_GEN)
cd
$(top_builddir)
/tmp/extras/package/macosx
&&
\
$(AM_V_GEN)
cd
$(top_builddir)
/tmp/extras/package/macosx
&&
\
xcodebuild
-target
vlc
SYM
ROOT
=
../../../build
$(silentstd)
&&
\
xcodebuild
install
-target
vlc
SYMROOT
=
../../../build
DST
ROOT
=
../../../build
$(silentstd)
&&
\
cd
../../../../
&&
\
cd
../../../../
&&
\
cp
-R
$(top_builddir)
/tmp/build/Default/VLC.bundle
$(top_builddir)
/VLC-release.app
;
\
cp
-R
$(top_builddir)
/tmp/build/Default/VLC.bundle
$(top_builddir)
/VLC-release.app
;
\
rm
-Rf
$(top_builddir)
/tmp
rm
-Rf
$(top_builddir)
/tmp
...
@@ -624,7 +624,7 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.lib
...
@@ -624,7 +624,7 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.lib
$(top_builddir)
/tmp/modules/gui/macosx
;
\
$(top_builddir)
/tmp/modules/gui/macosx
;
\
done
done
$(AM_V_GEN)
cd
$(top_builddir)
/tmp/extras/package/macosx
&&
\
$(AM_V_GEN)
cd
$(top_builddir)
/tmp/extras/package/macosx
&&
\
xcodebuild
-target
vlc
SYM
ROOT
=
../../../build
$(silentstd)
&&
\
xcodebuild
install
-target
vlc
SYMROOT
=
../../../build
DST
ROOT
=
../../../build
$(silentstd)
&&
\
cd
../../../../
&&
\
cd
../../../../
&&
\
cp
-R
$(top_builddir)
/tmp/build/Default/VLC.bundle
$(top_builddir)
/VLC.app
cp
-R
$(top_builddir)
/tmp/build/Default/VLC.bundle
$(top_builddir)
/VLC.app
$(INSTALL)
-d
$(top_builddir)
/VLC.app/Contents/MacOS
$(INSTALL)
-d
$(top_builddir)
/VLC.app/Contents/MacOS
...
...
NEWS
View file @
bb22020a
...
@@ -81,6 +81,8 @@ Services Discovery:
...
@@ -81,6 +81,8 @@ Services Discovery:
libVLC:
libVLC:
* New capabilities for libVLC:
* New capabilities for libVLC:
** libvlc_media_player_navigate for DVD navigation
** libvlc_media_player_navigate for DVD navigation
** libvlc_audio_filter_list_get, libvlc_video_filter_list_get to get the
list of available audio and video filters
Changes between 1.1.4.1 and 1.1.5:
Changes between 1.1.4.1 and 1.1.5:
...
...
configure.ac
View file @
bb22020a
...
@@ -95,7 +95,7 @@ AS_IF([test -n "${with_binary_version}"],[
...
@@ -95,7 +95,7 @@ AS_IF([test -n "${with_binary_version}"],[
])
])
dnl Check how we are asked to build
dnl Check how we are asked to build
AS_IF([test "${enable_shared}" = "no"], [
AS_IF([test "${enable_shared}" = "no"
-a "${enable_vlc}" != "no"
], [
AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
])
])
...
...
extras/contrib/bootstrap
View file @
bb22020a
...
@@ -207,9 +207,6 @@ case $TARGET in
...
@@ -207,9 +207,6 @@ case $TARGET in
CFLAGS_TUNING
=
" -arch ppc -mtune=G4"
CFLAGS_TUNING
=
" -arch ppc -mtune=G4"
EXTRA_LDFLAGS
=
" -arch ppc"
EXTRA_LDFLAGS
=
" -arch ppc"
# FIXME - this one seems to be redundant?
LD
=
"ld -arch ppc -syslibroot
\$
{MACOSX_SDK} -mmacosx-version-min=
\$
{SDK_TARGET}"
;;
;;
i686-apple-darwin
*
)
i686-apple-darwin
*
)
hint_distro macosx32
hint_distro macosx32
...
@@ -328,6 +325,10 @@ case "$DISTRO" in
...
@@ -328,6 +325,10 @@ case "$DISTRO" in
EXTRA_CFLAGS
=
"
${
EXTRA_CFLAGS
}
-D
\$
{ENVP} -isysroot
\$
{MACOSX_SDK} -mmacosx-version-min=
\$
{SDK_TARGET}"
EXTRA_CFLAGS
=
"
${
EXTRA_CFLAGS
}
-D
\$
{ENVP} -isysroot
\$
{MACOSX_SDK} -mmacosx-version-min=
\$
{SDK_TARGET}"
CC
=
"/usr/bin/gcc-4.2"
CC
=
"/usr/bin/gcc-4.2"
CXX
=
"/usr/bin/g++-4.2"
CXX
=
"/usr/bin/g++-4.2"
LD
=
"ld"
RANLIB
=
"ranlib"
AR
=
STRIP
=
"strip"
add_makefile_cfg
"PATH = /bin:/usr/bin:/usr/local/bin"
add_makefile_cfg
"PATH = /bin:/usr/bin:/usr/local/bin"
add_makefile_cfg
"SDK_TARGET =
${
SDK_TARGET
}
"
add_makefile_cfg
"SDK_TARGET =
${
SDK_TARGET
}
"
add_makefile_cfg
"ENVP = MACOSX_DEPLOYMENT_TARGET=
${
SDK_TARGET
}
"
add_makefile_cfg
"ENVP = MACOSX_DEPLOYMENT_TARGET=
${
SDK_TARGET
}
"
...
@@ -350,6 +351,25 @@ case "$DISTRO" in
...
@@ -350,6 +351,25 @@ case "$DISTRO" in
win
*
)
win
*
)
add_makefile_cfg
"PKG_CONFIG_PATH =
\$
(PREFIX)/lib/pkgconfig"
add_makefile_cfg
"PKG_CONFIG_PATH =
\$
(PREFIX)/lib/pkgconfig"
;;
;;
android
)
if
test
-z
"
$ANDROID_NDK
"
;
then
error
"The bootstrap script requires the ANDROID_NDK environment variable "
error
"to be set when building for Android"
exit
1
fi
# The given host (arm-eabi) is not the real one (arm-linux-androideabi)
ln
-sfn
$TARGET
hosts/arm-linux-androideabi
CC
=
"arm-linux-androideabi-gcc -nostdlib -lc -lgcc"
CXX
=
"arm-linux-androideabi-g++ -nostdlib -lc -lgcc"
NM
=
arm-linux-androideabi-nm
AR
=
arm-linux-androideabi-ar
LD
=
arm-linux-androideabi-ld
RANLIB
=
arm-linux-androideabi-ranlib
STRIP
=
arm-linux-androideabi-strip
# Add the PATH to the NDK
add_makefile_cfg
"ANDROID_NDK =
${
ANDROID_NDK
}
"
add_makefile_cfg
"PATH =
${
ANDROID_NDK
}
/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/:
${
PATH
}
"
add_enabled_makefile_cfg
"HAVE_LINUX"
esac
esac
# Save passed flags
# Save passed flags
...
@@ -382,9 +402,16 @@ add_makefile_cfg "EXTRA_PATH = ${EXTRA_PATH}"
...
@@ -382,9 +402,16 @@ add_makefile_cfg "EXTRA_PATH = ${EXTRA_PATH}"
#CMAKE
#CMAKE
if
test
"
$TARGET
"
!=
"
$BUILD
"
;
then
if
test
"
$TARGET
"
!=
"
$BUILD
"
;
then
toolchain_cmake
=
"
${
BUILDDIR
}
/toolchain.cmake"
toolchain_cmake
=
"
${
BUILDDIR
}
/toolchain.cmake"
rm
-f
${
BUILDDIR
}
/toolchain.cmake
if
test
${
DISTRO
}
=
"win32"
;
then
if
test
${
DISTRO
}
=
"win32"
;
then
echo
"SET(CMAKE_SYSTEM_NAME Windows)"
>>
"
${
toolchain_cmake
}
"
echo
"SET(CMAKE_SYSTEM_NAME Windows)"
>>
"
${
toolchain_cmake
}
"
fi
fi
case
"
$DISTRO
"
in
macosx
*
)
echo
"SET(CMAKE_SYSTEM_NAME Darwin)"
>>
"
${
toolchain_cmake
}
"
echo
"set(CMAKE_C_FLAGS
${
CFLAGS_TUNING
}
${
EXTRA_CFLAGS
}
)"
>>
"
${
toolchain_cmake
}
"
echo
"set(CMAKE_CXX_FLAGS
${
CFLAGS_TUNING
}
${
EXTRA_CFLAGS
}
)"
>>
"
${
toolchain_cmake
}
"
echo
"set(CMAKE_LD_FLAGS
${
EXTRA_LDFLAGS
}
)"
>>
"
${
toolchain_cmake
}
"
esac
echo
"SET(CMAKE_C_COMPILER
${
CC
}
)"
>>
"
${
toolchain_cmake
}
"
echo
"SET(CMAKE_C_COMPILER
${
CC
}
)"
>>
"
${
toolchain_cmake
}
"
echo
"SET(CMAKE_CXX_COMPILER
${
CXX
}
)"
>>
"
${
toolchain_cmake
}
"
echo
"SET(CMAKE_CXX_COMPILER
${
CXX
}
)"
>>
"
${
toolchain_cmake
}
"
echo
"SET(CMAKE_FIND_ROOT_PATH
`
pwd
`
)"
>>
"
${
toolchain_cmake
}
"
echo
"SET(CMAKE_FIND_ROOT_PATH
`
pwd
`
)"
>>
"
${
toolchain_cmake
}
"
...
@@ -432,19 +459,19 @@ fi
...
@@ -432,19 +459,19 @@ fi
if
test
"
$DISTRO
"
=
"macosx32"
;
then
if
test
"
$DISTRO
"
=
"macosx32"
;
then
info
"*****************************************************************"
info
"*****************************************************************"
info
"* VLC will be compiled in 32bit mode
.
*"
info
"* VLC will be compiled in 32bit mode
using the 10.5 & later SDK.
*"
info
"* *"
info
"* *"
info
"* Re-run with the x86_64-apple-darwin* argument to turn on *"
info
"* Re-run with the x86_64-apple-darwin* argument to turn on *"
info
"* 64bit compilation for Intel-based Macs, whereas * is either *"
info
"* 64bit compilation for Intel-based Macs, whereas * is either *"
info
"* 9 or 10 depending on your Darwin version. *"
info
"* 9 or 10 depending on your Darwin version. *"
info
"* There is
NO PPC64 support right now.
*"
info
"* There is
no PPC64 support.
*"
info
"*****************************************************************"
info
"*****************************************************************"
fi
fi
if
test
"
$DISTRO
"
=
"macosx64"
;
then
if
test
"
$DISTRO
"
=
"macosx64"
;
then
info
info
info
"*****************************************************************"
info
"*****************************************************************"
info
"* VLC will be compiled in 64bit mode using the 10.5
SDK.
*"
info
"* VLC will be compiled in 64bit mode using the 10.5
& later SDK.
*"
info
"*****************************************************************"
info
"*****************************************************************"
fi
fi
...
@@ -452,9 +479,9 @@ case `uname` in
...
@@ -452,9 +479,9 @@ case `uname` in
Linux
)
Linux
)
CPUS
=
`
grep
-c
^processor /proc/cpuinfo
`
CPUS
=
`
grep
-c
^processor /proc/cpuinfo
`
;;
;;
Darwin
)
#
Darwin)
CPUS
=
`
sysctl hw.ncpu|cut
-d
:
-f2
`
#
CPUS=`sysctl hw.ncpu|cut -d: -f2`
;;
#
;;
*
)
*
)
CPUS
=
1
# default
CPUS
=
1
# default
;;
;;
...
...
extras/contrib/contrib.mak
View file @
bb22020a
...
@@ -49,7 +49,7 @@ src: using-src
...
@@ -49,7 +49,7 @@ src: using-src
ifdef
HAVE_DARWIN_OS
ifdef
HAVE_DARWIN_OS
CONTRIBREV
=
3
6
CONTRIBREV
=
3
7
contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2
:
contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2
:
$(WGET)
http://downloads.videolan.org/pub/videolan/testing/contrib/
$@
$(WGET)
http://downloads.videolan.org/pub/videolan/testing/contrib/
$@
...
...
extras/contrib/src/Distributions/android.mak
0 → 100644
View file @
bb22020a
# android rules
# Not compiling: .shout .ebml .matroska .live .mod .x264 .caca .mpcdec .dirac .schroedinger .libass
all
:
.zlib
\
.a52 .mpeg2 .mad .ogg .vorbis .vorbisenc .theora
\
.flac .speex .faad .lame .ffmpeg
\
.twolame
\
.png .dvbpsi
\
.dca .kate
ANDROID_INCLUDE
=
$(ANDROID_NDK)
/platforms/android-9/arch-arm/usr/include
ANDROID_LIB
=
$(ANDROID_NDK)
/platforms/android-9/arch-arm/usr/lib
EXTRA_CPPFLAGS
=
-I
$(ANDROID_INCLUDE)
EXTRA_LDFLAGS
=
-Wl
,-rpath-link
=
$(ANDROID_LIB)
,-Bdynamic,-dynamic-linker
=
/system/bin/linker
-Wl
,--no-undefined
-Wl
,-shared
-L
$(ANDROID_LIB)
EXTRA_CFLAGS
=
extras/contrib/src/Patches/sidplay2-endian.patch
0 → 100644
View file @
bb22020a
--- sidplay-libs-2.1.1.orig/libsidplay/include/sidplay/sidendian.h
+++ sidplay-libs-2.1.1/libsidplay/include/sidplay/sidendian.h
@@ -16,6 +16,10 @@
***************************************************************************/
/***************************************************************************
* $Log: sidendian.h,v $
+ * Revision 1.6 2005/11/20 11:02:06 s_a_white
+ * Work around for bug in gcc 4 (optimiser breaks if variable never has a
+ * direct assignment).
+ *
* Revision 1.5 2001/07/03 22:44:13 s_a_white
* Added endian_16 to convert a 16 bit value to an array of 8s.
*
@@ -141,7 +145,7 @@
// Convert high-byte and low-byte to 16-bit word.
inline uint_least16_t endian_16 (uint8_t hi, uint8_t lo)
{
- uint_least16_t word;
+ uint_least16_t word = 0;
endian_16lo8 (word, lo);
endian_16hi8 (word, hi);
return word;
@@ -334,7 +338,7 @@
// Swap word endian.
inline void endian_32swap8 (uint_least32_t &dword)
{
- uint_least16_t lo, hi;
+ uint_least16_t lo = 0, hi = 0;
lo = endian_32lo16 (dword);
hi = endian_32hi16 (dword);
endian_16swap8 (lo);
@@ -346,8 +350,8 @@
// Convert high-byte and low-byte to 32-bit word.
inline uint_least32_t endian_32 (uint8_t hihi, uint8_t hilo, uint8_t hi, uint8_t lo)
{
- uint_least32_t dword;
- uint_least16_t word;
+ uint_least32_t dword = 0;
+ uint_least16_t word = 0;
endian_32lo8 (dword, lo);
endian_32hi8 (dword, hi);
endian_16lo8 (word, hilo);
@@ -374,7 +378,7 @@
defined(SID_WORDS_LITTLEENDIAN)
*((uint_least32_t *) ptr) = dword;
#else
- uint_least16_t word;
+ uint_least16_t word = 0;
ptr[0] = endian_32lo8 (dword);
ptr[1] = endian_32hi8 (dword);
word = endian_32hi16 (dword);
@@ -401,7 +405,7 @@
defined(SID_WORDS_BIGENDIAN)
*((uint_least32_t *) ptr) = dword;
#else
- uint_least16_t word;
+ uint_least16_t word = 0;
word = endian_32hi16 (dword);
ptr[1] = endian_16lo8 (word);
ptr[0] = endian_16hi8 (word);
extras/contrib/src/Patches/sidplay2-openmode.patch
0 → 100644
View file @
bb22020a
--- sidplay-libs-2.1.1/libsidplay/src/sidtune/SidTune.cpp.old 2008-07-25 16:55:02.000000000 \
+0000
+++ sidplay-libs-2.1.1/libsidplay/src/sidtune/SidTune.cpp 2008-07-25 16:53:58.000000000 \
+0000
@@ -283,7 +283,7 @@
uint_least32_t fileLen = 0;
// This sucks big time
- openmode createAtrr = std::ios::in;
+ std::_Ios_Openmode createAtrr = std::ios::in;
#ifdef HAVE_IOS_NOCREATE
createAtrr |= std::ios::nocreate;
#endif
@@ -952,7 +952,7 @@
if ( status )
{
// Open binary output file stream.
- openmode createAttr = std::ios::out;
+ std::_Ios_Openmode createAttr = std::ios::out;
#if defined(HAVE_IOS_BIN)
createAttr |= std::ios::bin;
#else
@@ -1002,7 +1002,7 @@
if ( status )
{
// Open ASCII output file stream.
- openmode createAttr = std::ios::out;
+ std::_Ios_Openmode createAttr = std::ios::out;
if ( overWriteFlag )
createAttr |= std::ios::trunc;
else
@@ -1036,7 +1036,7 @@
if ( status )
{
// Open binary output file stream.
- openmode createAttr = std::ios::out;
+ std::_Ios_Openmode createAttr = std::ios::out;
#if defined(HAVE_IOS_BIN)
createAttr |= std::ios::bin;
#else
extras/contrib/src/Patches/sidplay2-smartprt.patch
0 → 100644
View file @
bb22020a
--- sidplay-2.1.1/libsidplay/include/sidplay/SmartPtr.h 2004-06-14 22:08:04.000000000 +0200
+++ sidplay2/libsidplay/include/sidplay/SmartPtr.h 2010-12-28 23:33:07.803027697 +0100
@@ -211,16 +211,16 @@
{
if ( bufferLen >= 1 )
{
- pBufCurrent = ( bufBegin = buffer );
- bufEnd = bufBegin + bufferLen;
- bufLen = bufferLen;
- status = true;
+ this->pBufCurrent = ( this->bufBegin = buffer );
+ this->bufEnd = this->bufBegin + bufferLen;
+ this->bufLen = bufferLen;
+ this->status = true;
}
else
{
- pBufCurrent = bufBegin = bufEnd = 0;
- bufLen = 0;
- status = false;
+ this->pBufCurrent = this->bufBegin = this->bufEnd = 0;
+ this->bufLen = 0;
+ this->status = false;
}
}
};
extras/contrib/src/contrib-src.mak
View file @
bb22020a
...
@@ -602,7 +602,6 @@ libogg-$(OGG_VERSION).tar.gz:
...
@@ -602,7 +602,6 @@ libogg-$(OGG_VERSION).tar.gz:
libogg
:
libogg-$(OGG_VERSION).tar.gz
libogg
:
libogg-$(OGG_VERSION).tar.gz
$(EXTRACT_GZ)
$(EXTRACT_GZ)
patch
-p0
< Patches/libogg-1.1.patch
patch
-p0
< Patches/libogg-1.1.patch
(
cd
$@
;
patch
-p2
< ../Patches/libogg-r17608.diff
)
ifdef
HAVE_WINCE
ifdef
HAVE_WINCE
patch
-p0
< Patches/libogg-wince.patch
patch
-p0
< Patches/libogg-wince.patch
endif
endif
...
@@ -968,7 +967,11 @@ ifdef HAVE_CROSS_COMPILE
...
@@ -968,7 +967,11 @@ ifdef HAVE_CROSS_COMPILE
FFMPEGCONF
+=
--enable-cross-compile
FFMPEGCONF
+=
--enable-cross-compile
endif
endif
ifdef
HAVE_CROSS_COMPILE_NEEDS_CROSS_PREFIX
ifdef
HAVE_CROSS_COMPILE_NEEDS_CROSS_PREFIX
ifndef
HAVE_ANDROID
FFMPEGCONF
+=
--cross-prefix
=
$(HOST)
-
FFMPEGCONF
+=
--cross-prefix
=
$(HOST)
-
else
FFMPEGCONF
+=
--cross-prefix
=
arm-linux-androideabi-
--arch
=
armv4l
endif
endif
endif
#
#
...
@@ -997,13 +1000,15 @@ endif
...
@@ -997,13 +1000,15 @@ endif
ifndef
HAVE_UCLIBC
ifndef
HAVE_UCLIBC
ifndef
HAVE_WINCE
ifndef
HAVE_WINCE
ifndef
HAVE_IOS
ifndef
HAVE_IOS
ifndef
HAVE_ANDROID
FFMPEGCONF
+=
--enable-libmp3lame
--enable-libgsm
FFMPEGCONF
+=
--enable-libmp3lame
--enable-libgsm
endif
endif
endif
endif
endif
endif
endif
ifdef
CC
ifdef
CC
FFMPEGCONF
+=
--cc
=
$(CC)
FFMPEGCONF
+=
--cc
=
"
$(CC)
"
endif
endif
ifdef
HAVE_MACOSX_ON_INTEL
ifdef
HAVE_MACOSX_ON_INTEL
...
@@ -1125,6 +1130,7 @@ FFMPEG_DEPS-$(HAVE_WIN64) = .lame .gsm .zlib
...
@@ -1125,6 +1130,7 @@ FFMPEG_DEPS-$(HAVE_WIN64) = .lame .gsm .zlib
FFMPEG_DEPS-$(HAVE_ARMELF)
=
.lame .gsm .zlib
FFMPEG_DEPS-$(HAVE_ARMELF)
=
.lame .gsm .zlib
FFMPEG_DEPS-$(HAVE_MACOSX)
+=
.yasm
FFMPEG_DEPS-$(HAVE_MACOSX)
+=
.yasm
FFMPEG_DEPS-$(HAVE_WIN32)
+=
.dshow_headers
FFMPEG_DEPS-$(HAVE_WIN32)
+=
.dshow_headers
FFMPEG_DEPS-$(HAVE_ANDROID)
=
ifdef
SVN
ifdef
SVN
FFMPEG_MK_TARGET
=
ffmpeg/.svn-
$(FFMPEG_SVN_REV)
FFMPEG_MK_TARGET
=
ffmpeg/.svn-
$(FFMPEG_SVN_REV)
...
@@ -2054,12 +2060,18 @@ DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz
...
@@ -2054,12 +2060,18 @@ DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz
mpcdec
:
mpcdec
:
$(SVN)
co
$(MUSE_SVN)
-r
468 mpcdec
$(SVN)
co
$(MUSE_SVN)
-r
468 mpcdec
cd
$@
;
patch
-p0
< ../Patches/libmpc-simple.patch
(
cd
$@
;
patch
-p0
< ../Patches/libmpc-simple.patch
)
ifdef
HAVE_MACOSX
(
cd
$@
;
sed
-e
's%-O3 -Wall%-O3 -Wall
$(CFLAGS)
%'
-i
.orig CMakeLists.txt
)
endif
.mpcdec
:
mpcdec
.mpcdec
:
mpcdec
(
cd
$<
;
cmake
.
-DCMAKE_TOOLCHAIN_FILE
=
../../toolchain.cmake
-DCMAKE_INSTALL_PREFIX
=
$(PREFIX)
&&
make
install
)
(
cd
$<
;
cmake
.
-DCMAKE_TOOLCHAIN_FILE
=
../../toolchain.cmake
-DCMAKE_INSTALL_PREFIX
=
$(PREFIX)
&&
make
install
)
ifdef
HAVE_WIN32
ifdef
HAVE_WIN32
(
cd
$<
;
cp
libmpcdec/libmpcdec_static.a
$(PREFIX)
/lib/libmpcdec.a
)
(
cd
$<
;
cp
libmpcdec/libmpcdec_static.a
$(PREFIX)
/lib/libmpcdec.a
)
endif
ifdef
HAVE_MACOSX
(
cd
$<
;
cp
libmpcdec/libmpcdec.dylib
$(PREFIX)
/lib/libmpcdec.dylib
)
endif
endif
touch
$@
touch
$@
...
@@ -2638,6 +2650,27 @@ CLEAN_FILE += .gme
...
@@ -2638,6 +2650,27 @@ CLEAN_FILE += .gme
CLEAN_PKG
+=
game-music-emu-
$(GME_VERSION)
CLEAN_PKG
+=
game-music-emu-
$(GME_VERSION)
DISTCLEAN_PKG
+=
game-music-emu-
$(GME_VERSION)
.tbz2
DISTCLEAN_PKG
+=
game-music-emu-
$(GME_VERSION)
.tbz2
# ********************************
# SidPlay2
# ********************************
sidplay-libs-2.1.1.tar.gz
:
$(WGET)
$(SID_URL)
sidplay-2.1.1
:
sidplay-libs-2.1.1.tar.gz
$(EXTRACT_GZ)
(
cd
$@
;
patch
-p1
< ../Patches/sidplay2-openmode.patch
)
(
cd
$@
;
patch
-p1
< ../Patches/sidplay2-endian.patch
)
(
cd
$@
;
patch
-p1
< ../Patches/sidplay2-smartprt.patch
)
.sidplay
:
sidplay-2.1.1
(
cd
$<
;
$(HOSTCC)
./configure
$(HOSTCONF)
--prefix
=
$(PREFIX)
&&
make
-C
libsidplay
&&
make
-C
libsidplay
install
)
CLEAN_FILE
+=
.sidplay
CLEAN_PKG
+=
sidplay-2.1.1
DISTCLEAN_PKG
+=
sidplay-libs-2.1.1.tar.gz
##
tools
:
$(TOOLS)
tools
:
$(TOOLS)
# ***************************************************************************
# ***************************************************************************
...
...
extras/contrib/src/packages.mak
View file @
bb22020a
...
@@ -34,8 +34,8 @@ LIBAMR_NB=$(PENGUIN)/amrnb-$(LIBAMR_NB_VERSION).tar.bz2
...
@@ -34,8 +34,8 @@ LIBAMR_NB=$(PENGUIN)/amrnb-$(LIBAMR_NB_VERSION).tar.bz2
LIBAMR_WB_VERSION
=
7.0.0.2
LIBAMR_WB_VERSION
=
7.0.0.2
LIBAMR_WB
=
$(PENGUIN)
/amrwb-
$(LIBAMR_WB_VERSION)
.tar.bz2
LIBAMR_WB
=
$(PENGUIN)
/amrwb-
$(LIBAMR_WB_VERSION)
.tar.bz2
ERRNO_URL
=
http://altair.videolan.org/~linkfanel/errno
ERRNO_URL
=
http://altair.videolan.org/~linkfanel/errno
CMAKE_VERSION
=
2.
6.4
CMAKE_VERSION
=
2.
8.3
CMAKE_URL
=
http://www.cmake.org/files/v2.
6
/cmake-
$(CMAKE_VERSION)
.tar.gz
CMAKE_URL
=
http://www.cmake.org/files/v2.
8
/cmake-
$(CMAKE_VERSION)
.tar.gz
LIBTOOL_VERSION
=
2.2.10
LIBTOOL_VERSION
=
2.2.10
LIBTOOL_URL
=
$(GNU)
/libtool/libtool-
$(LIBTOOL_VERSION)
.tar.gz
LIBTOOL_URL
=
$(GNU)
/libtool/libtool-
$(LIBTOOL_VERSION)
.tar.gz
AUTOCONF_VERSION
=
2.68
AUTOCONF_VERSION
=
2.68
...
@@ -64,7 +64,7 @@ LIBMPEG2_VERSION=0.5.1
...
@@ -64,7 +64,7 @@ LIBMPEG2_VERSION=0.5.1
LIBMPEG2_URL
=
http://libmpeg2.sourceforge.net/files/libmpeg2-
$(LIBMPEG2_VERSION)
.tar.gz
LIBMPEG2_URL
=
http://libmpeg2.sourceforge.net/files/libmpeg2-
$(LIBMPEG2_VERSION)
.tar.gz
LIBMAD_VERSION
=
0.15.1b
LIBMAD_VERSION
=
0.15.1b
LIBMAD_URL
=
$(CONTRIB_VIDEOLAN)
/libmad-
$(LIBMAD_VERSION)
.tar.gz
LIBMAD_URL
=
$(CONTRIB_VIDEOLAN)
/libmad-
$(LIBMAD_VERSION)
.tar.gz
OGG_VERSION
=
1.2.
1
OGG_VERSION
=
1.2.
2
OGG_URL
=
http://downloads.xiph.org/releases/ogg/libogg-
$(OGG_VERSION)
.tar.gz
OGG_URL
=
http://downloads.xiph.org/releases/ogg/libogg-
$(OGG_VERSION)
.tar.gz
#GG_URL=$(CONTRIB_VIDEOLAN)/libogg-$(OGG_VERSION).tar.gz
#GG_URL=$(CONTRIB_VIDEOLAN)/libogg-$(OGG_VERSION).tar.gz
OGG_CVSROOT
=
:pserver:anoncvs@xiph.org:/usr/local/cvsroot
OGG_CVSROOT
=
:pserver:anoncvs@xiph.org:/usr/local/cvsroot
...
@@ -95,7 +95,7 @@ LIBMATROSKA_URL=http://dl.matroska.org/downloads/libmatroska/libmatroska-$(LIBMA
...
@@ -95,7 +95,7 @@ LIBMATROSKA_URL=http://dl.matroska.org/downloads/libmatroska/libmatroska-$(LIBMA
FFMPEG_VERSION
=
0.4.8
FFMPEG_VERSION
=
0.4.8
FFMPEG_URL
=
$(SF)
/ffmpeg/ffmpeg-
$(FFMPEG_VERSION)
.tar.gz
FFMPEG_URL
=
$(SF)
/ffmpeg/ffmpeg-
$(FFMPEG_VERSION)
.tar.gz
FFMPEG_SVN
=
svn://svn.ffmpeg.org/ffmpeg/trunk
FFMPEG_SVN
=
svn://svn.ffmpeg.org/ffmpeg/trunk
FFMPEG_SVN_REV
=
2
5711
FFMPEG_SVN_REV
=
2
6165
LIBDVDCSS_VERSION
=
1.2.10
LIBDVDCSS_VERSION
=
1.2.10
LIBDVDCSS_URL
=
$(VIDEOLAN)
/libdvdcss/
$(LIBDVDCSS_VERSION)
/libdvdcss-
$(LIBDVDCSS_VERSION)
.tar.bz2
LIBDVDCSS_URL
=
$(VIDEOLAN)
/libdvdcss/
$(LIBDVDCSS_VERSION)
/libdvdcss-
$(LIBDVDCSS_VERSION)
.tar.bz2
LIBDVDNAV_VERSION
=
4.1.1
LIBDVDNAV_VERSION
=
4.1.1
...
@@ -138,7 +138,7 @@ VCDIMAGER_VERSION=0.7.23
...
@@ -138,7 +138,7 @@ VCDIMAGER_VERSION=0.7.23
VCDIMAGER_URL
=
$(GNU)
/vcdimager/vcdimager-
$(VCDIMAGER_VERSION)
.tar.gz
VCDIMAGER_URL
=
$(GNU)
/vcdimager/vcdimager-
$(VCDIMAGER_VERSION)
.tar.gz
CDIO_VERSION
=
0.80
CDIO_VERSION
=
0.80
CDIO_URL
=
$(GNU)
/libcdio/libcdio-
$(CDIO_VERSION)
.tar.gz
CDIO_URL
=
$(GNU)
/libcdio/libcdio-
$(CDIO_VERSION)
.tar.gz
PNG_VERSION
=
1.4.
4
PNG_VERSION
=
1.4.
5
PNG_URL
=
$(SF)
/libpng/libpng-
$(PNG_VERSION)
.tar.bz2
PNG_URL
=
$(SF)
/libpng/libpng-
$(PNG_VERSION)
.tar.bz2
GPGERROR_VERSION
=
1.7
GPGERROR_VERSION
=
1.7
#GPGERROR_URL=$(CONTRIB_VIDEOLAN)/libgpg-error-$(GPGERROR_VERSION).tar.bz2
#GPGERROR_URL=$(CONTRIB_VIDEOLAN)/libgpg-error-$(GPGERROR_VERSION).tar.bz2
...
@@ -146,7 +146,7 @@ GPGERROR_URL=ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-$(GPGERROR_VER
...
@@ -146,7 +146,7 @@ GPGERROR_URL=ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-$(GPGERROR_VER
GCRYPT_VERSION
=
1.4.6
GCRYPT_VERSION
=
1.4.6
#GCRYPT_URL=$(CONTRIB_VIDEOLAN)/libgcrypt-$(GCRYPT_VERSION).tar.bz2
#GCRYPT_URL=$(CONTRIB_VIDEOLAN)/libgcrypt-$(GCRYPT_VERSION).tar.bz2
GCRYPT_URL
=
ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-
$(GCRYPT_VERSION)
.tar.bz2
GCRYPT_URL
=
ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-
$(GCRYPT_VERSION)
.tar.bz2
GNUTLS_VERSION
=
2.10.
3
GNUTLS_VERSION
=
2.10.
4
GNUTLS_URL
=
http://ftp.gnu.org/pub/gnu/gnutls/gnutls-
$(GNUTLS_VERSION)
.tar.bz2
GNUTLS_URL
=
http://ftp.gnu.org/pub/gnu/gnutls/gnutls-
$(GNUTLS_VERSION)
.tar.bz2
OPENCDK_VERSION
=
0.6.6
OPENCDK_VERSION
=
0.6.6
OPENCDK_URL
=
http://www.gnu.org/software/gnutls/releases/opencdk/opencdk-
$(OPENCDK_VERSION)
.tar.bz2
OPENCDK_URL
=
http://www.gnu.org/software/gnutls/releases/opencdk/opencdk-
$(OPENCDK_VERSION)
.tar.bz2
...
@@ -159,7 +159,7 @@ TWOLAME_VERSION=0.3.12
...
@@ -159,7 +159,7 @@ TWOLAME_VERSION=0.3.12
TWOLAME_URL
=
$(SF)
/twolame/twolame-
$(TWOLAME_VERSION)
.tar.gz
TWOLAME_URL
=
$(SF)
/twolame/twolame-
$(TWOLAME_VERSION)
.tar.gz
X264_VERSION
=
20050609
X264_VERSION
=
20050609
X264_URL
=
$(CONTRIB_VIDEOLAN)
/x264-
$(X264_VERSION)
.tar.gz
X264_URL
=
$(CONTRIB_VIDEOLAN)
/x264-
$(X264_VERSION)
.tar.gz
JPEG_VERSION
=
8
a
JPEG_VERSION
=
8
b
JPEG_URL
=
http://www.ijg.org/files/jpegsrc.v
$(JPEG_VERSION)
.tar.gz
JPEG_URL
=
http://www.ijg.org/files/jpegsrc.v
$(JPEG_VERSION)
.tar.gz
TIFF_VERSION
=
3.9.4
TIFF_VERSION
=
3.9.4
TIFF_URL
=
ftp://ftp.remotesensing.org/libtiff/tiff-
$(TIFF_VERSION)
.tar.gz
TIFF_URL
=
ftp://ftp.remotesensing.org/libtiff/tiff-
$(TIFF_VERSION)
.tar.gz
...
@@ -178,7 +178,7 @@ QT4_MAC_VERSION=4.7.1
...
@@ -178,7 +178,7 @@ QT4_MAC_VERSION=4.7.1
QT4_MAC_URL
=
http://get.qt.nokia.com/qt/source/qt-mac-opensource-
$(QT4_MAC_VERSION)
.dmg
QT4_MAC_URL
=
http://get.qt.nokia.com/qt/source/qt-mac-opensource-
$(QT4_MAC_VERSION)
.dmg
ZLIB_VERSION
=
1.2.5
ZLIB_VERSION
=
1.2.5
ZLIB_URL
=
$(SF)
/libpng/zlib-
$(ZLIB_VERSION)
.tar.gz
ZLIB_URL
=
$(SF)
/libpng/zlib-
$(ZLIB_VERSION)
.tar.gz
XML_VERSION
=
2.7.
7
XML_VERSION
=
2.7.
8
#XML_URL=$(CONTRIB_VIDEOLAN)/libxml2-$(XML_VERSION).tar.gz
#XML_URL=$(CONTRIB_VIDEOLAN)/libxml2-$(XML_VERSION).tar.gz
XML_URL
=
http://xmlsoft.org/sources/libxml2-
$(XML_VERSION)
.tar.gz
XML_URL
=
http://xmlsoft.org/sources/libxml2-
$(XML_VERSION)
.tar.gz
DIRAC_VERSION
=
1.0.2
DIRAC_VERSION
=
1.0.2
...
@@ -246,3 +246,4 @@ VPX_VERSION=0.9.2
...
@@ -246,3 +246,4 @@ VPX_VERSION=0.9.2
VPX_URL
=
http://webm.googlecode.com/files/libvpx-
$(VPX_VERSION)
.tar.bz2
VPX_URL
=
http://webm.googlecode.com/files/libvpx-
$(VPX_VERSION)
.tar.bz2
GME_VERSION
=
0.5.5
GME_VERSION
=
0.5.5
GME_URL
=
http://game-music-emu.googlecode.com/files/game-music-emu-
$(GME_VERSION)
.tbz2
GME_URL
=
http://game-music-emu.googlecode.com/files/game-music-emu-
$(GME_VERSION)
.tbz2
SID_URL
=
$(SF)
/sidplay2/sidplay2/sidplay-libs-2.1.1/sidplay-libs-2.1.1.tar.gz
extras/package/symbian/configure.sh
0 → 100644
View file @
bb22020a
#!/bin/sh
SYMBIAN_ROOT
=
/mnt/vlc/symbian
SYMBIAN_SDK
=
$SYMBIAN_ROOT
/sdks
EPOCROOT
=
$SYMBIAN_SDK
PATH
=
$SYMBIAN_ROOT
/gnupoc:
$SYMBIAN_ROOT
/cls-gcc/bin:
$SYMBIAN_ROOT
/qt_4.7.1/bin:
$PATH
SYMBIAN_INCLUDE
=
$SYMBIAN_SDK
/epoc32/include
echo
"export EPOCROOT=
$EPOCROOT
;export PATH=
$PATH
;"
CC
=
arm-none-symbianelf-gcc
CXX
=
arm-none-symbianelf-g++
\
PKG_CONFIG_PATH
=
""
PKG_CONFIG_LIBDIR
=
""
\
LDFLAGS
=
"-L
$SYMBIAN_ROOT
/cls-gcc/arm-none-symbianelf/lib -L
$EPOCROOT
/epoc32/release/armv5/lib -nostdlib -shared -Wl,--no-undefined
$EPOCROOT
/epoc32/release/armv5/lib/libc.dso "
\
CPPFLAGS
=
"-D_UNICODE -D__GCCE__ -D__SYMBIAN32__ -D__S60_3X__ -D__FreeBSD_cc_version -include
$SYMBIAN_INCLUDE
/gcce/gcce.h -I
$SYMBIAN_INCLUDE
/stdapis -I
$SYMBIAN_INCLUDE
/stdapis/sys -I
$SYMBIAN_INCLUDE
/variant -I
$SYMBIAN_INCLUDE
"
\
../configure
--host
=
arm-none-symbianelf
--build
=
i386-linux
\
--disable-vlc
--enable-static
--disable-shared
--enable-static-modules
\
--disable-mad
--disable-avcodec
--disable-a52
--disable-libgcrypt
--disable-remoteosd
\
--disable-lua
--disable-swscale
--disable-postproc
--disable-qt4
--disable-skins2
include/vlc_common.h
View file @
bb22020a
...
@@ -112,6 +112,10 @@
...
@@ -112,6 +112,10 @@
# endif
# endif
#endif
#endif
#ifdef __SYMBIAN32__
#include <sys/syslimits.h>
#endif
/* Counter for statistics and profiling */
/* Counter for statistics and profiling */
typedef
unsigned
long
count_t
;
typedef
unsigned
long
count_t
;
...
@@ -866,7 +870,7 @@ VLC_EXPORT( const char *, VLC_Compiler, ( void ) LIBVLC_USED );
...
@@ -866,7 +870,7 @@ VLC_EXPORT( const char *, VLC_Compiler, ( void ) LIBVLC_USED );
#include "vlc_main.h"
#include "vlc_main.h"
#include "vlc_configuration.h"
#include "vlc_configuration.h"
#if defined( WIN32 ) || defined( UNDER_CE )
#if defined( WIN32 ) || defined( UNDER_CE )
|| defined( __SYMBIAN32__ )
# define DIR_SEP_CHAR '\\'
# define DIR_SEP_CHAR '\\'
# define DIR_SEP "\\"
# define DIR_SEP "\\"
# define PATH_SEP_CHAR ';'
# define PATH_SEP_CHAR ';'
...
...
modules/codec/avcodec/video.c
View file @
bb22020a
...
@@ -302,7 +302,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context,
...
@@ -302,7 +302,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context,
(
p_sys
->
p_codec
->
capabilities
&
CODEC_CAP_DR1
)
&&
(
p_sys
->
p_codec
->
capabilities
&
CODEC_CAP_DR1
)
&&
/* No idea why ... but this fixes flickering on some TSCC streams */
/* No idea why ... but this fixes flickering on some TSCC streams */
p_sys
->
i_codec_id
!=
CODEC_ID_TSCC
&&
p_sys
->
i_codec_id
!=
CODEC_ID_TSCC
&&
#if
LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 52, 68, 2
)
#if
(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 52, 68, 2 ) ) && (LIBAVCODEC_VERSION_INT < AV_VERSION_INT( 52, 100, 1 )
)
/* avcodec native vp8 decode doesn't handle EMU_EDGE flag, and I
/* avcodec native vp8 decode doesn't handle EMU_EDGE flag, and I
don't have idea howto implement fallback to libvpx decoder */
don't have idea howto implement fallback to libvpx decoder */
p_sys
->
i_codec_id
!=
CODEC_ID_VP8
&&
p_sys
->
i_codec_id
!=
CODEC_ID_VP8
&&
...
...
modules/demux/avi/libavi.c
View file @
bb22020a
...
@@ -365,7 +365,7 @@ static int AVI_ChunkRead_strf( stream_t *s, avi_chunk_t *p_chk )
...
@@ -365,7 +365,7 @@ static int AVI_ChunkRead_strf( stream_t *s, avi_chunk_t *p_chk )
if
(
p_chk
->
strf
.
auds
.
p_wf
->
cbSize
>
0
)
if
(
p_chk
->
strf
.
auds
.
p_wf
->
cbSize
>
0
)
{
{
memcpy
(
&
p_chk
->
strf
.
auds
.
p_wf
[
1
]
,
memcpy
(
&
p_chk
->
strf
.
auds
.
p_wf
[
1
]
,
p_buff
+
8
+
sizeof
(
WAVEFORMATEX
),
/* 8=four
r
c+size */
p_buff
+
8
+
sizeof
(
WAVEFORMATEX
),
/* 8=four
c
c+size */
p_chk
->
strf
.
auds
.
p_wf
->
cbSize
);
p_chk
->
strf
.
auds
.
p_wf
->
cbSize
);
}
}
#ifdef AVI_DEBUG
#ifdef AVI_DEBUG
...
...
modules/demux/real.c
View file @
bb22020a
...
@@ -251,11 +251,8 @@ static void Close( vlc_object_t *p_this )
...
@@ -251,11 +251,8 @@ static void Close( vlc_object_t *p_this )
if
(
tk
->
p_subpackets
[
j
]
)
if
(
tk
->
p_subpackets
[
j
]
)
block_Release
(
tk
->
p_subpackets
[
j
]
);
block_Release
(
tk
->
p_subpackets
[
j
]
);
}
}
if
(
tk
->
i_subpackets
)
free
(
tk
->
p_subpackets
);
{
free
(
tk
->
p_subpackets_timecode
);
free
(
tk
->
p_subpackets
);
free
(
tk
->
p_subpackets_timecode
);
}
if
(
tk
->
p_sipr_packet
)
if
(
tk
->
p_sipr_packet
)
block_Release
(
tk
->
p_sipr_packet
);
block_Release
(
tk
->
p_sipr_packet
);
free
(
tk
);
free
(
tk
);
...
@@ -636,6 +633,11 @@ static void DemuxAudioMethod1( demux_t *p_demux, real_track_t *tk, mtime_t i_pts
...
@@ -636,6 +633,11 @@ static void DemuxAudioMethod1( demux_t *p_demux, real_track_t *tk, mtime_t i_pts
for
(
int
i
=
0
;
i
<
i_num
;
i
++
)
for
(
int
i
=
0
;
i
<
i_num
;
i
++
)
{
{
int
i_index
=
tk
->
i_subpacket_h
*
i
+
((
tk
->
i_subpacket_h
+
1
)
/
2
)
*
(
y
&
1
)
+
(
y
>>
1
);
if
(
i_index
>=
tk
->
i_subpackets
)
return
;
block_t
*
p_block
=
block_New
(
p_demux
,
tk
->
i_subpacket_size
);
block_t
*
p_block
=
block_New
(
p_demux
,
tk
->
i_subpacket_size
);
if
(
!
p_block
)
if
(
!
p_block
)
return
;
return
;
...
@@ -648,9 +650,6 @@ static void DemuxAudioMethod1( demux_t *p_demux, real_track_t *tk, mtime_t i_pts
...
@@ -648,9 +650,6 @@ static void DemuxAudioMethod1( demux_t *p_demux, real_track_t *tk, mtime_t i_pts
p_buf
+=
tk
->
i_subpacket_size
;
p_buf
+=
tk
->
i_subpacket_size
;
int
i_index
=
tk
->
i_subpacket_h
*
i
+
((
tk
->
i_subpacket_h
+
1
)
/
2
)
*
(
y
&
1
)
+
(
y
>>
1
);
if
(
tk
->
p_subpackets
[
i_index
]
!=
NULL
)
if
(
tk
->
p_subpackets
[
i_index
]
!=
NULL
)
{
{
msg_Dbg
(
p_demux
,
"p_subpackets[ %d ] not null!"
,
i_index
);
msg_Dbg
(
p_demux
,
"p_subpackets[ %d ] not null!"
,
i_index
);
...
@@ -670,14 +669,16 @@ static void DemuxAudioMethod1( demux_t *p_demux, real_track_t *tk, mtime_t i_pts
...
@@ -670,14 +669,16 @@ static void DemuxAudioMethod1( demux_t *p_demux, real_track_t *tk, mtime_t i_pts
for
(
int
i
=
0
;
i
<
tk
->
i_subpacket_h
/
2
;
i
++
)
for
(
int
i
=
0
;
i
<
tk
->
i_subpacket_h
/
2
;
i
++
)
{
{
int
i_index
=
(
i
*
2
*
tk
->
i_frame_size
/
tk
->
i_coded_frame_size
)
+
y
;
if
(
i_index
>=
tk
->
i_subpackets
)
return
;
block_t
*
p_block
=
block_New
(
p_demux
,
tk
->
i_coded_frame_size
);
block_t
*
p_block
=
block_New
(
p_demux
,
tk
->
i_coded_frame_size
);
if
(
!
p_block
)
if
(
!
p_block
)
return
;
return
;
if
(
&
p_buf
[
tk
->
i_coded_frame_size
]
>
&
p_sys
->
buffer
[
p_sys
->
i_buffer
]
)
if
(
&
p_buf
[
tk
->
i_coded_frame_size
]
>
&
p_sys
->
buffer
[
p_sys
->
i_buffer
]
)
return
;
return
;
int
i_index
=
(
i
*
2
*
tk
->
i_frame_size
/
tk
->
i_coded_frame_size
)
+
y
;
memcpy
(
p_block
->
p_buffer
,
p_buf
,
tk
->
i_coded_frame_size
);
memcpy
(
p_block
->
p_buffer
,
p_buf
,
tk
->
i_coded_frame_size
);
p_block
->
i_dts
=
p_block
->
i_dts
=
p_block
->
i_pts
=
i_index
==
0
?
i_pts
:
VLC_TS_INVALID
;
p_block
->
i_pts
=
i_index
==
0
?
i_pts
:
VLC_TS_INVALID
;
...
...
modules/gui/macosx/misc.m
View file @
bb22020a
...
@@ -255,7 +255,7 @@ static NSMutableArray *blackoutWindows = NULL;
...
@@ -255,7 +255,7 @@ static NSMutableArray *blackoutWindows = NULL;
}
}
invoc
=
[
NSInvocation
invocationWithMethodSignature
:[
super
methodSignatureForSelector
:
@selector
(
close
)]];
invoc
=
[
NSInvocation
invocationWithMethodSignature
:[
super
methodSignatureForSelector
:
@selector
(
close
)]];
[
invoc
setTarget
:
(
id
)
super
];
[
invoc
setTarget
:
self
];
if
(
!
[
self
isVisible
]
||
[
self
alphaValue
]
==
0
.
0
)
if
(
!
[
self
isVisible
]
||
[
self
alphaValue
]
==
0
.
0
)
{
{
...
@@ -269,7 +269,7 @@ static NSMutableArray *blackoutWindows = NULL;
...
@@ -269,7 +269,7 @@ static NSMutableArray *blackoutWindows = NULL;
-
(
void
)
orderOut
:
(
id
)
sender
animate
:
(
BOOL
)
animate
-
(
void
)
orderOut
:
(
id
)
sender
animate
:
(
BOOL
)
animate
{
{
NSInvocation
*
invoc
=
[
NSInvocation
invocationWithMethodSignature
:[
super
methodSignatureForSelector
:
@selector
(
orderOut
:)]];
NSInvocation
*
invoc
=
[
NSInvocation
invocationWithMethodSignature
:[
super
methodSignatureForSelector
:
@selector
(
orderOut
:)]];
[
invoc
setTarget
:
(
id
)
super
];
[
invoc
setTarget
:
self
];
[
invoc
setArgument
:
sender
atIndex
:
0
];
[
invoc
setArgument
:
sender
atIndex
:
0
];
[
self
orderOut
:
sender
animate
:
animate
callback
:
invoc
];
[
self
orderOut
:
sender
animate
:
animate
callback
:
invoc
];
}
}
...
...
modules/gui/macosx/playlist.m
View file @
bb22020a
...
@@ -706,7 +706,7 @@
...
@@ -706,7 +706,7 @@
inNode
:
(
playlist_item_t
*
)
p_node
inNode
:
(
playlist_item_t
*
)
p_node
checkItemExistence
:(
BOOL
)
b_check
checkItemExistence
:(
BOOL
)
b_check
{
{
[
self
isItem
:
p_item
inNode
:
p_node
checkItemExistence
:
b_check
locked
:
NO
];
return
[
self
isItem
:
p_item
inNode
:
p_node
checkItemExistence
:
b_check
locked
:
NO
];
}
}
/* This method is useful for instance to remove the selected children of an
/* This method is useful for instance to remove the selected children of an
...
...
modules/gui/qt4/components/interface_widgets.cpp
View file @
bb22020a
...
@@ -212,8 +212,8 @@ void BackgroundWidget::updateArt( const QString& url )
...
@@ -212,8 +212,8 @@ void BackgroundWidget::updateArt( const QString& url )
}
}
else
else
{
/* Xmas joke */
{
/* Xmas joke */
if
(
QDate
::
currentDate
().
dayOfYear
()
>=
QT_
CHRISTMAS_TROLL
_DAY
)
if
(
QDate
::
currentDate
().
dayOfYear
()
>=
QT_
XMAS_JOKE
_DAY
)
pixmapUrl
=
QString
(
":/logo/vlc128-
christ
mas.png"
);
pixmapUrl
=
QString
(
":/logo/vlc128-
x
mas.png"
);
else
else
pixmapUrl
=
QString
(
":/logo/vlc128.png"
);
pixmapUrl
=
QString
(
":/logo/vlc128.png"
);
}
}
...
...
modules/gui/qt4/dialogs/help.cpp
View file @
bb22020a
...
@@ -102,8 +102,8 @@ AboutDialog::AboutDialog( intf_thread_t *_p_intf)
...
@@ -102,8 +102,8 @@ AboutDialog::AboutDialog( intf_thread_t *_p_intf)
ui
.
introduction
->
setText
(
ui
.
introduction
->
setText
(
qtr
(
"VLC media player"
)
+
qfu
(
" "
VERSION_MESSAGE
)
);
qtr
(
"VLC media player"
)
+
qfu
(
" "
VERSION_MESSAGE
)
);
if
(
QDate
::
currentDate
().
dayOfYear
()
>=
QT_
CHRISTMAS_TROLL
_DAY
)
if
(
QDate
::
currentDate
().
dayOfYear
()
>=
QT_
XMAS_JOKE
_DAY
)
ui
.
iconVLC
->
setPixmap
(
QPixmap
(
":/logo/vlc128-
christ
mas.png"
)
);
ui
.
iconVLC
->
setPixmap
(
QPixmap
(
":/logo/vlc128-
x
mas.png"
)
);
else
else
ui
.
iconVLC
->
setPixmap
(
QPixmap
(
":/logo/vlc128.png"
)
);
ui
.
iconVLC
->
setPixmap
(
QPixmap
(
":/logo/vlc128.png"
)
);
...
...
modules/gui/qt4/main_interface.cpp
View file @
bb22020a
...
@@ -942,8 +942,8 @@ void MainInterface::showBuffering( float f_cache )
...
@@ -942,8 +942,8 @@ void MainInterface::showBuffering( float f_cache )
void
MainInterface
::
createSystray
()
void
MainInterface
::
createSystray
()
{
{
QIcon
iconVLC
;
QIcon
iconVLC
;
if
(
QDate
::
currentDate
().
dayOfYear
()
>=
QT_
CHRISTMAS_TROLL
_DAY
)
if
(
QDate
::
currentDate
().
dayOfYear
()
>=
QT_
XMAS_JOKE
_DAY
)
iconVLC
=
QIcon
(
":/logo/vlc128-
christ
mas.png"
);
iconVLC
=
QIcon
(
":/logo/vlc128-
x
mas.png"
);
else
else
iconVLC
=
QIcon
(
":/logo/vlc128.png"
);
iconVLC
=
QIcon
(
":/logo/vlc128.png"
);
sysTray
=
new
QSystemTrayIcon
(
iconVLC
,
this
);
sysTray
=
new
QSystemTrayIcon
(
iconVLC
,
this
);
...
...
modules/gui/qt4/qt4.cpp
View file @
bb22020a
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
#endif
#endif
#include "../../../share/icons/32x32/vlc.xpm"
#include "../../../share/icons/32x32/vlc.xpm"
#include "../../../share/icons/32x32/vlc-
christ
mas.xpm"
#include "../../../share/icons/32x32/vlc-
x
mas.xpm"
#include <vlc_plugin.h>
#include <vlc_plugin.h>
#ifdef WIN32
/* For static builds */
#ifdef WIN32
/* For static builds */
...
@@ -479,8 +479,8 @@ static void *Thread( void *obj )
...
@@ -479,8 +479,8 @@ static void *Thread( void *obj )
/* Icon setting, Mac uses icon from .icns */
/* Icon setting, Mac uses icon from .icns */
#ifndef Q_WS_MAC
#ifndef Q_WS_MAC
if
(
QDate
::
currentDate
().
dayOfYear
()
>=
QT_
CHRISTMAS_TROLL
_DAY
)
if
(
QDate
::
currentDate
().
dayOfYear
()
>=
QT_
XMAS_JOKE
_DAY
)
app
.
setWindowIcon
(
QIcon
(
vlc_
christ
mas_xpm
)
);
app
.
setWindowIcon
(
QIcon
(
vlc_
x
mas_xpm
)
);
else
else
app
.
setWindowIcon
(
QIcon
(
vlc_xpm
)
);
app
.
setWindowIcon
(
QIcon
(
vlc_xpm
)
);
#endif
#endif
...
...
modules/gui/qt4/qt4.hpp
View file @
bb22020a
...
@@ -131,11 +131,9 @@ static inline QString QVLCUserDir( vlc_userdir_t type )
...
@@ -131,11 +131,9 @@ static inline QString QVLCUserDir( vlc_userdir_t type )
}
}
/* After this day of the year, the usual VLC cone is replaced by another cone
/* After this day of the year, the usual VLC cone is replaced by another cone
* wearing a Santa hat.
* wearing a Father Xmas hat.
* Warning: can panic users (virus changed my icons!!), and cause religious
* Note this icon doesn't represent an endorsment of Coca-Cola company.
* trolls (VLC is a supporter of catholicism!!)
* Note, this icon doesn't represent an endorsment of Coca-Cola company
*/
*/
#define QT_
CHRISTMAS_TROLL
_DAY 354
#define QT_
XMAS_JOKE
_DAY 354
#endif
#endif
modules/gui/qt4/vlc.qrc
View file @
bb22020a
...
@@ -3,8 +3,8 @@
...
@@ -3,8 +3,8 @@
<file alias="vlc128.png" >../../../share/icons/128x128/vlc.png</file>
<file alias="vlc128.png" >../../../share/icons/128x128/vlc.png</file>
<file alias="vlc16.png" >../../../share/icons/16x16/vlc.png</file>
<file alias="vlc16.png" >../../../share/icons/16x16/vlc.png</file>
<file alias="vlc48.png" >../../../share/icons/48x48/vlc.png</file>
<file alias="vlc48.png" >../../../share/icons/48x48/vlc.png</file>
<file alias="vlc128-
christmas.png" >../../../share/icons/128x128/vlc-christ
mas.png</file>
<file alias="vlc128-
xmas.png" >../../../share/icons/128x128/vlc-x
mas.png</file>
<file alias="vlc48-
christmas.png" >../../../share/icons/48x48/vlc-christ
mas.png</file>
<file alias="vlc48-
xmas.png" >../../../share/icons/48x48/vlc-x
mas.png</file>
</qresource>
</qresource>
<qresource prefix="/menu" >
<qresource prefix="/menu" >
<file alias="help" >pixmaps/menus/help_16px.png</file>
<file alias="help" >pixmaps/menus/help_16px.png</file>
...
...
modules/media_library/sql_media_library.c
View file @
bb22020a
...
@@ -60,9 +60,15 @@ static int CreateInputItemFromMedia( media_library_t *p_ml,
...
@@ -60,9 +60,15 @@ static int CreateInputItemFromMedia( media_library_t *p_ml,
struct
ml_table_elt
struct
ml_table_elt
{
{
int
column_id
;
int
column_id
;
char
column_name
[
20
]
;
char
*
column_name
;
};
};
static
int
compare_ml_elts
(
const
void
*
a
,
const
void
*
b
)
{
return
strcmp
(
(
(
struct
ml_table_elt
*
)
a
)
->
column_name
,
(
(
struct
ml_table_elt
*
)
b
)
->
column_name
);
}
static
const
struct
ml_table_elt
ml_table_map
[]
=
static
const
struct
ml_table_elt
ml_table_map
[]
=
{
{
{
ML_ALBUM_COVER
,
"album_cover"
},
{
ML_ALBUM_COVER
,
"album_cover"
},
...
@@ -479,26 +485,15 @@ int SQLToMediaArray( media_library_t *p_ml, vlc_array_t *p_result_array,
...
@@ -479,26 +485,15 @@ int SQLToMediaArray( media_library_t *p_ml, vlc_array_t *p_result_array,
const
int
count
=
sizeof
(
ml_table_map
)
/
sizeof
(
struct
ml_table_elt
);
const
int
count
=
sizeof
(
ml_table_map
)
/
sizeof
(
struct
ml_table_elt
);
for
(
int
col
=
0
;
col
<
i_cols
;
col
++
)
for
(
int
col
=
0
;
col
<
i_cols
;
col
++
)
{
{
//binary search
struct
ml_table_elt
key
,
*
result
=
NULL
;
int
low
=
0
,
high
=
count
-
1
;
key
.
column_name
=
res
(
0
,
col
);
int
answer
=
-
1
;
result
=
bsearch
(
&
key
,
ml_table_map
,
count
,
while
(
low
<=
high
)
{
sizeof
(
struct
ml_table_elt
),
compare_ml_elts
);
int
mid
=
(
low
+
high
)
/
2
;
char
*
mid_val
=
ml_table_map
[
mid
].
column_name
;
if
(
!
result
)
int
cmp
=
strcmp
(
mid_val
,
res
(
0
,
col
)
);
if
(
cmp
<
0
)
low
=
mid
+
1
;
else
if
(
cmp
>
0
)
high
=
mid
-
1
;
else
{
answer
=
mid
;
break
;
}
}
if
(
answer
==
-
1
)
msg_Warn
(
p_ml
,
"unknown column: %s"
,
res
(
0
,
col
)
);
msg_Warn
(
p_ml
,
"unknown column: %s"
,
res
(
0
,
col
)
);
else
else
indexes
[
col
]
=
ml_table_map
[
answer
].
column_id
;
indexes
[
col
]
=
result
->
column_id
;
}
}
/* Read rows 1 to i_rows */
/* Read rows 1 to i_rows */
...
...
modules/stream_filter/httplive.c
View file @
bb22020a
...
@@ -106,7 +106,7 @@ struct stream_sys_t
...
@@ -106,7 +106,7 @@ struct stream_sys_t
/* Download */
/* Download */
struct
hls_download_s
struct
hls_download_s
{
{
int
current
;
/* current hls_stream */
int
stream
;
/* current hls_stream */
int
segment
;
/* current segment for downloading */
int
segment
;
/* current segment for downloading */
int
seek
;
/* segment requested by seek (default -1) */
int
seek
;
/* segment requested by seek (default -1) */
vlc_mutex_t
lock_wait
;
/* protect segment download counter */
vlc_mutex_t
lock_wait
;
/* protect segment download counter */
...
@@ -117,7 +117,7 @@ struct stream_sys_t
...
@@ -117,7 +117,7 @@ struct stream_sys_t
struct
hls_playback_s
struct
hls_playback_s
{
{
uint64_t
offset
;
/* current offset in media */
uint64_t
offset
;
/* current offset in media */
int
current
;
/* current hls_stream */
int
stream
;
/* current hls_stream */
int
segment
;
/* current segment for playback */
int
segment
;
/* current segment for playback */
}
playback
;
}
playback
;
...
@@ -343,6 +343,15 @@ static segment_t *segment_Find(hls_stream_t *hls, int sequence)
...
@@ -343,6 +343,15 @@ static segment_t *segment_Find(hls_stream_t *hls, int sequence)
return
NULL
;
return
NULL
;
}
}
static
int
live_ChooseSegment
(
stream_t
*
s
,
int
current
)
{
stream_sys_t
*
p_sys
=
(
stream_sys_t
*
)
s
->
p_sys
;
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
current
);
if
(
hls
==
NULL
)
return
0
;
int
wanted
=
vlc_array_count
(
hls
->
segments
)
-
4
;
return
(
wanted
<
0
)
?
0
:
wanted
;
}
/* Parsing */
/* Parsing */
static
char
*
parse_Attributes
(
const
char
*
line
,
const
char
*
attr
)
static
char
*
parse_Attributes
(
const
char
*
line
,
const
char
*
attr
)
{
{
...
@@ -986,6 +995,7 @@ static int parse_HTTPLiveStreaming(stream_t *s)
...
@@ -986,6 +995,7 @@ static int parse_HTTPLiveStreaming(stream_t *s)
static
int
hls_UpdatePlaylist
(
stream_t
*
s
,
hls_stream_t
*
hls_new
,
hls_stream_t
**
hls
)
static
int
hls_UpdatePlaylist
(
stream_t
*
s
,
hls_stream_t
*
hls_new
,
hls_stream_t
**
hls
)
{
{
int
count
=
vlc_array_count
(
hls_new
->
segments
);
int
count
=
vlc_array_count
(
hls_new
->
segments
);
msg_Info
(
s
,
"updating hls stream (program-id=%d, bandwidth=%"
PRIu64
") has %d segments"
,
msg_Info
(
s
,
"updating hls stream (program-id=%d, bandwidth=%"
PRIu64
") has %d segments"
,
hls_new
->
id
,
hls_new
->
bandwidth
,
count
);
hls_new
->
id
,
hls_new
->
bandwidth
,
count
);
for
(
int
n
=
0
;
n
<
count
;
n
++
)
for
(
int
n
=
0
;
n
<
count
;
n
++
)
...
@@ -1198,7 +1208,7 @@ static void* hls_Thread(vlc_object_t *p_this)
...
@@ -1198,7 +1208,7 @@ static void* hls_Thread(vlc_object_t *p_this)
while
(
vlc_object_alive
(
p_this
))
while
(
vlc_object_alive
(
p_this
))
{
{
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
download
.
current
);
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
download
.
stream
);
assert
(
hls
);
assert
(
hls
);
/* Sliding window (~60 seconds worth of movie) */
/* Sliding window (~60 seconds worth of movie) */
...
@@ -1260,10 +1270,10 @@ static void* hls_Thread(vlc_object_t *p_this)
...
@@ -1260,10 +1270,10 @@ static void* hls_Thread(vlc_object_t *p_this)
vlc_mutex_lock
(
&
hls
->
lock
);
vlc_mutex_lock
(
&
hls
->
lock
);
segment_t
*
segment
=
segment_GetSegment
(
hls
,
p_sys
->
download
.
segment
);
segment_t
*
segment
=
segment_GetSegment
(
hls
,
p_sys
->
download
.
segment
);
assert
(
segment
);
vlc_mutex_unlock
(
&
hls
->
lock
);
vlc_mutex_unlock
(
&
hls
->
lock
);
if
(
Download
(
s
,
hls
,
segment
,
&
p_sys
->
download
.
current
)
!=
VLC_SUCCESS
)
if
((
segment
!=
NULL
)
&&
(
Download
(
s
,
hls
,
segment
,
&
p_sys
->
download
.
stream
)
!=
VLC_SUCCESS
))
{
{
if
(
!
vlc_object_alive
(
p_this
))
break
;
if
(
!
vlc_object_alive
(
p_this
))
break
;
...
@@ -1305,7 +1315,7 @@ again:
...
@@ -1305,7 +1315,7 @@ again:
if
(
hls
==
NULL
)
if
(
hls
==
NULL
)
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
segment_t
*
segment
=
segment_GetSegment
(
hls
,
p_sys
->
playback
.
segment
);
segment_t
*
segment
=
segment_GetSegment
(
hls
,
p_sys
->
download
.
segment
);
if
(
segment
==
NULL
)
if
(
segment
==
NULL
)
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
...
@@ -1320,20 +1330,20 @@ again:
...
@@ -1320,20 +1330,20 @@ again:
stream
=
*
current
;
stream
=
*
current
;
for
(
int
i
=
0
;
i
<
2
;
i
++
)
for
(
int
i
=
0
;
i
<
2
;
i
++
)
{
{
segment_t
*
segment
=
segment_GetSegment
(
hls
,
i
);
segment_t
*
segment
=
segment_GetSegment
(
hls
,
p_sys
->
download
.
segment
);
if
(
segment
==
NULL
)
if
(
segment
==
NULL
)
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
if
(
segment
->
data
)
if
(
segment
->
data
)
{
{
p_sys
->
playback
.
segment
++
;
p_sys
->
download
.
segment
++
;
continue
;
continue
;
}
}
if
(
Download
(
s
,
hls
,
segment
,
current
)
!=
VLC_SUCCESS
)
if
(
Download
(
s
,
hls
,
segment
,
current
)
!=
VLC_SUCCESS
)
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
p_sys
->
playback
.
segment
++
;
p_sys
->
download
.
segment
++
;
/* adapt bandwidth? */
/* adapt bandwidth? */
if
(
*
current
!=
stream
)
if
(
*
current
!=
stream
)
...
@@ -1556,8 +1566,9 @@ static int Open(vlc_object_t *p_this)
...
@@ -1556,8 +1566,9 @@ static int Open(vlc_object_t *p_this)
}
}
/* Choose first HLS stream to start with */
/* Choose first HLS stream to start with */
int
current
=
p_sys
->
playback
.
current
=
0
;
int
current
=
p_sys
->
playback
.
stream
=
0
;
p_sys
->
playback
.
segment
=
0
;
p_sys
->
playback
.
segment
=
p_sys
->
download
.
segment
=
p_sys
->
b_live
?
live_ChooseSegment
(
s
,
current
)
:
0
;
if
(
Prefetch
(
s
,
&
current
)
!=
VLC_SUCCESS
)
if
(
Prefetch
(
s
,
&
current
)
!=
VLC_SUCCESS
)
{
{
...
@@ -1581,11 +1592,9 @@ static int Open(vlc_object_t *p_this)
...
@@ -1581,11 +1592,9 @@ static int Open(vlc_object_t *p_this)
((
mtime_t
)
hls
->
duration
*
UINT64_C
(
1000000
));
((
mtime_t
)
hls
->
duration
*
UINT64_C
(
1000000
));
}
}
p_sys
->
download
.
current
=
current
;
p_sys
->
download
.
stream
=
current
;
p_sys
->
playback
.
current
=
current
;
p_sys
->
playback
.
stream
=
current
;
p_sys
->
download
.
segment
=
p_sys
->
playback
.
segment
;
p_sys
->
download
.
seek
=
-
1
;
p_sys
->
download
.
seek
=
-
1
;
p_sys
->
playback
.
segment
=
0
;
/* reset to first segment */
p_sys
->
thread
->
s
=
s
;
p_sys
->
thread
->
s
=
s
;
vlc_mutex_init
(
&
p_sys
->
download
.
lock_wait
);
vlc_mutex_init
(
&
p_sys
->
download
.
lock_wait
);
...
@@ -1654,7 +1663,7 @@ static segment_t *GetSegment(stream_t *s)
...
@@ -1654,7 +1663,7 @@ static segment_t *GetSegment(stream_t *s)
segment_t
*
segment
=
NULL
;
segment_t
*
segment
=
NULL
;
/* Is this segment of the current HLS stream ready? */
/* Is this segment of the current HLS stream ready? */
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
playback
.
current
);
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
playback
.
stream
);
if
(
hls
!=
NULL
)
if
(
hls
!=
NULL
)
{
{
vlc_mutex_lock
(
&
hls
->
lock
);
vlc_mutex_lock
(
&
hls
->
lock
);
...
@@ -1698,7 +1707,7 @@ static segment_t *GetSegment(stream_t *s)
...
@@ -1698,7 +1707,7 @@ static segment_t *GetSegment(stream_t *s)
if
((
segment
->
data
!=
NULL
)
&&
if
((
segment
->
data
!=
NULL
)
&&
(
p_sys
->
playback
.
segment
<
i_segment
))
(
p_sys
->
playback
.
segment
<
i_segment
))
{
{
p_sys
->
playback
.
current
=
i_stream
;
p_sys
->
playback
.
stream
=
i_stream
;
p_sys
->
b_cache
=
hls
->
b_cache
;
p_sys
->
b_cache
=
hls
->
b_cache
;
vlc_mutex_unlock
(
&
hls
->
lock
);
vlc_mutex_unlock
(
&
hls
->
lock
);
goto
check
;
goto
check
;
...
@@ -1718,10 +1727,19 @@ static segment_t *GetSegment(stream_t *s)
...
@@ -1718,10 +1727,19 @@ static segment_t *GetSegment(stream_t *s)
check:
check:
/* sanity check */
/* sanity check */
if
(
p_sys
->
download
.
segment
-
p_sys
->
playback
.
segment
==
0
)
if
(
segment
->
data
->
i_buffer
==
0
)
msg_Err
(
s
,
"playback will stall"
);
{
else
if
(
p_sys
->
download
.
segment
-
p_sys
->
playback
.
segment
<
3
)
vlc_mutex_lock
(
&
hls
->
lock
);
msg_Warn
(
s
,
"playback in danger of stalling"
);
int
count
=
vlc_array_count
(
hls
->
segments
);
vlc_mutex_unlock
(
&
hls
->
lock
);
if
((
p_sys
->
download
.
segment
-
p_sys
->
playback
.
segment
==
0
)
&&
((
count
!=
p_sys
->
download
.
segment
)
||
p_sys
->
b_live
))
msg_Err
(
s
,
"playback will stall"
);
else
if
((
p_sys
->
download
.
segment
-
p_sys
->
playback
.
segment
<
3
)
&&
((
count
!=
p_sys
->
download
.
segment
)
||
p_sys
->
b_live
))
msg_Warn
(
s
,
"playback in danger of stalling"
);
}
return
segment
;
return
segment
;
}
}
...
@@ -1768,7 +1786,7 @@ static ssize_t hls_Read(stream_t *s, uint8_t *p_read, unsigned int i_read)
...
@@ -1768,7 +1786,7 @@ static ssize_t hls_Read(stream_t *s, uint8_t *p_read, unsigned int i_read)
if
(
segment
->
size
==
segment
->
data
->
i_buffer
)
if
(
segment
->
size
==
segment
->
data
->
i_buffer
)
msg_Info
(
s
,
"playing segment %d from stream %d"
,
msg_Info
(
s
,
"playing segment %d from stream %d"
,
segment
->
sequence
,
p_sys
->
playback
.
current
);
segment
->
sequence
,
p_sys
->
playback
.
stream
);
ssize_t
len
=
-
1
;
ssize_t
len
=
-
1
;
if
(
i_read
<=
segment
->
data
->
i_buffer
)
if
(
i_read
<=
segment
->
data
->
i_buffer
)
...
@@ -1829,7 +1847,7 @@ again:
...
@@ -1829,7 +1847,7 @@ again:
if
(
segment
==
NULL
)
if
(
segment
==
NULL
)
{
{
msg_Err
(
s
,
"segment %d should have been available (stream %d)"
,
msg_Err
(
s
,
"segment %d should have been available (stream %d)"
,
p_sys
->
playback
.
segment
,
p_sys
->
playback
.
current
);
p_sys
->
playback
.
segment
,
p_sys
->
playback
.
stream
);
return
0
;
/* eof? */
return
0
;
/* eof? */
}
}
...
@@ -1867,7 +1885,7 @@ static bool hls_MaySeek(stream_t *s)
...
@@ -1867,7 +1885,7 @@ static bool hls_MaySeek(stream_t *s)
if
(
p_sys
->
hls_stream
==
NULL
)
if
(
p_sys
->
hls_stream
==
NULL
)
return
false
;
return
false
;
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
playback
.
current
);
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
playback
.
stream
);
if
(
hls
==
NULL
)
return
false
;
if
(
hls
==
NULL
)
return
false
;
if
(
p_sys
->
b_live
)
if
(
p_sys
->
b_live
)
...
@@ -1891,7 +1909,7 @@ static uint64_t GetStreamSize(stream_t *s)
...
@@ -1891,7 +1909,7 @@ static uint64_t GetStreamSize(stream_t *s)
if
(
p_sys
->
b_live
)
if
(
p_sys
->
b_live
)
return
0
;
return
0
;
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
playback
.
current
);
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
playback
.
stream
);
if
(
hls
==
NULL
)
return
0
;
if
(
hls
==
NULL
)
return
0
;
vlc_mutex_lock
(
&
hls
->
lock
);
vlc_mutex_lock
(
&
hls
->
lock
);
...
@@ -1905,7 +1923,7 @@ static int segment_Seek(stream_t *s, uint64_t pos)
...
@@ -1905,7 +1923,7 @@ static int segment_Seek(stream_t *s, uint64_t pos)
{
{
stream_sys_t
*
p_sys
=
s
->
p_sys
;
stream_sys_t
*
p_sys
=
s
->
p_sys
;
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
playback
.
current
);
hls_stream_t
*
hls
=
hls_Get
(
p_sys
->
hls_stream
,
p_sys
->
playback
.
stream
);
if
(
hls
==
NULL
)
if
(
hls
==
NULL
)
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
...
...
modules/visualization/projectm.cpp
View file @
bb22020a
...
@@ -64,6 +64,15 @@ static void Close ( vlc_object_t * );
...
@@ -64,6 +64,15 @@ static void Close ( vlc_object_t * );
#define HEIGHT_TEXT N_("Video height")
#define HEIGHT_TEXT N_("Video height")
#define HEIGHT_LONGTEXT N_("The height of the video window, in pixels.")
#define HEIGHT_LONGTEXT N_("The height of the video window, in pixels.")
#define MESHX_TEXT N_("Mesh width")
#define MESHX_LONGTEXT N_("The width of the mesh, in pixels.")
#define MESHY_TEXT N_("Mesh height")
#define MESHY_LONGTEXT N_("The height of the mesh, in pixels.")
#define TEXTURE_TEXT N_("Texture size")
#define TEXTURE_LONGTEXT N_("The size of the texture, in pixels.")
vlc_module_begin
()
vlc_module_begin
()
set_shortname
(
N_
(
"projectM"
))
set_shortname
(
N_
(
"projectM"
))
set_description
(
N_
(
"libprojectM effect"
)
)
set_description
(
N_
(
"libprojectM effect"
)
)
...
@@ -85,6 +94,12 @@ vlc_module_begin ()
...
@@ -85,6 +94,12 @@ vlc_module_begin ()
false
)
false
)
add_integer
(
"projectm-height"
,
640
,
HEIGHT_TEXT
,
HEIGHT_LONGTEXT
,
add_integer
(
"projectm-height"
,
640
,
HEIGHT_TEXT
,
HEIGHT_LONGTEXT
,
false
)
false
)
add_integer
(
"projectm-meshx"
,
32
,
MESHX_TEXT
,
MESHX_LONGTEXT
,
false
)
add_integer
(
"projectm-meshy"
,
24
,
MESHY_TEXT
,
MESHY_LONGTEXT
,
false
)
add_integer
(
"projectm-texture-size"
,
1024
,
TEXTURE_TEXT
,
TEXTURE_LONGTEXT
,
false
)
add_shortcut
(
"projectm"
)
add_shortcut
(
"projectm"
)
set_callbacks
(
Open
,
Close
)
set_callbacks
(
Open
,
Close
)
vlc_module_end
()
vlc_module_end
()
...
@@ -330,17 +345,17 @@ static void *Thread( void *p_data )
...
@@ -330,17 +345,17 @@ static void *Thread( void *p_data )
/* Create the projectM object */
/* Create the projectM object */
#ifndef HAVE_PROJECTM2
#ifndef HAVE_PROJECTM2
psz_config
=
var_InheritString
(
p_filter
,
"projectm-config"
);
psz_config
=
var_InheritString
(
p_filter
,
"projectm-config"
);
p_projectm
new
projectM
(
psz_config
);
p_projectm
=
new
projectM
(
psz_config
);
free
(
psz_config
);
free
(
psz_config
);
#else
#else
psz_preset_path
=
var_InheritString
(
p_filter
,
"projectm-preset-path"
);
psz_preset_path
=
var_InheritString
(
p_filter
,
"projectm-preset-path"
);
psz_title_font
=
var_InheritString
(
p_filter
,
"projectm-title-font"
);
psz_title_font
=
var_InheritString
(
p_filter
,
"projectm-title-font"
);
psz_menu_font
=
var_InheritString
(
p_filter
,
"projectm-menu-font"
);
psz_menu_font
=
var_InheritString
(
p_filter
,
"projectm-menu-font"
);
settings
.
meshX
=
32
;
settings
.
meshX
=
var_InheritInteger
(
p_filter
,
"projectm-meshx"
)
;
settings
.
meshY
=
24
;
settings
.
meshY
=
var_InheritInteger
(
p_filter
,
"projectm-meshy"
)
;
settings
.
fps
=
35
;
settings
.
fps
=
35
;
settings
.
textureSize
=
1024
;
settings
.
textureSize
=
var_InheritInteger
(
p_filter
,
"projectm-texture-size"
)
;
settings
.
windowWidth
=
p_sys
->
i_width
;
settings
.
windowWidth
=
p_sys
->
i_width
;
settings
.
windowHeight
=
p_sys
->
i_height
;
settings
.
windowHeight
=
p_sys
->
i_height
;
settings
.
presetURL
=
psz_preset_path
;
settings
.
presetURL
=
psz_preset_path
;
...
@@ -365,7 +380,8 @@ static void *Thread( void *p_data )
...
@@ -365,7 +380,8 @@ static void *Thread( void *p_data )
vlc_sem_post
(
&
p_sys
->
ready
);
vlc_sem_post
(
&
p_sys
->
ready
);
/* Choose a preset randomly or projectM will always show the first one */
/* Choose a preset randomly or projectM will always show the first one */
p_projectm
->
selectPreset
(
(
unsigned
)
vlc_mrand48
()
%
p_projectm
->
getPlaylistSize
()
);
if
(
p_projectm
->
getPlaylistSize
()
>
0
)
p_projectm
->
selectPreset
(
(
unsigned
)
vlc_mrand48
()
%
p_projectm
->
getPlaylistSize
()
);
/* */
/* */
for
(
;;
)
for
(
;;
)
...
...
projects/macosx/framework/Headers/Public/VLCMedia.h
View file @
bb22020a
...
@@ -332,15 +332,21 @@ extern NSString *VLCMediaTracksInformationTypeUnknown;
...
@@ -332,15 +332,21 @@ extern NSString *VLCMediaTracksInformationTypeUnknown;
*/
*/
-
(
void
)
parse
;
-
(
void
)
parse
;
/**
************************************************************************
/**
* Add options to the media, that will be used to determine how
* Add options to the media, that will be used to determine how
* VLCMediaPlayer will read the media. This allow to use VLC advanced
* VLCMediaPlayer will read the media. This allow to use VLC advanced
* reading/streaming options in a per-media basis
* reading/streaming options in a per-media basis
*
*
* The options are detailed in vlc --long-help, for instance "--sout-all"
* The options are detailed in vlc --long-help, for instance "--sout-all"
* And on the web: http://wiki.videolan.org/VLC_command-line_help
* And on the web: http://wiki.videolan.org/VLC_command-line_help
*/
**************************************************************************/
-
(
void
)
addOptions
:(
NSDictionary
*
)
options
;
-
(
void
)
addOptions
:(
NSDictionary
*
)
options
;
/**
* Getter for statistics information
* Returns a NSDictionary with NSNumbers for values.
*
*/
-
(
NSDictionary
*
)
stats
;
@end
@end
projects/macosx/framework/Sources/VLCMedia.m
View file @
bb22020a
...
@@ -240,7 +240,7 @@ static void HandleMediaParsedChanged(const libvlc_event_t * event, void * self)
...
@@ -240,7 +240,7 @@ static void HandleMediaParsedChanged(const libvlc_event_t * event, void * self)
libvlc_event_detach
(
p_em
,
libvlc_MediaDurationChanged
,
HandleMediaDurationChanged
,
self
);
libvlc_event_detach
(
p_em
,
libvlc_MediaDurationChanged
,
HandleMediaDurationChanged
,
self
);
libvlc_event_detach
(
p_em
,
libvlc_MediaStateChanged
,
HandleMediaStateChanged
,
self
);
libvlc_event_detach
(
p_em
,
libvlc_MediaStateChanged
,
HandleMediaStateChanged
,
self
);
libvlc_event_detach
(
p_em
,
libvlc_MediaSubItemAdded
,
HandleMediaSubItemAdded
,
self
);
libvlc_event_detach
(
p_em
,
libvlc_MediaSubItemAdded
,
HandleMediaSubItemAdded
,
self
);
libvlc_event_detach
(
p_em
,
libvlc_MediaParsedChanged
,
HandleMediaParsedChanged
,
self
);
libvlc_event_detach
(
p_em
,
libvlc_MediaParsedChanged
,
HandleMediaParsedChanged
,
self
);
[[
VLCEventManager
sharedManager
]
cancelCallToObject
:
self
];
[[
VLCEventManager
sharedManager
]
cancelCallToObject
:
self
];
// Testing to see if the pointer exists is not required, if the pointer is null
// Testing to see if the pointer exists is not required, if the pointer is null
...
@@ -338,6 +338,34 @@ static void HandleMediaParsedChanged(const libvlc_event_t * event, void * self)
...
@@ -338,6 +338,34 @@ static void HandleMediaParsedChanged(const libvlc_event_t * event, void * self)
}
}
}
}
-
(
NSDictionary
*
)
stats
{
if
(
!
p_md
)
return
NULL
;
NSMutableDictionary
*
d
=
[
NSMutableDictionary
dictionary
];
libvlc_media_stats_t
p_stats
;
libvlc_media_get_stats
(
p_md
,
&
p_stats
);
[
d
setObject
:[
NSNumber
numberWithFloat
:
p_stats
.
f_demux_bitrate
]
forKey
:
@"demuxBitrate"
];
[
d
setObject
:[
NSNumber
numberWithFloat
:
p_stats
.
f_input_bitrate
]
forKey
:
@"inputBitrate"
];
[
d
setObject
:[
NSNumber
numberWithFloat
:
p_stats
.
f_send_bitrate
]
forKey
:
@"sendBitrate"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_decoded_audio
]
forKey
:
@"decodedAudio"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_decoded_video
]
forKey
:
@"decodedVideo"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_demux_corrupted
]
forKey
:
@"demuxCorrupted"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_demux_discontinuity
]
forKey
:
@"demuxDiscontinuity"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_demux_read_bytes
]
forKey
:
@"demuxReadBytes"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_displayed_pictures
]
forKey
:
@"displayedPictures"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_lost_abuffers
]
forKey
:
@"lostAbuffers"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_lost_pictures
]
forKey
:
@"lostPictures"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_played_abuffers
]
forKey
:
@"playedAbuffers"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_read_bytes
]
forKey
:
@"readBytes"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_sent_bytes
]
forKey
:
@"sentBytes"
];
[
d
setObject
:[
NSNumber
numberWithInt
:
p_stats
.
i_sent_packets
]
forKey
:
@"sentPackets"
];
return
d
;
}
NSString
*
VLCMediaTracksInformationCodec
=
@"codec"
;
// NSNumber
NSString
*
VLCMediaTracksInformationCodec
=
@"codec"
;
// NSNumber
NSString
*
VLCMediaTracksInformationId
=
@"id"
;
// NSNumber
NSString
*
VLCMediaTracksInformationId
=
@"id"
;
// NSNumber
NSString
*
VLCMediaTracksInformationType
=
@"type"
;
// NSString
NSString
*
VLCMediaTracksInformationType
=
@"type"
;
// NSString
...
...
share/Makefile.am
View file @
bb22020a
...
@@ -15,9 +15,9 @@ dist_appdata_DATA = vlc.desktop
...
@@ -15,9 +15,9 @@ dist_appdata_DATA = vlc.desktop
dist_vlcdata_DATA
=
icons/vlc.ico
dist_vlcdata_DATA
=
icons/vlc.ico
dist_icons16_DATA
=
icons/16x16/vlc.png icons/16x16/vlc.xpm
dist_icons16_DATA
=
icons/16x16/vlc.png icons/16x16/vlc.xpm
dist_icons32_DATA
=
icons/32x32/vlc.png icons/32x32/vlc.xpm
\
dist_icons32_DATA
=
icons/32x32/vlc.png icons/32x32/vlc.xpm
\
icons/32x32/vlc-
christ
mas.xpm
icons/32x32/vlc-
x
mas.xpm
dist_icons48_DATA
=
icons/48x48/vlc.png icons/48x48/vlc-
christ
mas.png
dist_icons48_DATA
=
icons/48x48/vlc.png icons/48x48/vlc-
x
mas.png
dist_icons128_DATA
=
icons/128x128/vlc.png icons/128x128/vlc-
christ
mas.png
dist_icons128_DATA
=
icons/128x128/vlc.png icons/128x128/vlc-
x
mas.png
dist_icons256_DATA
=
icons/256x256/vlc.png
dist_icons256_DATA
=
icons/256x256/vlc.png
nobase_dist_vlcdata_SCRIPTS
=
\
nobase_dist_vlcdata_SCRIPTS
=
\
...
...
share/icons/128x128/vlc-
christ
mas.png
→
share/icons/128x128/vlc-
x
mas.png
View file @
bb22020a
File moved
share/icons/32x32/vlc-
christ
mas.xpm
→
share/icons/32x32/vlc-
x
mas.xpm
View file @
bb22020a
/* XPM */
/* XPM */
static const char *vlc_
christ
mas_xpm[] = {
static const char *vlc_
x
mas_xpm[] = {
/* columns rows colors chars-per-pixel */
/* columns rows colors chars-per-pixel */
"32 32 174 2",
"32 32 174 2",
" c #00AE00390021",
" c #00AE00390021",
...
...
share/icons/48x48/vlc-
christ
mas.png
→
share/icons/48x48/vlc-
x
mas.png
View file @
bb22020a
File moved
src/libvlc.c
View file @
bb22020a
...
@@ -312,7 +312,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
...
@@ -312,7 +312,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
}
}
/* Check for daemon mode */
/* Check for daemon mode */
#if
ndef WIN32
#if
!defined( WIN32 ) && !defined( __SYMBIAN32__ )
if
(
var_InheritBool
(
p_libvlc
,
"daemon"
)
)
if
(
var_InheritBool
(
p_libvlc
,
"daemon"
)
)
{
{
#ifdef HAVE_DAEMON
#ifdef HAVE_DAEMON
...
...
src/misc/cpu.c
View file @
bb22020a
...
@@ -353,6 +353,8 @@ unsigned vlc_GetCPUCount(void)
...
@@ -353,6 +353,8 @@ unsigned vlc_GetCPUCount(void)
system_mask
>>=
1
;
system_mask
>>=
1
;
}
}
return
count
;
return
count
;
#elif defined(__SYMBIAN32__)
return
1
;
#elif defined(HAVE_SCHED_GETAFFINITY)
#elif defined(HAVE_SCHED_GETAFFINITY)
cpu_set_t
cpu
;
cpu_set_t
cpu
;
CPU_ZERO
(
&
cpu
);
CPU_ZERO
(
&
cpu
);
...
...
src/modules/modules.h
View file @
bb22020a
...
@@ -73,7 +73,7 @@ struct module_cache_t
...
@@ -73,7 +73,7 @@ struct module_cache_t
typedef
NSModule
module_handle_t
;
typedef
NSModule
module_handle_t
;
#elif defined(HAVE_IMAGE_H)
#elif defined(HAVE_IMAGE_H)
typedef
int
module_handle_t
;
typedef
int
module_handle_t
;
#elif defined(WIN32) || defined(UNDER_CE)
#elif defined(WIN32) || defined(UNDER_CE)
|| defined(__SYMBIAN32__)
typedef
void
*
module_handle_t
;
typedef
void
*
module_handle_t
;
#elif defined(HAVE_DL_DLOPEN)
#elif defined(HAVE_DL_DLOPEN)
typedef
void
*
module_handle_t
;
typedef
void
*
module_handle_t
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment