Commit bb22020a authored by Jean-Paul Saman's avatar Jean-Paul Saman

Merge branch 'master' of git.m2x.eu:vlc into hls

Conflicts:
	modules/stream_filter/httplive.c
parents dda21822 cda18d88
......@@ -471,7 +471,7 @@ VLC-release.app: vlc
$(top_builddir)/tmp/modules/gui/macosx; \
done
$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
xcodebuild -target vlc SYMROOT=../../../build $(silentstd) && \
xcodebuild install -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
cd ../../../../ && \
cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC-release.app; \
rm -Rf $(top_builddir)/tmp
......@@ -624,7 +624,7 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.lib
$(top_builddir)/tmp/modules/gui/macosx; \
done
$(AM_V_GEN)cd $(top_builddir)/tmp/extras/package/macosx && \
xcodebuild -target vlc SYMROOT=../../../build $(silentstd) && \
xcodebuild install -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd) && \
cd ../../../../ && \
cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $(top_builddir)/VLC.app
$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
......
......@@ -81,6 +81,8 @@ Services Discovery:
libVLC:
* New capabilities for libVLC:
** 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:
......
......@@ -95,7 +95,7 @@ AS_IF([test -n "${with_binary_version}"],[
])
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.])
])
......
......@@ -207,9 +207,6 @@ case $TARGET in
CFLAGS_TUNING=" -arch ppc -mtune=G4"
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*)
hint_distro macosx32
......@@ -328,6 +325,10 @@ case "$DISTRO" in
EXTRA_CFLAGS="${EXTRA_CFLAGS} -D\${ENVP} -isysroot \${MACOSX_SDK} -mmacosx-version-min=\${SDK_TARGET}"
CC="/usr/bin/gcc-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 "SDK_TARGET = ${SDK_TARGET}"
add_makefile_cfg "ENVP = MACOSX_DEPLOYMENT_TARGET=${SDK_TARGET}"
......@@ -350,6 +351,25 @@ case "$DISTRO" in
win*)
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
# Save passed flags
......@@ -382,9 +402,16 @@ add_makefile_cfg "EXTRA_PATH = ${EXTRA_PATH}"
#CMAKE
if test "$TARGET" != "$BUILD"; then
toolchain_cmake="${BUILDDIR}/toolchain.cmake"
rm -f ${BUILDDIR}/toolchain.cmake
if test ${DISTRO} = "win32"; then
echo "SET(CMAKE_SYSTEM_NAME Windows)" >> "${toolchain_cmake}"
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_CXX_COMPILER ${CXX})" >> "${toolchain_cmake}"
echo "SET(CMAKE_FIND_ROOT_PATH `pwd` )" >> "${toolchain_cmake}"
......@@ -432,19 +459,19 @@ fi
if test "$DISTRO" = "macosx32"; then
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 "* Re-run with the x86_64-apple-darwin* argument to turn on *"
info "* 64bit compilation for Intel-based Macs, whereas * is either *"
info "* 9 or 10 depending on your Darwin version. *"
info "* There is NO PPC64 support right now. *"
info "* There is no PPC64 support. *"
info "*****************************************************************"
fi
if test "$DISTRO" = "macosx64"; then
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 "*****************************************************************"
fi
......@@ -452,9 +479,9 @@ case `uname` in
Linux)
CPUS=`grep -c ^processor /proc/cpuinfo`
;;
Darwin)
CPUS=`sysctl hw.ncpu|cut -d: -f2`
;;
# Darwin)
# CPUS=`sysctl hw.ncpu|cut -d: -f2`
# ;;
*)
CPUS=1 # default
;;
......
......@@ -49,7 +49,7 @@ src: using-src
ifdef HAVE_DARWIN_OS
CONTRIBREV=36
CONTRIBREV=37
contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2:
$(WGET) http://downloads.videolan.org/pub/videolan/testing/contrib/$@
......
# 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=
--- 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);
--- 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
--- 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;
}
}
};
......@@ -602,7 +602,6 @@ libogg-$(OGG_VERSION).tar.gz:
libogg: libogg-$(OGG_VERSION).tar.gz
$(EXTRACT_GZ)
patch -p0 < Patches/libogg-1.1.patch
(cd $@; patch -p2 < ../Patches/libogg-r17608.diff)
ifdef HAVE_WINCE
patch -p0 < Patches/libogg-wince.patch
endif
......@@ -968,7 +967,11 @@ ifdef HAVE_CROSS_COMPILE
FFMPEGCONF += --enable-cross-compile
endif
ifdef HAVE_CROSS_COMPILE_NEEDS_CROSS_PREFIX
ifndef HAVE_ANDROID
FFMPEGCONF += --cross-prefix=$(HOST)-
else
FFMPEGCONF += --cross-prefix=arm-linux-androideabi- --arch=armv4l
endif
endif
#
......@@ -997,13 +1000,15 @@ endif
ifndef HAVE_UCLIBC
ifndef HAVE_WINCE
ifndef HAVE_IOS
ifndef HAVE_ANDROID
FFMPEGCONF+= --enable-libmp3lame --enable-libgsm
endif
endif
endif
endif
ifdef CC
FFMPEGCONF += --cc=$(CC)
FFMPEGCONF += --cc="$(CC)"
endif
ifdef HAVE_MACOSX_ON_INTEL
......@@ -1125,6 +1130,7 @@ FFMPEG_DEPS-$(HAVE_WIN64) = .lame .gsm .zlib
FFMPEG_DEPS-$(HAVE_ARMELF) = .lame .gsm .zlib
FFMPEG_DEPS-$(HAVE_MACOSX) += .yasm
FFMPEG_DEPS-$(HAVE_WIN32) += .dshow_headers
FFMPEG_DEPS-$(HAVE_ANDROID) =
ifdef SVN
FFMPEG_MK_TARGET = ffmpeg/.svn-$(FFMPEG_SVN_REV)
......@@ -2054,12 +2060,18 @@ DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz
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
(cd $<; cmake . -DCMAKE_TOOLCHAIN_FILE=../../toolchain.cmake -DCMAKE_INSTALL_PREFIX=$(PREFIX) && make install)
ifdef HAVE_WIN32
(cd $<; cp libmpcdec/libmpcdec_static.a $(PREFIX)/lib/libmpcdec.a)
endif
ifdef HAVE_MACOSX
(cd $<; cp libmpcdec/libmpcdec.dylib $(PREFIX)/lib/libmpcdec.dylib)
endif
touch $@
......@@ -2638,6 +2650,27 @@ CLEAN_FILE += .gme
CLEAN_PKG += game-music-emu-$(GME_VERSION)
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)
# ***************************************************************************
......
......@@ -34,8 +34,8 @@ LIBAMR_NB=$(PENGUIN)/amrnb-$(LIBAMR_NB_VERSION).tar.bz2
LIBAMR_WB_VERSION=7.0.0.2
LIBAMR_WB=$(PENGUIN)/amrwb-$(LIBAMR_WB_VERSION).tar.bz2
ERRNO_URL=http://altair.videolan.org/~linkfanel/errno
CMAKE_VERSION=2.6.4
CMAKE_URL=http://www.cmake.org/files/v2.6/cmake-$(CMAKE_VERSION).tar.gz
CMAKE_VERSION=2.8.3
CMAKE_URL=http://www.cmake.org/files/v2.8/cmake-$(CMAKE_VERSION).tar.gz
LIBTOOL_VERSION=2.2.10
LIBTOOL_URL=$(GNU)/libtool/libtool-$(LIBTOOL_VERSION).tar.gz
AUTOCONF_VERSION=2.68
......@@ -64,7 +64,7 @@ LIBMPEG2_VERSION=0.5.1
LIBMPEG2_URL=http://libmpeg2.sourceforge.net/files/libmpeg2-$(LIBMPEG2_VERSION).tar.gz
LIBMAD_VERSION=0.15.1b
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
#GG_URL=$(CONTRIB_VIDEOLAN)/libogg-$(OGG_VERSION).tar.gz
OGG_CVSROOT=:pserver:anoncvs@xiph.org:/usr/local/cvsroot
......@@ -95,7 +95,7 @@ LIBMATROSKA_URL=http://dl.matroska.org/downloads/libmatroska/libmatroska-$(LIBMA
FFMPEG_VERSION=0.4.8
FFMPEG_URL=$(SF)/ffmpeg/ffmpeg-$(FFMPEG_VERSION).tar.gz
FFMPEG_SVN=svn://svn.ffmpeg.org/ffmpeg/trunk
FFMPEG_SVN_REV=25711
FFMPEG_SVN_REV=26165
LIBDVDCSS_VERSION=1.2.10
LIBDVDCSS_URL=$(VIDEOLAN)/libdvdcss/$(LIBDVDCSS_VERSION)/libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2
LIBDVDNAV_VERSION=4.1.1
......@@ -138,7 +138,7 @@ VCDIMAGER_VERSION=0.7.23
VCDIMAGER_URL=$(GNU)/vcdimager/vcdimager-$(VCDIMAGER_VERSION).tar.gz
CDIO_VERSION=0.80
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
GPGERROR_VERSION=1.7
#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
GCRYPT_VERSION=1.4.6
#GCRYPT_URL=$(CONTRIB_VIDEOLAN)/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
OPENCDK_VERSION=0.6.6
OPENCDK_URL=http://www.gnu.org/software/gnutls/releases/opencdk/opencdk-$(OPENCDK_VERSION).tar.bz2
......@@ -159,7 +159,7 @@ TWOLAME_VERSION=0.3.12
TWOLAME_URL=$(SF)/twolame/twolame-$(TWOLAME_VERSION).tar.gz
X264_VERSION=20050609
X264_URL=$(CONTRIB_VIDEOLAN)/x264-$(X264_VERSION).tar.gz
JPEG_VERSION=8a
JPEG_VERSION=8b
JPEG_URL=http://www.ijg.org/files/jpegsrc.v$(JPEG_VERSION).tar.gz
TIFF_VERSION=3.9.4
TIFF_URL=ftp://ftp.remotesensing.org/libtiff/tiff-$(TIFF_VERSION).tar.gz
......@@ -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
ZLIB_VERSION=1.2.5
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=http://xmlsoft.org/sources/libxml2-$(XML_VERSION).tar.gz
DIRAC_VERSION=1.0.2
......@@ -246,3 +246,4 @@ VPX_VERSION=0.9.2
VPX_URL=http://webm.googlecode.com/files/libvpx-$(VPX_VERSION).tar.bz2
GME_VERSION=0.5.5
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
#!/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
......@@ -112,6 +112,10 @@
# endif
#endif
#ifdef __SYMBIAN32__
#include <sys/syslimits.h>
#endif
/* Counter for statistics and profiling */
typedef unsigned long count_t;
......@@ -866,7 +870,7 @@ VLC_EXPORT( const char *, VLC_Compiler, ( void ) LIBVLC_USED );
#include "vlc_main.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 "\\"
# define PATH_SEP_CHAR ';'
......
......@@ -302,7 +302,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context,
(p_sys->p_codec->capabilities & CODEC_CAP_DR1) &&
/* No idea why ... but this fixes flickering on some TSCC streams */
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
don't have idea howto implement fallback to libvpx decoder */
p_sys->i_codec_id != CODEC_ID_VP8 &&
......
......@@ -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 )
{
memcpy( &p_chk->strf.auds.p_wf[1] ,
p_buff + 8 + sizeof( WAVEFORMATEX ), /* 8=fourrc+size */
p_buff + 8 + sizeof( WAVEFORMATEX ), /* 8=fourcc+size */
p_chk->strf.auds.p_wf->cbSize );
}
#ifdef AVI_DEBUG
......
......@@ -251,11 +251,8 @@ static void Close( vlc_object_t *p_this )
if( tk->p_subpackets[ j ] )
block_Release( tk->p_subpackets[ j ] );
}
if( tk->i_subpackets )
{
free( tk->p_subpackets );
free( tk->p_subpackets_timecode );
}
if( tk->p_sipr_packet )
block_Release( tk->p_sipr_packet );
free( tk );
......@@ -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++ )
{
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 );
if( !p_block )
return;
......@@ -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;
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 )
{
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
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);
if( !p_block )
return;
if( &p_buf[tk->i_coded_frame_size] > &p_sys->buffer[p_sys->i_buffer] )
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 );
p_block->i_dts =
p_block->i_pts = i_index == 0 ? i_pts : VLC_TS_INVALID;
......
......@@ -255,7 +255,7 @@ static NSMutableArray *blackoutWindows = NULL;
}
invoc = [NSInvocation invocationWithMethodSignature:[super methodSignatureForSelector:@selector(close)]];
[invoc setTarget: (id)super];
[invoc setTarget: self];
if (![self isVisible] || [self alphaValue] == 0.0)
{
......@@ -269,7 +269,7 @@ static NSMutableArray *blackoutWindows = NULL;
- (void)orderOut: (id)sender animate: (BOOL)animate
{
NSInvocation *invoc = [NSInvocation invocationWithMethodSignature:[super methodSignatureForSelector:@selector(orderOut:)]];
[invoc setTarget: (id)super];
[invoc setTarget: self];
[invoc setArgument: sender atIndex: 0];
[self orderOut: sender animate: animate callback: invoc];
}
......
......@@ -706,7 +706,7 @@
inNode: (playlist_item_t *)p_node
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
......
......@@ -212,8 +212,8 @@ void BackgroundWidget::updateArt( const QString& url )
}
else
{ /* Xmas joke */
if( QDate::currentDate().dayOfYear() >= QT_CHRISTMAS_TROLL_DAY )
pixmapUrl = QString( ":/logo/vlc128-christmas.png" );
if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY )
pixmapUrl = QString( ":/logo/vlc128-xmas.png" );
else
pixmapUrl = QString( ":/logo/vlc128.png" );
}
......
......@@ -102,8 +102,8 @@ AboutDialog::AboutDialog( intf_thread_t *_p_intf)
ui.introduction->setText(
qtr( "VLC media player" ) + qfu( " " VERSION_MESSAGE ) );
if( QDate::currentDate().dayOfYear() >= QT_CHRISTMAS_TROLL_DAY )
ui.iconVLC->setPixmap( QPixmap( ":/logo/vlc128-christmas.png" ) );
if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY )
ui.iconVLC->setPixmap( QPixmap( ":/logo/vlc128-xmas.png" ) );
else
ui.iconVLC->setPixmap( QPixmap( ":/logo/vlc128.png" ) );
......
......@@ -942,8 +942,8 @@ void MainInterface::showBuffering( float f_cache )
void MainInterface::createSystray()
{
QIcon iconVLC;
if( QDate::currentDate().dayOfYear() >= QT_CHRISTMAS_TROLL_DAY )
iconVLC = QIcon( ":/logo/vlc128-christmas.png" );
if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY )
iconVLC = QIcon( ":/logo/vlc128-xmas.png" );
else
iconVLC = QIcon( ":/logo/vlc128.png" );
sysTray = new QSystemTrayIcon( iconVLC, this );
......
......@@ -44,7 +44,7 @@
#endif
#include "../../../share/icons/32x32/vlc.xpm"
#include "../../../share/icons/32x32/vlc-christmas.xpm"
#include "../../../share/icons/32x32/vlc-xmas.xpm"
#include <vlc_plugin.h>
#ifdef WIN32 /* For static builds */
......@@ -479,8 +479,8 @@ static void *Thread( void *obj )
/* Icon setting, Mac uses icon from .icns */
#ifndef Q_WS_MAC
if( QDate::currentDate().dayOfYear() >= QT_CHRISTMAS_TROLL_DAY )
app.setWindowIcon( QIcon(vlc_christmas_xpm) );
if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY )
app.setWindowIcon( QIcon(vlc_xmas_xpm) );
else
app.setWindowIcon( QIcon(vlc_xpm) );
#endif
......
......@@ -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
* wearing a Santa hat.
* Warning: can panic users (virus changed my icons!!), and cause religious
* trolls (VLC is a supporter of catholicism!!)
* Note, this icon doesn't represent an endorsment of Coca-Cola company
* wearing a Father Xmas hat.
* 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
......@@ -3,8 +3,8 @@
<file alias="vlc128.png" >../../../share/icons/128x128/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="vlc128-christmas.png" >../../../share/icons/128x128/vlc-christmas.png</file>
<file alias="vlc48-christmas.png" >../../../share/icons/48x48/vlc-christmas.png</file>
<file alias="vlc128-xmas.png" >../../../share/icons/128x128/vlc-xmas.png</file>
<file alias="vlc48-xmas.png" >../../../share/icons/48x48/vlc-xmas.png</file>
</qresource>
<qresource prefix="/menu" >
<file alias="help" >pixmaps/menus/help_16px.png</file>
......
......@@ -60,9 +60,15 @@ static int CreateInputItemFromMedia( media_library_t *p_ml,
struct ml_table_elt
{
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[]=
{
{ ML_ALBUM_COVER, "album_cover" },
......@@ -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 );
for( int col = 0; col < i_cols; col++ )
{
//binary search
int low = 0, high = count - 1;
int answer = -1;
while( low <= high ) {
int mid = (low + high ) / 2;
char* mid_val = ml_table_map[mid].column_name;
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 )
struct ml_table_elt key, *result = NULL;
key.column_name = res( 0, col );
result = bsearch( &key, ml_table_map, count,
sizeof( struct ml_table_elt ), compare_ml_elts );
if( !result )
msg_Warn( p_ml, "unknown column: %s", res( 0, col ) );
else
indexes[col] = ml_table_map[answer].column_id;
indexes[col] = result->column_id;
}
/* Read rows 1 to i_rows */
......
......@@ -106,7 +106,7 @@ struct stream_sys_t
/* Download */
struct hls_download_s
{
int current; /* current hls_stream */
int stream; /* current hls_stream */
int segment; /* current segment for downloading */
int seek; /* segment requested by seek (default -1) */
vlc_mutex_t lock_wait; /* protect segment download counter */
......@@ -117,7 +117,7 @@ struct stream_sys_t
struct hls_playback_s
{
uint64_t offset; /* current offset in media */
int current; /* current hls_stream */
int stream; /* current hls_stream */
int segment; /* current segment for playback */
} playback;
......@@ -343,6 +343,15 @@ static segment_t *segment_Find(hls_stream_t *hls, int sequence)
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 */
static char *parse_Attributes(const char *line, const char *attr)
{
......@@ -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)
{
int count = vlc_array_count(hls_new->segments);
msg_Info(s, "updating hls stream (program-id=%d, bandwidth=%"PRIu64") has %d segments",
hls_new->id, hls_new->bandwidth, count);
for (int n = 0; n < count; n++)
......@@ -1198,7 +1208,7 @@ static void* hls_Thread(vlc_object_t *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);
/* Sliding window (~60 seconds worth of movie) */
......@@ -1260,10 +1270,10 @@ static void* hls_Thread(vlc_object_t *p_this)
vlc_mutex_lock(&hls->lock);
segment_t *segment = segment_GetSegment(hls, p_sys->download.segment);
assert(segment);
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;
......@@ -1305,7 +1315,7 @@ again:
if (hls == NULL)
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 )
return VLC_EGENERIC;
......@@ -1320,20 +1330,20 @@ again:
stream = *current;
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 )
return VLC_EGENERIC;
if (segment->data)
{
p_sys->playback.segment++;
p_sys->download.segment++;
continue;
}
if (Download(s, hls, segment, current) != VLC_SUCCESS)
return VLC_EGENERIC;
p_sys->playback.segment++;
p_sys->download.segment++;
/* adapt bandwidth? */
if (*current != stream)
......@@ -1556,8 +1566,9 @@ static int Open(vlc_object_t *p_this)
}
/* Choose first HLS stream to start with */
int current = p_sys->playback.current = 0;
p_sys->playback.segment = 0;
int current = p_sys->playback.stream = 0;
p_sys->playback.segment = p_sys->download.segment =
p_sys->b_live ? live_ChooseSegment(s, current) : 0;
if (Prefetch(s, &current) != VLC_SUCCESS)
{
......@@ -1581,11 +1592,9 @@ static int Open(vlc_object_t *p_this)
((mtime_t)hls->duration * UINT64_C(1000000));
}
p_sys->download.current = current;
p_sys->playback.current = current;
p_sys->download.segment = p_sys->playback.segment;
p_sys->download.stream = current;
p_sys->playback.stream = current;
p_sys->download.seek = -1;
p_sys->playback.segment = 0; /* reset to first segment */
p_sys->thread->s = s;
vlc_mutex_init(&p_sys->download.lock_wait);
......@@ -1654,7 +1663,7 @@ static segment_t *GetSegment(stream_t *s)
segment_t *segment = NULL;
/* 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)
{
vlc_mutex_lock(&hls->lock);
......@@ -1698,7 +1707,7 @@ static segment_t *GetSegment(stream_t *s)
if ((segment->data != NULL) &&
(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;
vlc_mutex_unlock(&hls->lock);
goto check;
......@@ -1718,10 +1727,19 @@ static segment_t *GetSegment(stream_t *s)
check:
/* sanity check */
if (p_sys->download.segment - p_sys->playback.segment == 0)
if (segment->data->i_buffer == 0)
{
vlc_mutex_lock(&hls->lock);
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)
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;
}
......@@ -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)
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;
if (i_read <= segment->data->i_buffer)
......@@ -1829,7 +1847,7 @@ again:
if (segment == NULL)
{
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? */
}
......@@ -1867,7 +1885,7 @@ static bool hls_MaySeek(stream_t *s)
if (p_sys->hls_stream == NULL)
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 (p_sys->b_live)
......@@ -1891,7 +1909,7 @@ static uint64_t GetStreamSize(stream_t *s)
if (p_sys->b_live)
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;
vlc_mutex_lock(&hls->lock);
......@@ -1905,7 +1923,7 @@ static int segment_Seek(stream_t *s, uint64_t pos)
{
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)
return VLC_EGENERIC;
......
......@@ -64,6 +64,15 @@ static void Close ( vlc_object_t * );
#define HEIGHT_TEXT N_("Video height")
#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 ()
set_shortname( N_("projectM"))
set_description( N_("libprojectM effect") )
......@@ -85,6 +94,12 @@ vlc_module_begin ()
false )
add_integer( "projectm-height", 640, HEIGHT_TEXT, HEIGHT_LONGTEXT,
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" )
set_callbacks( Open, Close )
vlc_module_end ()
......@@ -330,17 +345,17 @@ static void *Thread( void *p_data )
/* Create the projectM object */
#ifndef HAVE_PROJECTM2
psz_config = var_InheritString( p_filter, "projectm-config" );
p_projectm new projectM( psz_config );
p_projectm = new projectM( psz_config );
free( psz_config );
#else
psz_preset_path = var_InheritString( p_filter, "projectm-preset-path" );
psz_title_font = var_InheritString( p_filter, "projectm-title-font" );
psz_menu_font = var_InheritString( p_filter, "projectm-menu-font" );
settings.meshX = 32;
settings.meshY = 24;
settings.meshX = var_InheritInteger( p_filter, "projectm-meshx" );
settings.meshY = var_InheritInteger( p_filter, "projectm-meshy" );
settings.fps = 35;
settings.textureSize = 1024;
settings.textureSize = var_InheritInteger( p_filter, "projectm-texture-size" );
settings.windowWidth = p_sys->i_width;
settings.windowHeight = p_sys->i_height;
settings.presetURL = psz_preset_path;
......@@ -365,6 +380,7 @@ static void *Thread( void *p_data )
vlc_sem_post( &p_sys->ready );
/* Choose a preset randomly or projectM will always show the first one */
if ( p_projectm->getPlaylistSize() > 0 )
p_projectm->selectPreset( (unsigned)vlc_mrand48() % p_projectm->getPlaylistSize() );
/* */
......
......@@ -332,15 +332,21 @@ extern NSString *VLCMediaTracksInformationTypeUnknown;
*/
- (void)parse;
/**************************************************************************
/**
* Add options to the media, that will be used to determine how
* VLCMediaPlayer will read the media. This allow to use VLC advanced
* reading/streaming options in a per-media basis
*
* The options are detailed in vlc --long-help, for instance "--sout-all"
* And on the web: http://wiki.videolan.org/VLC_command-line_help
**************************************************************************/
*/
- (void) addOptions:(NSDictionary*) options;
/**
* Getter for statistics information
* Returns a NSDictionary with NSNumbers for values.
*
*/
- (NSDictionary*) stats;
@end
......@@ -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 *VLCMediaTracksInformationId = @"id"; // NSNumber
NSString *VLCMediaTracksInformationType = @"type"; // NSString
......
......@@ -15,9 +15,9 @@ dist_appdata_DATA = vlc.desktop
dist_vlcdata_DATA = icons/vlc.ico
dist_icons16_DATA = icons/16x16/vlc.png icons/16x16/vlc.xpm
dist_icons32_DATA = icons/32x32/vlc.png icons/32x32/vlc.xpm \
icons/32x32/vlc-christmas.xpm
dist_icons48_DATA = icons/48x48/vlc.png icons/48x48/vlc-christmas.png
dist_icons128_DATA = icons/128x128/vlc.png icons/128x128/vlc-christmas.png
icons/32x32/vlc-xmas.xpm
dist_icons48_DATA = icons/48x48/vlc.png icons/48x48/vlc-xmas.png
dist_icons128_DATA = icons/128x128/vlc.png icons/128x128/vlc-xmas.png
dist_icons256_DATA = icons/256x256/vlc.png
nobase_dist_vlcdata_SCRIPTS = \
......
/* XPM */
static const char *vlc_christmas_xpm[] = {
static const char *vlc_xmas_xpm[] = {
/* columns rows colors chars-per-pixel */
"32 32 174 2",
" c #00AE00390021",
......
......@@ -312,7 +312,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
}
/* Check for daemon mode */
#ifndef WIN32
#if !defined( WIN32 ) && !defined( __SYMBIAN32__ )
if( var_InheritBool( p_libvlc, "daemon" ) )
{
#ifdef HAVE_DAEMON
......
......@@ -353,6 +353,8 @@ unsigned vlc_GetCPUCount(void)
system_mask >>= 1;
}
return count;
#elif defined(__SYMBIAN32__)
return 1;
#elif defined(HAVE_SCHED_GETAFFINITY)
cpu_set_t cpu;
CPU_ZERO(&cpu);
......
......@@ -73,7 +73,7 @@ struct module_cache_t
typedef NSModule module_handle_t;
#elif defined(HAVE_IMAGE_H)
typedef int module_handle_t;
#elif defined(WIN32) || defined(UNDER_CE)
#elif defined(WIN32) || defined(UNDER_CE) || defined(__SYMBIAN32__)
typedef void * module_handle_t;
#elif defined(HAVE_DL_DLOPEN)
typedef void * module_handle_t;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment