xbmc-frodo: move to package 'xbmc', update to xbmc-17c1439

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2012-10-02 02:28:00 +02:00
parent afb4012a03
commit f2425c2844
108 changed files with 124 additions and 31121 deletions

View File

@ -19,10 +19,7 @@
################################################################################
PKG_NAME="xbmc-addon-xvdr"
PKG_VERSION="75445e7"
if [ "$MEDIACENTER" = "xbmc-frodo" ]; then
PKG_VERSION="d48e68e"
fi
PKG_VERSION="d48e68e"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,29 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
cd $PKG_BUILD
TexturePacker -input media/ \
-output Textures.xbt \
-dupecheck \
-use_none

View File

@ -1,33 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
mkdir -p $INSTALL/usr/share/xbmc/addons/skin.confluence
cp -R $PKG_BUILD/*/ $INSTALL/usr/share/xbmc/addons/skin.confluence
cp $PKG_BUILD/*.txt $INSTALL/usr/share/xbmc/addons/skin.confluence
cp $PKG_BUILD/*.xml $INSTALL/usr/share/xbmc/addons/skin.confluence
cp $PKG_BUILD/*.png $INSTALL/usr/share/xbmc/addons/skin.confluence
rm -rf $INSTALL/usr/share/xbmc/addons/skin.confluence/media
mkdir -p $INSTALL/usr/share/xbmc/addons/skin.confluence/media
cp $PKG_BUILD/Textures.xbt $INSTALL/usr/share/xbmc/addons/skin.confluence/media

View File

@ -1,36 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="xbmc-frodo-theme-Confluence"
PKG_VERSION="942a938"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.xbmc.org"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"
PKG_SHORTDESC="xbmc-theme-Confluence: XBMC Mediacenter default theme"
PKG_LONGDESC="XBMC Media Center (which was formerly named Xbox Media Center) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"

View File

@ -1,318 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
# disable build of GOOM until its fixed
XBMC_VIS_GOOM="no"
if [ "$DISPLAYSERVER" = "xorg-server" ]; then
XBMC_XORG="--enable-x11 --enable-xrandr"
else
XBMC_XORG="--disable-x11 --disable-xrandr"
fi
if [ "$OPENGL_SUPPORT" = yes ]; then
XBMC_OPENGL="--enable-gl"
else
XBMC_OPENGL="--disable-gl"
fi
if [ "$OPENGLES_SUPPORT" = yes ]; then
XBMC_OPENGLES="--enable-gles"
else
XBMC_OPENGLES="--disable-gles"
fi
if [ "$SDL_SUPPORT" = yes ]; then
XBMC_SDL="--enable-sdl"
else
XBMC_SDL="--disable-sdl"
fi
if [ "$XBMC_SCR_RSXS" = yes ]; then
XBMC_RSXS="--enable-rsxs"
# fix build of RSXS Screensaver support if not using libiconv
if [ ! "$ICONV" = "libiconv" ]; then
export jm_cv_func_gettimeofday_clobber=no
fi
else
XBMC_RSXS="--disable-rsxs"
fi
if [ "$XBMC_VIS_PROJECTM" = yes ]; then
XBMC_PROJECTM="--enable-projectm"
else
XBMC_PROJECTM="--disable-projectm"
fi
if [ "$XBMC_VIS_GOOM" = yes ]; then
XBMC_GOOM="--enable-goom"
else
XBMC_GOOM="--disable-goom"
fi
if [ "$ALSA_SUPPORT" = yes ]; then
XBMC_ALSA="--enable-alsa"
else
XBMC_ALSA="--disable-alsa"
fi
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
XBMC_PULSEAUDIO="--enable-pulse"
else
XBMC_PULSEAUDIO="--disable-pulse"
fi
if [ "$CEC_SUPPORT" = yes ]; then
XBMC_CEC="--enable-libcec"
if [ "$OPENMAX" = "bcm2835-driver" ]; then
XBMC_CEC="$XBMC_CEC --enable-rpi-cec-api"
fi
else
XBMC_CEC="--disable-libcec"
fi
if [ "$JOYSTICK_SUPPORT" = yes ]; then
XBMC_JOYSTICK="--enable-joystick"
else
XBMC_JOYSTICK="--disable-joystick"
fi
if [ "$NONFREE_SUPPORT" = yes ]; then
XBMC_NONFREE="--enable-non-free"
else
XBMC_NONFREE="--disable-non-free"
fi
if [ "$AIRPLAY_SUPPORT" = yes ]; then
XBMC_AIRPLAY="--enable-airplay"
else
XBMC_AIRPLAY="--disable-airplay"
fi
if [ "$AIRTUNES_SUPPORT" = yes ]; then
XBMC_AIRTUNES="--enable-airtunes"
else
XBMC_AIRTUNES="--disable-airtunes"
fi
if [ "$DVDCSS_SUPPORT" = yes ]; then
XBMC_DVDCSS="--enable-dvdcss"
else
XBMC_DVDCSS="--disable-dvdcss"
fi
if [ "$ENCODER_LAME" = yes ]; then
XBMC_LAMEENC="--enable-libmp3lame"
else
XBMC_LAMEENC="--disable-libmp3lame"
fi
if [ "$ENCODER_VORBIS" = yes ]; then
XBMC_VORBISENC="--enable-libvorbisenc"
else
XBMC_VORBISENC="--disable-libvorbisenc"
fi
if [ "$BLURAY_SUPPORT" = yes ]; then
XBMC_BLURAY="--enable-libbluray"
else
XBMC_BLURAY="--disable-libbluray"
fi
if [ "$AVAHI_DAEMON" = yes ]; then
XBMC_AVAHI="--enable-avahi"
else
XBMC_AVAHI="--disable-avahi"
fi
if [ "$NFS_SUPPORT" = yes ]; then
XBMC_NFS="--enable-nfs"
else
XBMC_NFS="--disable-nfs"
fi
if [ "$AFP_SUPPORT" = yes ]; then
XBMC_AFP="--enable-afpclient"
else
XBMC_AFP="--disable-afpclient"
fi
if [ "$SAMBA_CLIENT" = yes ]; then
XBMC_SAMBA="--enable-samba"
export LIBS="$LIBS -ltalloc -ltdb -lwbclient"
else
XBMC_SAMBA="--disable-samba"
fi
if [ "$WEBSERVER" = yes ]; then
XBMC_WEBSERVER="--enable-webserver"
else
XBMC_WEBSERVER="--disable-webserver"
fi
if [ "$OPENMAX_SUPPORT" = yes ]; then
XBMC_OPENMAX="--enable-openmax"
if [ "$OPENMAX" = "bcm2835-driver" ]; then
XBMC_PLATFORM_SUPPORT="--with-platform=raspberry-pi"
XBMC_PLAYER="--enable-player=omxplayer"
CFLAGS="$CFLAGS -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/"
CXXFLAGS="$CXXFLAGS -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/"
fi
else
XBMC_OPENMAX="--disable-openmax"
fi
if [ "$VDPAU" = yes ]; then
XBMC_VDPAU="--enable-vdpau"
else
XBMC_VDPAU="--disable-vdpau"
fi
if [ "$VAAPI" = yes ]; then
XBMC_VAAPI="--enable-vaapi"
else
XBMC_VAAPI="--disable-vaapi"
fi
if [ "$XVBA" = yes ]; then
XBMC_XVBA="--enable-xvba"
else
XBMC_XVBA="--disable-xvba"
fi
if [ "$CRYSTALHD" = yes ]; then
XBMC_CRYSTALHD="--enable-crystalhd"
else
XBMC_CRYSTALHD="--disable-crystalhd"
fi
# xbmc fails to build with LTO optimization
strip_lto
# dont use some optimizations because of build problems
LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"`
# dont build parallel
MAKEFLAGS=-j1
export PYTHON_VERSION="2.7"
export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION"
export PYTHON_LDFLAGS="-L$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION -lpython$PYTHON_VERSION"
export PYTHON_SITE_PKG="$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION/site-packages"
export ac_python_version="$PYTHON_VERSION"
# setup skin dir from default skin
SKIN_DIR="skin.`tolower $SKIN_DEFAULT`"
cd $PKG_BUILD
# adding fake Makefile for stripped skin
mkdir -p addons/skin.confluence/media
touch addons/skin.confluence/media/Makefile.in
# autoreconf
do_autoreconf
do_autoreconf lib/libid3tag/libid3tag
do_autoreconf xbmc/screensavers/rsxs-0.9
do_autoreconf xbmc/visualizations/Goom/goom2k4-0
do_autoreconf lib/libapetag
do_autoreconf lib/cpluff
# order matters with libdvd and friends
[ -d lib/libdvd/libdvdcss ] && do_autoreconf lib/libdvd/libdvdcss
do_autoreconf lib/libdvd/libdvdread
do_autoreconf lib/libdvd/libdvdnav
# Clean the generated files
find . -depth -type d -name "autom4te.cache" -exec rm -rf {} \;
./configure --host=$TARGET_NAME \
--build=$HOST_NAME \
--with-arch=$TARGET_ARCH \
--with-cpu=$TARGET_CPU \
--prefix=/usr \
--exec-prefix=/usr \
--sysconfdir=/etc \
--datadir=/usr/share \
GIT_REV=`cat git.version` \
--disable-debug \
--disable-optimizations \
$XBMC_OPENGL \
$XBMC_OPENGLES \
$XBMC_SDL \
$XBMC_OPENMAX \
$XBMC_VDPAU \
$XBMC_VAAPI \
$XBMC_CRYSTALHD \
$XBMC_XVBA \
--disable-vdadecoder \
--disable-vtbdecoder \
--disable-tegra \
--disable-profiling \
$XBMC_JOYSTICK \
$XBMC_CEC \
--enable-udev \
--disable-libusb \
$XBMC_GOOM \
$XBMC_RSXS \
$XBMC_PROJECTM \
$XBMC_XORG \
--disable-ccache \
$XBMC_ALSA \
$XBMC_PULSEAUDIO \
--enable-rtmp \
$XBMC_SAMBA \
$XBMC_NFS \
$XBMC_AFP \
$XBMC_VORBISENC \
--enable-ffmpeg-libvorbis \
$XBMC_LAMEENC \
$XBMC_DVDCSS \
--disable-mid \
--disable-hal \
$XBMC_AVAHI \
$XBMC_AIRPLAY \
$XBMC_AIRTUNES \
$XBMC_NONFREE \
--disable-asap-codec \
$XBMC_WEBSERVER \
--enable-optical-drive \
$XBMC_BLURAY \
--enable-texturepacker --with-texturepacker-root="$ROOT/$TOOLCHAIN" \
--disable-external-libraries \
--enable-external-ffmpeg \
$XBMC_PLATFORM_SUPPORT \
$XBMC_PLAYER \
# setup default skin inside the sources
sed -i -e "s|skin.confluence|$SKIN_DIR|g" xbmc/settings/Settings.h
make externals
make xbmc.bin
if [ "$DISPLAYSERVER" = "xorg-server" ]; then
make xbmc-xrandr
fi
make -C tools/TexturePacker
cp -PR tools/TexturePacker/TexturePacker $ROOT/$TOOLCHAIN/bin

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<splash>false</splash>
<showexitbutton>false</showexitbutton>
<cputempcommand>cputemp</cputempcommand>
<gputempcommand>gputemp</gputempcommand>
<video>
<latency>
<delay>0</delay>
<refresh>
<min>20</min>
<max>24</max>
<delay>175</delay>
</refresh>
</latency>
</video>
<samba>
<clienttimeout>30</clienttimeout>
</samba>
</advancedsettings>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon id="os.openelec.tv" version="@OS_VERSION@" provider-name="OpenELEC.tv">
<requires>
<import addon="xbmc.addon" version="1.0"/>
</requires>
</addon>

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.openelec.tv"
name="[COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] Mediacenter OS Add-ons"
version="2.1.0"
provider-name="Team [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR]">
<extension point="xbmc.addon.repository"
name="Official OpenELEC.tv Add-on Repository">
<info>@ADDON_URL@/addons.xml</info>
<checksum>@ADDON_URL@/addons.xml.md5</checksum>
<datadir zip="true">@ADDON_URL@</datadir>
</extension>
<extension point="xbmc.addon.metadata">
<summary>Install Add-ons, Plugins, Games and Programs from [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR]</summary>
<description>Download and install Add-ons, Plugins, Games and Programs from the Official [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] so we can take any action needed.</description>
<platform>all</platform>
</extension>
</addon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

View File

@ -1,27 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# starting XBMC
#
# runlevels: openelec
progress "clean up log files"
rm -f /storage/.xbmc/userdata/addon_data/*/*.log 2>/dev/null
rm -rf /storage/.xbmc/userdata/addon_data/*/log/* 2>/dev/null

View File

@ -1,123 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# setup XBMC
#
# runlevels: openelec
progress "setup XBMC"
#
# clean temp dir
#
rm -rf $HOME/.xbmc/temp/*
#
# add some default settings
#
mkdir -p $HOME/.xbmc/userdata
#
# setup directories for XBMC sources
#
[ ! -d "$HOME/music" ] && mkdir -p $HOME/music
[ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures
[ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows
[ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos
mkdir -p $HOME/.xbmc/userdata
if [ ! -f $HOME/.xbmc/userdata/sources.xml ]; then
if [ -f /usr/share/xbmc/config/sources.xml ]; then
# include project specific sources
cp /usr/share/xbmc/config/sources.xml $HOME/.xbmc/userdata
else
cat > $HOME/.xbmc/userdata/sources.xml << EOF
<sources>
<video>
<default pathversion="1"></default>
<source>
<name>Videos</name>
<path pathversion="1">$HOME/videos/</path>
</source>
<source>
<name>TV Shows</name>
<path pathversion="1">$HOME/tvshows/</path>
</source>
</video>
<music>
<default pathversion="1"></default>
<source>
<name>Music</name>
<path pathversion="1">$HOME/music/</path>
</source>
</music>
<pictures>
<default pathversion="1"></default>
<source>
<name>Pictures</name>
<path pathversion="1">$HOME/pictures/</path>
</source>
</pictures>
</sources>
EOF
fi
fi
#
# common setup guisettings
#
mkdir -p $HOME/.xbmc/userdata
[ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots
if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
echo "<settings>" > $HOME/.xbmc/userdata/guisettings.xml
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<debug>
<screenshotpath pathversion="1">$HOME/screenshots/</screenshotpath>
</debug>
EOF
#
# include project specific options
#
if [ -f /usr/share/xbmc/config/guisettings.xml ]; then
cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml
fi
#
# common setup for amd and nvidia graphic
#
# Always sync to vblank
if [ "$GPUTYPE" = "NVIDIA" -o "$GPUTYPE" = "AMD" ] ; then
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<videoscreen>
<vsync>2</vsync>
</videoscreen>
EOF
fi
echo "</settings>" >> $HOME/.xbmc/userdata/guisettings.xml
fi

View File

@ -1,106 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# starting XBMC
#
# runlevels: openelec
LIRCDEV="/var/run/lirc/lircd"
[ -e /var/run/lirc/lircd.irtrans ] && LIRCDEV="/var/run/lirc/lircd.irtrans"
XBMC_ARGS="--standalone -fs --lircdev $LIRCDEV"
progress "starting XBMC"
# hack for Boxee Remote
if grep -q "Vendor=0471 Product=20d9" /proc/bus/input/devices; then
export SDL_MOUSE_RELATIVE=0
fi
# hack: make addon-bins executable
chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
# starting autostart script (will be removed later again, dont use it!!!)
AUTOSTART="/storage/.config/autostart.sh"
if [ -f $AUTOSTART ]; then
echo "!!! AUTOSTART script detected !!!" >> /var/log/messages
cat "$AUTOSTART" >> /var/log/messages
echo "!!! -End of autostart script- !!!" >> /var/log/messages
sh $AUTOSTART
fi
# starting autoupdate
[ -f /usr/bin/autoupdate ] && /usr/bin/autoupdate &
# waiting for Xorg to start
wait_for_xorg
# set cpu's to 'conservative'
( usleep 15000000
progress "set cpu's to 'ondemand'"
cpupower frequency-set -g ondemand > /dev/null 2>&1
)&
# prevent restrating XBMC at reboot or shutdown
LOCKDIR="/var/lock/"
LOCKFILE="xbmc.disabled"
[ -f "$LOCKDIR/$LOCKFILE" ] && rm -f "$LOCKDIR/$LOCKFILE" &
# starting XBMC
usleep $XBMC_STARTDELAY
while true; do
while [ -f "$LOCKDIR/$LOCKFILE" ]; do
usleep 250000
done
DISPLAY=:0.0 /usr/lib/xbmc/xbmc.bin $XBMC_ARGS > /dev/null 2>&1
RET=$?
case "$RET" in
0)
if [ ! $(pidof console-kit-daemon) ]; then
touch "$LOCKDIR/$LOCKFILE"
poweroff -f
fi
;;
64)
if [ ! $(pidof console-kit-daemon) ]; then
touch "$LOCKDIR/$LOCKFILE"
poweroff -f
fi
;;
66)
if [ ! $(pidof console-kit-daemon) ]; then
touch "$LOCKDIR/$LOCKFILE"
reboot
fi
;;
255)
echo "Abnormal Exit. Exited with code $RET"
echo "is Xorg running? check /var/log/Xorg.log"
;;
*)
echo "Abnormal Exit. Exited with code $RET"
;;
esac
usleep 250000
done

View File

@ -1,111 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
PYTHON_LIBDIR="`ls -d $INSTALL/usr/lib/python*`"
mkdir -p $INSTALL/usr/bin
cp $PKG_DIR/scripts/cputemp $INSTALL/usr/bin
cp $PKG_DIR/scripts/gputemp $INSTALL/usr/bin
cp $PKG_DIR/scripts/wait_on_xbmc_exit $INSTALL/usr/bin
cp $PKG_BUILD/tools/EventClients/Clients/XBMC\ Send/xbmc-send.py $INSTALL/usr/bin/xbmc-send
cp $PKG_DIR/scripts/setwakeup.sh $INSTALL/usr/bin
mkdir -p $INSTALL/usr/lib/xbmc
cp $PKG_BUILD/xbmc.bin $INSTALL/usr/lib/xbmc
if [ "$DISPLAYSERVER" = "xorg-server" ]; then
cp $PKG_BUILD/xbmc-xrandr $INSTALL/usr/lib/xbmc
fi
cd $PKG_BUILD
find system addons \
-regextype posix-extended -type f \
-not -iregex ".*svn.*|.*win32(dx)?\.vis|.*osx\.vis" \
-iregex ".*-linux.*|.*-arm.*|.*\.vis|.*\.xbs" \
-exec install -D "{}" $ROOT/$INSTALL/usr/lib/xbmc/"{}" ";"
find addons language media sounds userdata system \
-regextype posix-extended -type f \
-not -iregex ".*-linux.*|.*-arm.*|.*\.vis|.*\.xbs|.*svn.*|.*\.orig|.*\.so|.*\.dll|.*\.pyd|.*python|.*\.zlib|.*\.conf" \
-exec install -D -m 0644 "{}" $ROOT/$INSTALL/usr/share/xbmc/"{}" ";"
cd -
if [ ! "$XBMC_SCR_RSXS" = yes ]; then
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/screensaver.rsxs.*
fi
if [ ! "$XBMC_VIS_PROJECTM" = yes ]; then
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/visualization.projectm
fi
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/visualization.dxspectrum
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/visualization.itunes
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/visualization.milkdrop
# overriding Splash image
mkdir -p $INSTALL/usr/share/xbmc/media
rm -rf $INSTALL/usr/share/xbmc/media/Splash.png
# if [ -f $PROJECT_DIR/$PROJECT/splash/splash.png ]; then
# cp $PROJECT_DIR/$PROJECT/splash/splash.png $INSTALL/usr/share/xbmc/media/Splash.png
# else
# cp $PKG_DIR/splash/splash.png $INSTALL/usr/share/xbmc/media/Splash.png
# fi
# cleanup and python addon fixes
rm -rf $INSTALL/usr/share/xbmc/addons/script.module.pysqlite
rm -rf $INSTALL/usr/share/xbmc/addons/script.module.simplejson
mkdir -p $INSTALL/usr/share/xbmc/addons
cp -R $PKG_DIR/config/os.openelec.tv $INSTALL/usr/share/xbmc/addons
$SED "s|@OS_VERSION@|$OS_VERSION|g" -i $INSTALL/usr/share/xbmc/addons/os.openelec.tv/addon.xml
cp -R $PKG_DIR/config/repository.openelec.tv $INSTALL/usr/share/xbmc/addons
$SED "s|@ADDON_URL@|$ADDON_URL|g" -i $INSTALL/usr/share/xbmc/addons/repository.openelec.tv/addon.xml
mkdir -p $PYTHON_LIBDIR/site-packages/xbmc
cp -R $PKG_BUILD/tools/EventClients/lib/python/* $PYTHON_LIBDIR/site-packages/xbmc
# install powermanagement hooks
mkdir -p $INSTALL/etc/pm/sleep.d
cp $PKG_DIR/sleep.d/* $INSTALL/etc/pm/sleep.d
# install project specific configs
mkdir -p $INSTALL/usr/share/xbmc/config
if [ -f $PROJECT_DIR/$PROJECT/xbmc/guisettings.xml ]; then
cp -R $PROJECT_DIR/$PROJECT/xbmc/guisettings.xml $INSTALL/usr/share/xbmc/config
fi
if [ -f $PROJECT_DIR/$PROJECT/xbmc/sources.xml ]; then
cp -R $PROJECT_DIR/$PROJECT/xbmc/sources.xml $INSTALL/usr/share/xbmc/config
fi
mkdir -p $INSTALL/usr/share/xbmc/system/
if [ -f $PROJECT_DIR/$PROJECT/xbmc/advancedsettings.xml ]; then
cp $PROJECT_DIR/$PROJECT/xbmc/advancedsettings.xml $INSTALL/usr/share/xbmc/system/
else
cp $PKG_DIR/config/advancedsettings.xml $INSTALL/usr/share/xbmc/system/
fi
if [ "$XBMC_EXTRA_FONTS" = yes ]; then
mkdir -p $INSTALL/usr/share/xbmc/media/Fonts
cp $PKG_DIR/fonts/*.ttf $INSTALL/usr/share/xbmc/media/Fonts
fi

View File

@ -1,177 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="xbmc-frodo"
PKG_VERSION="942a938"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.xbmc.org"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS="boost Python zlib bzip2 systemd pcre ffmpeg libass curl libssh rtmpdump fontconfig tinyxml freetype libmad libogg libmodplug faad2 flac libmpeg2 taglib yajl sqlite bc xbmc-addon-settings"
PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 systemd lzo pcre swig ffmpeg libass enca curl libssh rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 taglib yajl sqlite mysql"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"
PKG_SHORTDESC="xbmc: XBMC Mediacenter"
PKG_LONGDESC="XBMC Media Center (which was formerly named Xbox Media Center) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
# needed for hosttools (Texturepacker)
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS lzo-host SDL-host SDL_image-host"
# some python stuff needed for various addons
PKG_DEPENDS="$PKG_DEPENDS Imaging"
PKG_DEPENDS="$PKG_DEPENDS simplejson"
# various PVR clients
PKG_DEPENDS="$PKG_DEPENDS xbmc-pvr-addons"
# PKG_DEPENDS="$PKG_DEPENDS xbmc-addon-njoy"
PKG_DEPENDS="$PKG_DEPENDS xbmc-addon-vuplus"
PKG_DEPENDS="$PKG_DEPENDS xbmc-addon-xvdr"
if [ "$DISPLAYSERVER" = "xorg-server" ]; then
# for libX11 support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libX11 libXext"
PKG_DEPENDS="$PKG_DEPENDS libX11 libXext"
# for libXrandr support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXrandr"
PKG_DEPENDS="$PKG_DEPENDS libXrandr"
# for SDL support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS SDL SDL_image"
PKG_DEPENDS="$PKG_DEPENDS SDL SDL_image"
fi
if [ "$OPENGL_SUPPORT" = yes ]; then
# for OpenGL (GLX) support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS $OPENGL glew"
PKG_DEPENDS="$PKG_DEPENDS $OPENGL glew"
fi
if [ "$OPENGLES_SUPPORT" = yes ]; then
# for OpenGL-ES support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS $OPENGLES"
PKG_DEPENDS="$PKG_DEPENDS $OPENGLES"
fi
# for dbus support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS dbus"
PKG_DEPENDS="$PKG_DEPENDS dbus"
if [ "$ALSA_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS alsa-lib"
PKG_DEPENDS="$PKG_DEPENDS alsa alsa-lib"
fi
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS pulseaudio"
PKG_DEPENDS="$PKG_DEPENDS pulseaudio"
fi
if [ "$CEC_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libcec"
PKG_DEPENDS="$PKG_DEPENDS libcec"
fi
if [ "$XBMC_SCR_RSXS" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXt libXmu"
PKG_DEPENDS="$PKG_DEPENDS libXt libXmu"
fi
if [ "$FAAC_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS faac"
PKG_DEPENDS="$PKG_DEPENDS faac"
fi
if [ "$ENCODER_LAME" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS lame"
PKG_DEPENDS="$PKG_DEPENDS lame"
fi
if [ "$ENCODER_VORBIS" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libvorbis"
PKG_DEPENDS="$PKG_DEPENDS libvorbis"
fi
if [ "$BLURAY_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libbluray"
PKG_DEPENDS="$PKG_DEPENDS libbluray"
fi
if [ "$AVAHI_DAEMON" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS avahi"
PKG_DEPENDS="$PKG_DEPENDS avahi"
fi
if [ "$AIRPLAY_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libplist"
PKG_DEPENDS="$PKG_DEPENDS libplist"
fi
if [ "$AIRTUNES_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libshairport"
PKG_DEPENDS="$PKG_DEPENDS libshairport"
fi
if [ "$NFS_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libnfs"
PKG_DEPENDS="$PKG_DEPENDS libnfs"
fi
if [ "$AFP_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS afpfs-ng"
PKG_DEPENDS="$PKG_DEPENDS afpfs-ng"
fi
if [ "$SAMBA_CLIENT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS samba"
PKG_DEPENDS="$PKG_DEPENDS samba"
fi
if [ "$WEBSERVER" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libmicrohttpd"
fi
if [ "$OPENMAX_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS $OPENMAX"
PKG_DEPENDS="$PKG_DEPENDS $OPENMAX"
fi
if [ "$VDPAU" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libvdpau"
PKG_DEPENDS="$PKG_DEPENDS libvdpau"
fi
if [ "$VAAPI" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libva"
PKG_DEPENDS="$PKG_DEPENDS libva"
fi
if [ "$CRYSTALHD" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS crystalhd"
PKG_DEPENDS="$PKG_DEPENDS crystalhd"
fi
if [ "$XVBA" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS xf86-video-fglrx"
fi

View File

@ -1,25 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
for i in `ls xbmc-*.patch`; do
mv $i `echo $i | sed "s,$1,$2,g"`
done

View File

@ -1,44 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# Mediacenter environment variables.
#
# This file contains non-OpenELEC evironment variables as well as OpenELEC
# evironment variables that are not user defined.
################################################################################
if [ -z "$XBMC_STARTDELAY" ]; then
XBMC_STARTDELAY="1000000"
fi
XBMC_HOME="/usr/share/xbmc"
export XBMC_HOME
GPUTYPE="OTHER"
if [ -x /usr/bin/lspci ]; then
GPUDEVICE=$(lspci -n | grep 0300)
[ "$(echo $GPUDEVICE | grep 8086)" ] && GPUTYPE="INTEL" # 8086 == INTEL
[ "$(echo $GPUDEVICE | grep 10de)" ] && GPUTYPE="NVIDIA" # 10de == NVIDIA
[ "$(echo $GPUDEVICE | grep 1002)" ] && GPUTYPE="AMD" # 1002 == AMD
fi
export GPUTYPE

View File

@ -1,54 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# inspired by
# https://github.com/xtranophilist/gnome-shell-extension-cpu-temperature/blob/master/extension.js
TEMP=0
if [ -f /sys/devices/platform/coretemp.0/temp1_input ]; then
# used with coretemp
TEMP=`cat /sys/devices/platform/coretemp.0/temp1_input`
elif [ -f /sys/devices/platform/coretemp.0/temp2_input ]; then
# used with coretemp
TEMP=`cat /sys/devices/platform/coretemp.0/temp2_input`
elif [ -f /sys/bus/acpi/devices/LNXTHERM\:00/thermal_zone/temp ]; then
# used on some intel systems
TEMP=`cat /sys/bus/acpi/devices/LNXTHERM\:00/thermal_zone/temp`
elif [ -f /sys/devices/virtual/thermal/thermal_zone0/temp ]; then
# used on some intel systems
TEMP=`cat /sys/devices/virtual/thermal/thermal_zone0/temp`
elif [ -f /sys/class/hwmon/hwmon0/temp1_input ]; then
# hwmon for new 2.6.39, 3.0 linux kernels
TEMP=`cat /sys/class/hwmon/hwmon0/temp1_input`
elif [ -f /sys/class/hwmon/hwmon0/device/temp1_input ]; then
# used on AMD systems
TEMP=`cat /sys/class/hwmon/hwmon0/device/temp1_input`
elif [ -f /sys/class/hwmon/hwmon0/device/temp2_input ]; then
# used on ION systems
TEMP=`cat /sys/class/hwmon/hwmon0/device/temp2_input`
elif [ -f /sys/class/thermal/thermal_zone0/temp ]; then
# used on RaspberryPi
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
fi
echo "$(( $TEMP / 1000 )) C"

View File

@ -1,38 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
TEMP="0"
if lspci -n | grep 0300 | grep -q 10de; then
[ -f /usr/bin/nvidia-smi ] && TEMP=`/usr/bin/nvidia-smi -q -x | grep 'gpu_temp' | awk '{ print $1 }' | sed 's,<gpu_temp>,,g'`
fi
if lspci -n | grep 0300 | grep -q 1002; then
if [ -f /storage/.config/xorg.conf ]; then
XORG="/storage/.config/xorg.conf"
else
XORG="/etc/X11/xorg-fglrx.conf"
fi
[ -f /usr/bin/aticonfig ] && TEMP=`/usr/bin/aticonfig -i $XORG --od-gettemperature | grep Temperature | cut -f 2 -d "-" | cut -f 1 -d "." | sed -e "s, ,,"`
fi
echo "${TEMP} C"

View File

@ -1,28 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
if [ -f /sys/class/rtc/rtc0/wakealarm ]; then
logger -t setwakeup.sh "### Setting system wakeup time ###"
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo $1 > /sys/class/rtc/rtc0/wakealarm
logger -t setwakeup.sh "### $(cat /proc/driver/rtc) ###"
fi

View File

@ -1,29 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
count=0
while [ $(pidof xbmc.bin) -a $count -le 20 ]; do
usleep 250000
logger -t wait_on_xbmc_exit "### Waiting for XBMC to Exit - $count ###"
count=$((count+1))
done

View File

@ -1,28 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. /etc/profile
for script in $HOME/.xbmc/addons/*/sleep.d/*.power; do
progress "running addon sleep script $script ($1)..."
sh $script $1
done

View File

@ -1,34 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. /etc/profile
case "$1" in
hibernate|suspend)
xbmc-send --host=127.0.0.1 -a "LIRC.Stop"
;;
thaw|resume)
xbmc-send --host=127.0.0.1 -a "LIRC.Start"
;;
*) exit $NA
;;
esac

View File

@ -1,34 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. /etc/profile
case "$1" in
hibernate|suspend)
xbmc-send --host=127.0.0.1 -a "LCD.Suspend"
;;
thaw|resume)
xbmc-send --host=127.0.0.1 -a "LCD.Resume"
;;
*) exit $NA
;;
esac

View File

@ -1,31 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. /etc/profile
case "$1" in
thaw|resume)
xbmc-send --host=127.0.0.1 -a "ReloadSkin()" &
;;
*) exit $NA
;;
esac

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

View File

@ -1,30 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
echo "### Applying project based patches ###"
for patch in `ls $PROJECT_DIR/$PROJECT/patches/$1`; do
cat $PROJECT_DIR/$PROJECT/patches/$1/$patch | patch -d \
`echo $PKG_BUILD | cut -f1 -d\ ` -p1
done

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="xbmc-theme-Confluence"
PKG_VERSION="11.0.2"
PKG_VERSION="17c1439"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,14 +0,0 @@
--- xbmc-theme-Confluence-11.0.1/720p/IncludesHomeMenuItems.xml 2012-03-31 08:37:23.304505434 +0400
+++ xbmc-theme-Confluence-11.0.1/720p/IncludesHomeMenuItems.patch.xml 2012-03-31 08:39:57.894660377 +0400
@@ -183,6 +183,11 @@
<label>5</label>
<onclick>ActivateWindow(Settings)</onclick>
</control>
+ <control type="button" id="90120">
+ <include>ButtonHomeSubCommonValues</include>
+ <label>[COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR]</label>
+ <onclick>RunAddon(os.openelec.settings)</onclick>
+ </control>
<control type="button" id="90123">
<include>ButtonHomeSubCommonValues</include>
<label>7</label>

View File

@ -1,62 +0,0 @@
From 3e1367b680b26123e9e1aa09f8caf2a932d47572 Mon Sep 17 00:00:00 2001
From: Lars Op den Kamp <lars@opdenkamp.eu>
Date: Tue, 17 Apr 2012 01:57:43 +0200
Subject: [PATCH 2/2] cec: libCEC 1.6 support and fixes. libCEC 1.6+ is needed
when using firmware v2 on the CEC adapter, which adds
wake over CEC * added a new setting to control
whether to put the TV in standby when the player is put
in standby. * added some button mappings: all menu
related buttons -> menu, previous channel -> teletext,
added support for the channels list on samsung, mapped
next fav -> menu (when available) * display the
firmware version in the peripheral manager (if
available) * handle the new CEC alert callback
(libCEC 1.6+) * replaced 'Put this PC in standby mode
when the TV is switched off' with an enum that allows
the user to chose between 'Ignore', 'Suspend' and
'Shutdown' * fixed - crash when changing settings
without libCEC started. * fixed - range of wake and
power-off devices * fixed - update the correct
standby device setting ('standby_devices' not
'wake_devices') * fixed - don't get the settings from
the eeprom, but always use the settings provided in
xbmc
---
.../720p/DialogPeripheralManager.xml | 4 +-
configure.in | 2 +-
language/English/strings.xml | 5 +-
project/BuildDependencies/scripts/libcec_d.txt | 2 +-
system/peripherals.xml | 15 +-
tools/darwin/depends/libcec/Makefile | 2 +-
xbmc/peripherals/bus/PeripheralBus.cpp | 1 +
xbmc/peripherals/devices/Peripheral.h | 2 +
xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 160 ++++++++++++++++----
xbmc/peripherals/devices/PeripheralCecAdapter.h | 4 +
10 files changed, 152 insertions(+), 45 deletions(-)
diff --git a/720p/DialogPeripheralManager.xml b/720p/DialogPeripheralManager.xml
index 07954d0..5717017 100644
--- a/720p/DialogPeripheralManager.xml
+++ b/720p/DialogPeripheralManager.xml
@@ -117,7 +117,7 @@
<posy>50</posy>
<width>520</width>
<height>20</height>
- <label>$LOCALIZE[35501]: [COLOR=grey2]$INFO[ListItem.Property(Class)][/COLOR]</label>
+ <label>$LOCALIZE[35501]: [COLOR=grey2]$INFO[ListItem.Property(Class)][/COLOR] $LOCALIZE[19114]: [COLOR=grey2]$INFO[ListItem.Property(Version)][/COLOR]</label>
<align>left</align>
<aligny>center</aligny>
<font>font12</font>
@@ -173,7 +173,7 @@
<posy>50</posy>
<width>520</width>
<height>20</height>
- <label>$LOCALIZE[35501]: [COLOR=grey2]$INFO[ListItem.Property(Class)][/COLOR]</label>
+ <label>$LOCALIZE[35501]: [COLOR=grey2]$INFO[ListItem.Property(Class)][/COLOR] $LOCALIZE[19114]: [COLOR=grey2]$INFO[ListItem.Property(Version)][/COLOR]</label>
<align>left</align>
<aligny>center</aligny>
<font>font12</font>
--
1.7.5.4

View File

@ -22,6 +22,9 @@
. config/options $1
# disable build of GOOM until its fixed
XBMC_VIS_GOOM="no"
if [ "$DISPLAYSERVER" = "xorg-server" ]; then
XBMC_XORG="--enable-x11 --enable-xrandr"
else
@ -40,6 +43,12 @@ else
XBMC_OPENGLES="--disable-gles"
fi
if [ "$SDL_SUPPORT" = yes ]; then
XBMC_SDL="--enable-sdl"
else
XBMC_SDL="--disable-sdl"
fi
if [ "$XBMC_SCR_RSXS" = yes ]; then
XBMC_RSXS="--enable-rsxs"
# fix build of RSXS Screensaver support if not using libiconv
@ -62,6 +71,12 @@ else
XBMC_GOOM="--disable-goom"
fi
if [ "$ALSA_SUPPORT" = yes ]; then
XBMC_ALSA="--enable-alsa"
else
XBMC_ALSA="--disable-alsa"
fi
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
XBMC_PULSEAUDIO="--enable-pulse"
else
@ -70,6 +85,9 @@ fi
if [ "$CEC_SUPPORT" = yes ]; then
XBMC_CEC="--enable-libcec"
if [ "$OPENMAX" = "bcm2835-driver" ]; then
XBMC_CEC="$XBMC_CEC --enable-rpi-cec-api"
fi
else
XBMC_CEC="--disable-libcec"
fi
@ -104,6 +122,18 @@ else
XBMC_DVDCSS="--disable-dvdcss"
fi
if [ "$ENCODER_LAME" = yes ]; then
XBMC_LAMEENC="--enable-libmp3lame"
else
XBMC_LAMEENC="--disable-libmp3lame"
fi
if [ "$ENCODER_VORBIS" = yes ]; then
XBMC_VORBISENC="--enable-libvorbisenc"
else
XBMC_VORBISENC="--disable-libvorbisenc"
fi
if [ "$BLURAY_SUPPORT" = yes ]; then
XBMC_BLURAY="--enable-libbluray"
else
@ -141,6 +171,18 @@ else
XBMC_WEBSERVER="--disable-webserver"
fi
if [ "$OPENMAX_SUPPORT" = yes ]; then
XBMC_OPENMAX="--enable-openmax"
if [ "$OPENMAX" = "bcm2835-driver" ]; then
XBMC_PLATFORM_SUPPORT="--with-platform=raspberry-pi"
XBMC_PLAYER="--enable-player=omxplayer"
CFLAGS="$CFLAGS -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/"
CXXFLAGS="$CXXFLAGS -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/"
fi
else
XBMC_OPENMAX="--disable-openmax"
fi
if [ "$VDPAU" = yes ]; then
XBMC_VDPAU="--enable-vdpau"
else
@ -172,7 +214,7 @@ fi
LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"`
# dont build parallel
# MAKEFLAGS=-j1
MAKEFLAGS=-j1
export PYTHON_VERSION="2.7"
export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION"
@ -217,13 +259,14 @@ cd $PKG_BUILD
--disable-optimizations \
$XBMC_OPENGL \
$XBMC_OPENGLES \
$XBMC_SDL \
$XBMC_OPENMAX \
$XBMC_VDPAU \
$XBMC_VAAPI \
$XBMC_CRYSTALHD \
$XBMC_XVBA \
--disable-vdadecoder \
--disable-vtbdecoder \
--disable-openmax \
--disable-tegra \
--disable-profiling \
$XBMC_JOYSTICK \
@ -235,13 +278,15 @@ cd $PKG_BUILD
$XBMC_PROJECTM \
$XBMC_XORG \
--disable-ccache \
$XBMC_ALSA \
$XBMC_PULSEAUDIO \
--enable-rtmp \
$XBMC_SAMBA \
$XBMC_NFS \
$XBMC_AFP \
$XBMC_VORBISENC \
--enable-ffmpeg-libvorbis \
--enable-lame \
$XBMC_LAMEENC \
$XBMC_DVDCSS \
--disable-mid \
--disable-hal \
@ -256,6 +301,8 @@ cd $PKG_BUILD
--enable-texturepacker --with-texturepacker-root="$ROOT/$TOOLCHAIN" \
--disable-external-libraries \
--enable-external-ffmpeg \
$XBMC_PLATFORM_SUPPORT \
$XBMC_PLAYER \
# setup default skin inside the sources
sed -i -e "s|skin.confluence|$SKIN_DIR|g" xbmc/settings/Settings.h

View File

@ -41,12 +41,12 @@ cd $PKG_BUILD
find system addons \
-regextype posix-extended -type f \
-not -iregex ".*svn.*|.*win32(dx)?\.vis|.*osx\.vis" \
-iregex ".*-linux.*|.*\.vis|.*\.xbs" \
-iregex ".*-linux.*|.*-arm.*|.*\.vis|.*\.xbs" \
-exec install -D "{}" $ROOT/$INSTALL/usr/lib/xbmc/"{}" ";"
find addons language media sounds userdata system \
-regextype posix-extended -type f \
-not -iregex ".*-linux.*|.*\.vis|.*\.xbs|.*svn.*|.*\.orig|.*\.so|.*\.dll|.*\.pyd|.*python|.*\.zlib|.*\.conf" \
-not -iregex ".*-linux.*|.*-arm.*|.*\.vis|.*\.xbs|.*svn.*|.*\.orig|.*\.so|.*\.dll|.*\.pyd|.*python|.*\.zlib|.*\.conf" \
-exec install -D -m 0644 "{}" $ROOT/$INSTALL/usr/share/xbmc/"{}" ";"
cd -

View File

@ -19,14 +19,14 @@
################################################################################
PKG_NAME="xbmc"
PKG_VERSION="11.0.2"
PKG_VERSION="17c1439"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.xbmc.org"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS="boost Python zlib bzip2 systemd pcre ffmpeg alsa-lib libass curl libssh rtmpdump fontconfig tinyxml freetype libmad libogg libvorbis libmodplug faad2 flac lame libmpeg2 SDL SDL_mixer SDL_image yajl sqlite alsa bc xbmc-addon-settings"
PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 systemd lzo pcre alsa-lib ffmpeg libass enca curl libssh rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libvorbis libcdio libmodplug faad2 flac lame libmpeg2 SDL SDL_mixer SDL_image yajl sqlite mysql"
PKG_DEPENDS="boost Python zlib bzip2 systemd pcre ffmpeg libass curl libssh rtmpdump fontconfig tinyxml freetype libmad libogg libmodplug faad2 flac libmpeg2 taglib yajl sqlite bc xbmc-addon-settings"
PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 systemd lzo pcre swig ffmpeg libass enca curl libssh rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 taglib yajl sqlite mysql"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"
PKG_SHORTDESC="xbmc: XBMC Mediacenter"
@ -43,8 +43,9 @@ PKG_AUTORECONF="no"
PKG_DEPENDS="$PKG_DEPENDS simplejson"
# various PVR clients
PKG_DEPENDS="$PKG_DEPENDS xbmc-addon-xvdr xbmc-addon-njoy"
PKG_DEPENDS="$PKG_DEPENDS xbmc-addon-xvdr xbmc-addon-vuplus"
PKG_DEPENDS="$PKG_DEPENDS xbmc-pvr-addons"
PKG_DEPENDS="$PKG_DEPENDS xbmc-addon-vuplus"
PKG_DEPENDS="$PKG_DEPENDS xbmc-addon-xvdr"
if [ "$DISPLAYSERVER" = "xorg-server" ]; then
# for libX11 support
@ -54,6 +55,10 @@ if [ "$DISPLAYSERVER" = "xorg-server" ]; then
# for libXrandr support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXrandr"
PKG_DEPENDS="$PKG_DEPENDS libXrandr"
# for SDL support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS SDL SDL_image"
PKG_DEPENDS="$PKG_DEPENDS SDL SDL_image"
fi
if [ "$OPENGL_SUPPORT" = yes ]; then
@ -72,6 +77,11 @@ fi
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS dbus"
PKG_DEPENDS="$PKG_DEPENDS dbus"
if [ "$ALSA_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS alsa-lib"
PKG_DEPENDS="$PKG_DEPENDS alsa alsa-lib"
fi
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS pulseaudio"
PKG_DEPENDS="$PKG_DEPENDS pulseaudio"
@ -92,6 +102,16 @@ if [ "$FAAC_SUPPORT" = yes ]; then
PKG_DEPENDS="$PKG_DEPENDS faac"
fi
if [ "$ENCODER_LAME" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS lame"
PKG_DEPENDS="$PKG_DEPENDS lame"
fi
if [ "$ENCODER_VORBIS" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libvorbis"
PKG_DEPENDS="$PKG_DEPENDS libvorbis"
fi
if [ "$BLURAY_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libbluray"
PKG_DEPENDS="$PKG_DEPENDS libbluray"
@ -131,6 +151,11 @@ if [ "$WEBSERVER" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libmicrohttpd"
fi
if [ "$OPENMAX_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS $OPENMAX"
PKG_DEPENDS="$PKG_DEPENDS $OPENMAX"
fi
if [ "$VDPAU" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libvdpau"
PKG_DEPENDS="$PKG_DEPENDS libvdpau"

View File

@ -20,7 +20,6 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
for i in `ls xbmc-*.patch`; do
mv $i `echo $i | sed "s,$1,$2,g"`
done

View File

@ -1,39 +0,0 @@
diff -Naur xbmc-9389dc8/configure.in xbmc-9389dc8.patch/configure.in
--- xbmc-9389dc8/configure.in 2011-09-01 17:21:47.000000000 +0200
+++ xbmc-9389dc8.patch/configure.in 2011-09-01 23:30:40.419399392 +0200
@@ -428,6 +428,14 @@
esac
AC_SUBST([ARCH])
+AC_CHECK_PROG(HAVE_GIT,git,"yes","no",)
+if test "$HAVE_GIT" = "yes" -a "$GIT_REV" = ""; then
+ GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}')
+elif test "$GIT_REV" = ""; then
+ GIT_REV="Unknown"
+fi
+final_message="$final_message\n git Rev.:\t${GIT_REV}"
+
# platform debug flags
if test "$use_debug" = "yes"; then
final_message="$final_message\n Debugging:\tYes"
@@ -1177,7 +1185,6 @@
fi
fi
-AC_CHECK_PROG(HAVE_GIT,git,"yes","no",)
# Checks for header files.
AC_HEADER_DIRENT
@@ -1408,12 +1415,6 @@
final_message="$final_message\n Avahi:\tNo"
fi
-if test "$HAVE_GIT" = "yes"; then
- GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}')
-fi
-if test "$GIT_REV" = ""; then
- GIT_REV="Unknown"
-fi
if test "$host_vendor" = "apple"; then
echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h
else

View File

@ -1,119 +0,0 @@
diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdcss/src/libdvdcss.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdcss/src/libdvdcss.pc.in
--- xbmc-pvr-3513480/lib/libdvd/libdvdcss/src/libdvdcss.pc.in 2011-04-25 02:36:42.000000000 +0200
+++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdcss/src/libdvdcss.pc.in 2011-04-25 05:01:20.091837122 +0200
@@ -6,5 +6,5 @@
Name: libdvdcss
Description: DVD access and decryption library.
Version: @VERSION@
-Libs: -L${libdir} -ldvdcss
-Cflags: -I{includedir} -I${includedir}/@PACKAGE@
+Libs: -ldvdcss
+Cflags: -I.
diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh
--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh 2011-04-25 02:36:42.000000000 +0200
+++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh 2011-04-25 05:01:20.549828701 +0200
@@ -56,17 +56,17 @@
fi
if test "$echo_cflags" = "yes"; then
- echo -I$prefix/include $dvdread_cflags $extracflags $threadcflags
+ echo $dvdread_cflags $extracflags $threadcflags
fi
if test "$echo_minicflags" = "yes"; then
- echo -I$prefix/include -I$prefix/include/dvdnav $extracflags $threadcflags
+ echo $extracflags $threadcflags
fi
if test "$echo_libs" = "yes"; then
- echo -L$libdir -ldvdnav $dvdread_libs $threadlib
+ echo -ldvdnav $dvdread_libs $threadlib
fi
if test "$echo_minilibs" = "yes"; then
- echo -L$libdir -ldvdnavmini $threadlib
+ echo -ldvdnavmini $threadlib
fi
diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config.in
--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config.in 2011-04-25 02:36:42.000000000 +0200
+++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config.in 2011-04-25 05:01:20.624827321 +0200
@@ -76,13 +76,13 @@
fi
if test "$echo_cflags" = "yes"; then
- echo -I@includedir@ -I@includedir@/libdvdread @THREAD_CFLAGS@
+ echo @THREAD_CFLAGS@
fi
if test "$echo_libs" = "yes"; then
- echo -L@libdir@ -ldvdnav -ldvdread @THREAD_LIBS@
+ echo -ldvdnav -ldvdread @THREAD_LIBS@
fi
if test "$echo_minilibs" = "yes"; then
- echo -L@libdir@ -ldvdnavmini @THREAD_LIBS@
+ echo -ldvdnavmini @THREAD_LIBS@
fi
diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in
--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2011-04-25 02:36:42.000000000 +0200
+++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2011-04-25 05:01:21.042819641 +0200
@@ -7,5 +7,5 @@
Description: DVD Navigation mini library
Version: @VERSION@
-Cflags: -I${includedir} @DVDREAD_CFLAGS@ @THREAD_CFLAGS@
-Libs: -L${libdir} -ldvdnav @THREAD_LIBS@
+Cflags: @DVDREAD_CFLAGS@ @THREAD_CFLAGS@
+Libs: -ldvdnav @THREAD_LIBS@
diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav.pc.in
--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav.pc.in 2011-04-25 02:36:42.000000000 +0200
+++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav.pc.in 2011-04-25 05:01:21.262815601 +0200
@@ -8,5 +8,5 @@
Version: @VERSION@
Requires.private: dvdread >= 4.1.2
-Cflags: -I${includedir} @THREAD_CFLAGS@
-Libs: -L${libdir} -ldvdnav @THREAD_LIBS@
+Cflags: @THREAD_CFLAGS@
+Libs: -ldvdnav @THREAD_LIBS@
diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.in
--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.in 2011-04-25 02:36:42.000000000 +0200
+++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.in 2011-04-25 05:01:21.278815307 +0200
@@ -72,9 +72,9 @@
fi
if test "$echo_cflags" = "yes"; then
- echo -I@includedir@
+ echo ""
fi
if test "$echo_libs" = "yes"; then
- echo -L@libdir@ -ldvdread
+ echo -ldvdread
fi
diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.sh xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.sh
--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.sh 2011-04-25 02:36:42.000000000 +0200
+++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.sh 2011-04-25 05:01:21.278815307 +0200
@@ -48,9 +48,9 @@
fi
if test "$echo_cflags" = "yes"; then
- echo -I$prefix/include $extracflags
+ echo $extracflags
fi
if test "$echo_libs" = "yes"; then
- echo -L$libdir $dvdreadlib
+ echo $dvdreadlib
fi
diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread.pc.in
--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread.pc.in 2011-04-25 02:36:42.000000000 +0200
+++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread.pc.in 2011-04-25 05:01:21.279815289 +0200
@@ -7,5 +7,5 @@
Description: Low level DVD access library
Version: @VERSION@
-Cflags: -I${includedir}
-Libs: -L${libdir} -ldvdread
+Cflags: -I.
+Libs: -ldvdread

View File

@ -1,12 +0,0 @@
diff -Naur xbmc-dab646e/xbmc/screensavers/rsxs-0.9/lib/argp-namefrob.h xbmc-dab646e.patch/xbmc/screensavers/rsxs-0.9/lib/argp-namefrob.h
--- xbmc-dab646e/xbmc/screensavers/rsxs-0.9/lib/argp-namefrob.h 2011-09-27 15:56:19.000000000 +0200
+++ xbmc-dab646e.patch/xbmc/screensavers/rsxs-0.9/lib/argp-namefrob.h 2011-10-16 02:13:13.805433847 +0200
@@ -17,7 +17,7 @@
with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#if !_LIBC
+#if 0
/* This code is written for inclusion in gnu-libc, and uses names in the
namespace reserved for libc. If we're not compiling in libc, define those
names to be the normal ones instead. */

View File

@ -1,199 +0,0 @@
diff -Naur xbmc-pvr-11.0.1/configure.in xbmc-pvr-11.0.1.patch/configure.in
--- xbmc-pvr-11.0.1/configure.in 2012-03-27 17:55:54.000000000 +0200
+++ xbmc-pvr-11.0.1.patch/configure.in 2012-06-19 04:44:55.985036378 +0200
@@ -385,6 +385,12 @@
[use_texturepacker=$enableval],
[use_texturepacker=auto])
+AC_ARG_WITH([texturepacker-root],
+ [AS_HELP_STRING([--with-texturepacker-root],
+ [root dir to search for librarys and includes if building native TexturePacker (default is \$prefix)])],
+ [use_texturepacker_root=$withval],
+ [use_texturepacker_root=$prefix])
+
AC_ARG_WITH([lirc-device],
[AS_HELP_STRING([--with-lirc-device=file],
[specify the default LIRC device (default is /dev/lircd)])],
@@ -466,8 +472,7 @@
use_cpu=cortex-a8
check_sdl_arch=[`file /opt/local/lib/libSDL_image.dylib | awk '{V=7; print $V}'`]
if test "x$check_sdl_arch" = "xi386"; then
- use_texturepacker_native=yes
- USE_TEXTUREPACKER_NATIVE_ROOT="/opt/local"
+ use_texturepacker_root="/opt/local"
else
use_texturepacker=no
fi
@@ -484,8 +489,6 @@
*86-apple-darwin*)
use_joystick=no
use_vtbdecoder=no
- use_texturepacker_native=yes
- USE_TEXTUREPACKER_NATIVE_ROOT="$prefix"
ARCH="x86-osx"
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
;;
@@ -1649,17 +1652,17 @@
USE_TEXTUREPACKER_NATIVE=0
if test "x$use_texturepacker" != "xno"; then
- final_message="$final_message\n TexturePacker:Yes"
- USE_TEXTUREPACKER=1
- if test "x$use_texturepacker_native" = "xyes"; then
+ if test "x$cross_compiling" = "xyes"; then
USE_TEXTUREPACKER_NATIVE=1
- if [[ ! -d "$USE_TEXTUREPACKER_NATIVE_ROOT" ]]; then
- USE_TEXTUREPACKER_NATIVE_ROOT=
- fi
+ USE_TEXTUREPACKER_NATIVE_ROOT="$use_texturepacker_root"
+ final_message="$final_message\n TexturePacker:Native ($USE_TEXTUREPACKER_NATIVE_ROOT)"
+ else
+ USE_TEXTUREPACKER=1
+ final_message="$final_message\n TexturePacker:Yes"
fi
else
- final_message="$final_message\n TexturePacker:No"
USE_TEXTUREPACKER=0
+ final_message="$final_message\n TexturePacker:No"
fi
if test "$use_mid" = "yes"; then
diff -Naur xbmc-pvr-11.0.1/lib/libsquish/Makefile.in xbmc-pvr-11.0.1.patch/lib/libsquish/Makefile.in
--- xbmc-pvr-11.0.1/lib/libsquish/Makefile.in 2012-03-27 17:55:41.000000000 +0200
+++ xbmc-pvr-11.0.1.patch/lib/libsquish/Makefile.in 2012-06-19 02:45:32.926185206 +0200
@@ -1,6 +1,6 @@
ARCH=@ARCH@
-SRCS= \
+SRCS = \
alpha.cpp \
clusterfit.cpp \
colourblock.cpp \
@@ -11,27 +11,30 @@
singlecolourfit.cpp \
squish.cpp
-CXXFLAGS+=-I.
+LIB = libsquish.a
+NATIVE_LIB = libsquish-native.so
+CLEAN_FILES += $(NATIVE_LIB)
+
+HOST_CXX ?= g++
+CXXFLAGS += -I.
+HOST_CXXFLAGS += -I.
+
ifeq ($(findstring powerpc,$(ARCH)),powerpc)
- CXXFLAGS+=-DSQUISH_USE_ALTIVEC=1 -maltivec
+ CXXFLAGS += -DSQUISH_USE_ALTIVEC=1 -maltivec
+ HOST_CXXFLAGS += -DSQUISH_USE_ALTIVEC=1 -maltivec
else ifeq ($(findstring x86,$(ARCH)), x86)
- CXXFLAGS+=-DSQUISH_USE_SSE=2 -msse2
+ CXXFLAGS += -DSQUISH_USE_SSE=2 -msse2
+ HOST_CXXFLAGS += -DSQUISH_USE_SSE=2 -msse2
endif
-LIB=libsquish.a
-
-ifeq (@USE_TEXTUREPACKER_NATIVE@,1)
-NATIVE_LIB=libsquish-native.so
-CLEAN_FILES+=$(NATIVE_LIB)
+$(LIB): $(SRCS)
-all: $(LIB) $(NATIVE_LIB)
# TexturePacker links to libsquish and needs to run on build system, so make a native flavor.
$(NATIVE_LIB): $(SRCS)
ifeq ($(findstring osx,$(ARCH)),osx)
- g++ -m32 -DSQUISH_USE_SSE=2 -msse2 -I. $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@
+ $(HOST_CXX) -m32 $(HOST_CXXFLAGS) $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@
else
- g++ -DSQUISH_USE_SSE=2 -msse2 -I. $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@
-endif
+ $(HOST_CXX) $(HOST_CXXFLAGS) $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@
endif
include ../../Makefile.include
diff -Naur xbmc-pvr-11.0.1/tools/TexturePacker/Makefile.in xbmc-pvr-11.0.1.patch/tools/TexturePacker/Makefile.in
--- xbmc-pvr-11.0.1/tools/TexturePacker/Makefile.in 2012-03-27 17:55:51.000000000 +0200
+++ xbmc-pvr-11.0.1.patch/tools/TexturePacker/Makefile.in 2012-06-19 04:47:54.700638167 +0200
@@ -1,47 +1,52 @@
-DEFINES += -D_LINUX -DUSE_LZO_PACKING
+DEFINES += -D_LINUX -DUSE_LZO_PACKING
ifneq ($(or $(findstring powerpc,@ARCH@),$(findstring ppc, @ARCH@)),)
-DEFINES += -DHOST_BIGENDIAN
+DEFINES += -DHOST_BIGENDIAN
endif
-CXXFLAGS+= \
- -I. \
- -I@abs_top_srcdir@/lib \
- -I@abs_top_srcdir@/xbmc \
- -I@abs_top_srcdir@/xbmc/linux
-
-ifeq (@USE_TEXTUREPACKER_NATIVE@,1)
-NATIVE_ROOT_PATH=@USE_TEXTUREPACKER_NATIVE_ROOT@
-ifdef NATIVE_ROOT_PATH
-ifeq ($(findstring osx,@ARCH@),osx)
-CXXFLAGS+= -m32
-endif
-CXXFLAGS+= -I$(NATIVE_ROOT_PATH)/include
-LIBS += -L$(NATIVE_ROOT_PATH)/lib
-endif
-LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish-native
-else
-LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish
-endif
-
-LIBS += -lSDL_image -lSDL -llzo2
-
-SRCS = \
+SRCS = \
md5.cpp \
SDL_anigif.cpp \
XBTFWriter.cpp \
XBMCTex.cpp \
@abs_top_srcdir@/xbmc/guilib/XBTF.cpp
-
-TARGET = TexturePacker
-CLEAN_FILES=$(TARGET)
+TARGET = TexturePacker
+CLEAN_FILES = $(TARGET)
all: $(TARGET)
+HOST_CXX ?= g++
+HOST_ROOT_PATH = @USE_TEXTUREPACKER_NATIVE_ROOT@
+
+LIBS += -lSDL_image -lSDL -llzo2
+LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish
+HOST_LIBS += -L$(HOST_ROOT_PATH)/lib -lSDL_image -lSDL -llzo2
+HOST_LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish-native
+
+CXXFLAGS += \
+ -I. \
+ -I@abs_top_srcdir@/lib \
+ -I@abs_top_srcdir@/xbmc \
+ -I@abs_top_srcdir@/xbmc/linux
+
+HOST_CXXFLAGS += \
+ -I. \
+ -I@abs_top_srcdir@/lib \
+ -I@abs_top_srcdir@/xbmc \
+ -I@abs_top_srcdir@/xbmc/linux \
+ -I$(HOST_ROOT_PATH)/include
+
+ifeq ($(findstring osx,@ARCH@),osx)
+CXXFLAGS += -m32
+HOST_CXXFLAGS += -m32
+endif
+
ifeq (@USE_TEXTUREPACKER_NATIVE@,1)
# TexturePacker run native on build system, build it with native tools
$(TARGET): $(SRCS)
- g++ $(DEFINES) $(CXXFLAGS) $(SRCS) $(LIBS) -o $(TARGET)
+ make -C @abs_top_srcdir@/lib/libsquish libsquish-native.so
+ $(HOST_CXX) $(DEFINES) $(HOST_CXXFLAGS) $(SRCS) $(HOST_LIBS) -o $(TARGET)
+
clean:
rm -f $(TARGET)
else

View File

@ -1,13 +0,0 @@
diff -Naur xbmc-10.1-Dharma/xbmc/Application.cpp xbmc-10.1-Dharma.patch/xbmc/Application.cpp
--- xbmc-10.1-Dharma/xbmc/Application.cpp 2011-03-08 02:49:14.000000000 +0100
+++ xbmc-10.1-Dharma.patch/xbmc/Application.cpp 2011-05-06 01:41:52.853741840 +0200
@@ -2515,8 +2515,8 @@
if (!m_pPlayer->IsPaused())
{ // unpaused - set the playspeed back to normal
SetPlaySpeed(1);
+ g_audioManager.Enable(m_pPlayer->IsPaused() && !g_audioContext.IsPassthroughActive());
}
- g_audioManager.Enable(m_pPlayer->IsPaused() && !g_audioContext.IsPassthroughActive());
return true;
}
if (!m_pPlayer->IsPaused())

View File

@ -1,21 +0,0 @@
diff -Naur xbmc-pvr-3513480/configure.in xbmc-pvr-3513480.patch/configure.in
--- xbmc-pvr-3513480/configure.in 2011-04-25 02:36:33.000000000 +0200
+++ xbmc-pvr-3513480.patch/configure.in 2011-04-25 05:14:49.220848143 +0200
@@ -885,6 +885,9 @@
AC_MSG_NOTICE($external_ffmpeg_disabled)
USE_EXTERNAL_FFMPEG=0
AC_DEFINE([PIX_FMT_VDPAU_MPEG4_IN_AVUTIL], [1], [Whether AVUtil defines PIX_FMT_VDPAU_MPEG4.])
+
+ # check for yasm
+ AC_CHECK_PROG(HAVE_YASM,yasm,"yes","no",)
fi
# Python
@@ -1547,6 +1550,7 @@
`if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\
`if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\
--target-os=$(tolower $(uname -s)) \
+ `if test "$HAVE_YASM" = "yes"; then echo --enable-yasm; fi` \
--disable-muxers \
--enable-muxer=spdif \
--enable-muxer=adts \

View File

@ -1,125 +0,0 @@
diff -Naur xbmc-pvr-3513480/configure.in xbmc-pvr-3513480.patch/configure.in
--- xbmc-pvr-3513480/configure.in 2011-04-25 05:46:35.000000000 +0200
+++ xbmc-pvr-3513480.patch/configure.in 2011-04-25 05:50:02.982401390 +0200
@@ -72,6 +72,8 @@
rsxs_disabled="== RSXS disabled. =="
pulse_not_found="== Could not find libpulse. PulseAudio support disabled. =="
pulse_disabled="== PulseAudio support manually disabled. =="
+lame_not_found="== Could not find libmp3lame. LAME support disabled. =="
+lame_disabled="== LAME support manually disabled. =="
dvdcss_enabled="== DVDCSS support enabled. =="
dvdcss_disabled="== DVDCSS support disabled. =="
hal_not_found="== Could not find hal. HAL support disabled. =="
@@ -244,6 +246,12 @@
[use_ffmpeg_libvorbis=$enableval],
[use_ffmpeg_libvorbis=no])
+AC_ARG_ENABLE([lame],
+ [AS_HELP_STRING([--enable-lame],
+ [enable lame support (default is yes)])],
+ [use_lame=$enableval],
+ [use_lame=yes])
+
AC_ARG_ENABLE([dvdcss],
[AS_HELP_STRING([--enable-dvdcss],
[enable DVDCSS support (default is yes)])],
@@ -758,6 +766,20 @@
USE_PULSE=0
fi
+# LAME
+if test "$use_lame" = "yes"; then
+ AC_CHECK_LIB([mp3lame], [main],
+ AC_DEFINE([HAVE_LIBMP3LAME], [1], [Define to 1 if you have the 'libmp3lame' library (-lmp3lame).]),
+ use_lame=no;AC_MSG_RESULT($lame_not_found))
+else
+ AC_MSG_RESULT($lame_disabled)
+fi
+if test "$use_lame" = "yes"; then
+ AC_SUBST([HAVE_LIBMP3LAME], 1)
+else
+ AC_SUBST([HAVE_LIBMP3LAME], 0)
+fi
+
# HAL
if test "$host_vendor" = "apple" ; then
use_hal="no"
@@ -1311,6 +1333,12 @@
final_message="$final_message\n HAL Support:\tNo"
fi
+if test "$use_lame" = "yes"; then
+ final_message="$final_message\n LAME:\t\tYes"
+else
+ final_message="$final_message\n LAME:\t\tNo"
+fi
+
# DVDCSS
if test "$use_dvdcss" = "yes"; then
AC_MSG_NOTICE($dvdcss_enabled)
diff -Naur xbmc-pvr-3513480/configure.in.orig xbmc-pvr-3513480.patch/configure.in.orig
diff -Naur xbmc-pvr-3513480/Makefile.in.orig xbmc-pvr-3513480.patch/Makefile.in.orig
diff -Naur xbmc-pvr-3513480/xbmc/cdrip/CDDARipper.cpp xbmc-pvr-3513480.patch/xbmc/cdrip/CDDARipper.cpp
--- xbmc-pvr-3513480/xbmc/cdrip/CDDARipper.cpp 2011-04-25 02:36:33.000000000 +0200
+++ xbmc-pvr-3513480.patch/xbmc/cdrip/CDDARipper.cpp 2011-04-25 05:48:10.487548571 +0200
@@ -27,7 +27,11 @@
#include "CDDAReader.h"
#include "utils/StringUtils.h"
#include "Util.h"
+
+#ifdef HAVE_LIBMP3LAME
#include "EncoderLame.h"
+#endif
+
#include "EncoderWav.h"
#include "EncoderVorbis.h"
#include "EncoderFFmpeg.h"
@@ -78,9 +82,16 @@
case CDDARIP_ENCODER_FLAC:
m_pEncoder = new CEncoderFlac();
break;
- default:
+#ifdef HAVE_LIBMP3LAME
+ case CDDARIP_ENCODER_LAME:
m_pEncoder = new CEncoderLame();
break;
+#else
+ default:
+ CLog::Log(LOGERROR,"invalid encoder selected");
+ return false;
+ break;
+#endif
}
// we have to set the tags before we init the Encoder
diff -Naur xbmc-pvr-3513480/xbmc/cdrip/Makefile.in xbmc-pvr-3513480.patch/xbmc/cdrip/Makefile.in
--- xbmc-pvr-3513480/xbmc/cdrip/Makefile.in 2011-04-25 02:36:33.000000000 +0200
+++ xbmc-pvr-3513480.patch/xbmc/cdrip/Makefile.in 2011-04-25 05:51:13.013064387 +0200
@@ -3,10 +3,13 @@
Encoder.cpp \
EncoderFFmpeg.cpp \
EncoderFlac.cpp \
- EncoderLame.cpp \
EncoderVorbis.cpp \
EncoderWav.cpp \
+ifeq (@HAVE_LIBMP3LAME@,1)
+ SRCS+=EncoderLame.cpp
+endif
+
LIB=cdrip.a
include @abs_top_srcdir@/Makefile.include
diff -Naur xbmc-pvr-3513480/xbmc/settings/GUISettings.cpp xbmc-pvr-3513480.patch/xbmc/settings/GUISettings.cpp
--- xbmc-pvr-3513480/xbmc/settings/GUISettings.cpp 2011-04-25 05:47:12.000000000 +0200
+++ xbmc-pvr-3513480.patch/xbmc/settings/GUISettings.cpp 2011-04-25 05:48:47.956833472 +0200
@@ -324,7 +324,9 @@
AddPath(acd,"audiocds.recordingpath",20000,"select writable folder",BUTTON_CONTROL_PATH_INPUT,false,657);
AddString(acd, "audiocds.trackpathformat", 13307, "%A - %B/[%N. ][%A - ]%T", EDIT_CONTROL_INPUT, false, 16016);
map<int,int> encoders;
+#ifdef HAVE_LIBMP3LAME
encoders.insert(make_pair(34000,CDDARIP_ENCODER_LAME));
+#endif
encoders.insert(make_pair(34001,CDDARIP_ENCODER_VORBIS));
encoders.insert(make_pair(34002,CDDARIP_ENCODER_WAV));
encoders.insert(make_pair(34005,CDDARIP_ENCODER_FLAC));

View File

@ -1,18 +0,0 @@
diff -Naur xbmc-a3c804b/xbmc/interfaces/python/XBPython.cpp xbmc-a3c804b.patch/xbmc/interfaces/python/XBPython.cpp
--- xbmc-a3c804b/xbmc/interfaces/python/XBPython.cpp 2011-08-17 23:40:00.000000000 +0200
+++ xbmc-a3c804b.patch/xbmc/interfaces/python/XBPython.cpp 2011-08-18 03:50:49.652475572 +0200
@@ -335,11 +335,9 @@
// at http://docs.python.org/using/cmdline.html#environment-variables
#if !defined(_WIN32)
- /* PYTHONOPTIMIZE is set off intentionally when using external Python.
- Reason for this is because we cannot be sure what version of Python
- was used to compile the various Python object files (i.e. .pyo,
- .pyc, etc.). */
- // check if we are running as real xbmc.app or just binary
+ // Required for python to find optimized code (pyo) files
+ setenv("PYTHONOPTIMIZE", "1", 1);
+ // check if we are running as real xbmc.app or just binary
if (!CUtil::GetFrameworksPath(true).IsEmpty())
{
// using external python, it's build looking for xxx/lib/python2.6

View File

@ -1,12 +0,0 @@
diff -Naur xbmc-pvr-3513480/userdata/LCD.xml xbmc-pvr-3513480.patch/userdata/LCD.xml
--- xbmc-pvr-3513480/userdata/LCD.xml 2011-04-25 02:36:33.000000000 +0200
+++ xbmc-pvr-3513480.patch/userdata/LCD.xml 2011-04-25 05:27:34.956125133 +0200
@@ -21,7 +21,7 @@
<line>Freemem: $INFO[System.FreeMemory]</line>
</video>
<general>
- <line>XBMC running...</line>
+ <line>*** OpenELEC ***</line>
<line>$INFO[System.Time] $INFO[System.Date]</line>
<line>Freemem: $INFO[System.FreeMemory]</line>
<line>$INFO[System.ScreenWidth]x$INFO[System.ScreenHeight] $INFO[System.ScreenMode]</line>

View File

@ -1,11 +0,0 @@
diff -Naur xbmc-10.1-Dharma/userdata/RssFeeds.xml xbmc-10.1-Dharma.patch/userdata/RssFeeds.xml
--- xbmc-10.1-Dharma/userdata/RssFeeds.xml 2011-03-08 02:49:24.000000000 +0100
+++ xbmc-10.1-Dharma.patch/userdata/RssFeeds.xml 2011-06-14 17:07:08.450880123 +0200
@@ -3,6 +3,7 @@
<!-- RSS feeds. To have multiple feeds, just add a feed to the set. You can also have multiple sets. !-->
<!-- To use different sets in your skin, each must be called from skin with a unique id. !-->
<set id="1">
+ <feed updateinterval="30">http://openelec.tv/news?format=feed&type=rss</feed>
<feed updateinterval="30">http://feeds.feedburner.com/xbmc</feed>
</set>
</rssfeeds>

View File

@ -1,12 +0,0 @@
diff -Naur xbmc-30a9070/system/keymaps/keyboard.xml xbmc-30a9070.patch/system/keymaps/keyboard.xml
--- xbmc-30a9070/system/keymaps/keyboard.xml 2011-07-28 06:20:13.000000000 +0200
+++ xbmc-30a9070.patch/system/keymaps/keyboard.xml 2011-07-28 09:39:57.210973380 +0200
@@ -90,7 +90,7 @@
<numpadseven>Number7</numpadseven>
<numpadeight>Number8</numpadeight>
<numpadnine>Number9</numpadnine>
- <backslash>ToggleFullScreen</backslash>
+ <!-- <backslash>ToggleFullScreen</backslash> -->
<home>FirstPage</home>
<end>LastPage</end>
<!-- Multimedia keyboard keys -->

View File

@ -1,15 +0,0 @@
diff -Naur xbmc-10.1-Dharma/xbmc/FileSystem/FileCurl.cpp xbmc-10.1-Dharma.patch/xbmc/FileSystem/FileCurl.cpp
--- xbmc-10.1-Dharma/xbmc/filesystem/FileCurl.cpp 2011-03-08 02:49:14.000000000 +0100
+++ xbmc-10.1-Dharma.patch/xbmc/filesystem/FileCurl.cpp 2011-10-17 19:21:04.180783870 +0200
@@ -803,9 +803,9 @@
// Detect whether we are "online" or not! Very simple and dirty!
bool CFileCurl::IsInternet(bool checkDNS /* = true */)
{
- CStdString strURL = "http://www.google.com";
+ CStdString strURL = "http://www.openelec.tv";
if (!checkDNS)
- strURL = "http://74.125.19.103"; // www.google.com ip
+ strURL = "http://212.101.13.10"; // www.openelec.tv ip
bool found = Exists(strURL);
Close();

View File

@ -1,71 +0,0 @@
diff -Naur xbmc-10.1-Dharma/system/Lircmap.xml xbmc-10.1-Dharma.patch/system/Lircmap.xml
--- xbmc-10.1-Dharma/system/Lircmap.xml 2011-06-18 01:43:43.132101246 +0200
+++ xbmc-10.1-Dharma.patch/system/Lircmap.xml 2011-06-18 01:44:53.777025290 +0200
@@ -365,7 +365,6 @@
<remote device="linux-input-layer">
<altname>cx23885_remote</altname>
- <altname>devinput</altname>
<left>KEY_LEFT</left>
<right>KEY_RIGHT</right>
<up>KEY_UP</up>
@@ -452,4 +451,59 @@
<mypictures>yellow</mypictures>
<myvideo>blue</myvideo>
</remote>
+
+ <remote device="devinput">
+ <left>KEY_LEFT</left>
+ <right>KEY_RIGHT</right>
+ <up>KEY_UP</up>
+ <down>KEY_DOWN</down>
+ <select>KEY_OK</select>
+ <enter>KEY_ENTER</enter>
+ <clear>KEY_DELETE</clear>
+ <start>KEY_PROG1</start>
+ <back>KEY_EXIT</back>
+ <record>KEY_RECORD</record>
+ <play>KEY_PLAY</play>
+ <pause>KEY_PAUSE</pause>
+ <stop>KEY_STOP</stop>
+ <forward>KEY_FASTFORWARD</forward>
+ <reverse>KEY_REWIND</reverse>
+ <volumeplus>KEY_VOLUMEUP</volumeplus>
+ <volumeminus>KEY_VOLUMEDOWN</volumeminus>
+ <channelplus>KEY_CHANNELUP</channelplus>
+ <channelminus>KEY_CHANNELDOWN</channelminus>
+ <skipplus>KEY_NEXT</skipplus>
+ <skipminus>KEY_PREVIOUS</skipminus>
+ <title>KEY_EPG</title>
+ <subtitle>KEY_SUBTITLE</subtitle>
+ <language>KEY_LANGUAGE</language>
+ <info>KEY_INFO</info>
+ <display>KEY_ZOOM</display>
+ <mute>KEY_MUTE</mute>
+ <power>KEY_POWER</power>
+ <eject>KEY_EJECT</eject>
+ <menu>KEY_DVD</menu>
+ <menu>KEY_MENU</menu>
+ <myvideo>KEY_VIDEO</myvideo>
+ <mymusic>KEY_AUDIO</mymusic>
+ <mypictures>KEY_CAMERA</mypictures>
+ <mytv>KEY_TUNER</mytv>
+ <teletext>KEY_TEXT</teletext>
+ <one>KEY_NUMERIC_1</one>
+ <two>KEY_NUMERIC_2</two>
+ <three>KEY_NUMERIC_3</three>
+ <four>KEY_NUMERIC_4</four>
+ <five>KEY_NUMERIC_5</five>
+ <six>KEY_NUMERIC_6</six>
+ <seven>KEY_NUMERIC_7</seven>
+ <eight>KEY_NUMERIC_8</eight>
+ <nine>KEY_NUMERIC_9</nine>
+ <zero>KEY_NUMERIC_0</zero>
+ <star>KEY_NUMERIC_STAR</star>
+ <hash>KEY_NUMERIC_POUND</hash>
+ <red>KEY_RED</red>
+ <green>KEY_GREEN</green>
+ <yellow>KEY_YELLOW</yellow>
+ <blue>KEY_BLUE</blue>
+ </remote>
</lircmap>

View File

@ -1,144 +0,0 @@
From ab72a555c5dd8585ac6e101d9f5966e25500867d Mon Sep 17 00:00:00 2001
From: Giftie <giftie61@hotmail.com>
Date: Thu, 5 Jan 2012 19:32:14 -0700
Subject: [PATCH] Updated auto cd rip modified:
language/English/strings.xml modified:
xbmc/cdrip/CDDARipper.cpp modified:
xbmc/settings/GUISettings.cpp modified:
xbmc/settings/GUISettings.h modified:
xbmc/storage/MediaManager.cpp modified: xbmc/Autorun.cpp
Author: Giftie <giftie61@hotmail.com>
Committer: Giftie <giftie61@hotmail.com>
---
language/English/strings.xml | 5 ++++-
xbmc/Autorun.cpp | 15 ++++++++++++---
xbmc/settings/GUISettings.cpp | 8 +++++++-
xbmc/settings/GUISettings.h | 5 +++++
xbmc/storage/MediaManager.cpp | 7 +++++--
5 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/language/English/strings.xml b/language/English/strings.xml
index ca2ac4d..ae22214 100644
--- a/language/English/strings.xml
+++ b/language/English/strings.xml
@@ -1344,7 +1344,7 @@
<string id="14082">Show EXIF picture information</string>
<string id="14083">Use a fullscreen window rather than true fullscreen</string>
<string id="14084">Queue songs on selection</string>
- <string id="14085">Play audio CDs automatically</string>
+ <string id="14085"></string>
<string id="14086">Playback</string>
<string id="14087">DVDs</string>
<string id="14088">Play DVDs automatically</string>
@@ -1355,6 +1355,9 @@
<string id="14093">Security</string>
<string id="14094">Input devices</string>
<string id="14095">Power saving</string>
+ <string id="14096">Rip</string>
+ <string id="14097">Audio CD Insert Action</string>
+ <string id="14098">Play</string>
<string id="15015">Remove</string>
<string id="15016">Games</string>
diff --git a/xbmc/Autorun.cpp b/xbmc/Autorun.cpp
index 846b28d..3cd6f75 100644
--- a/xbmc/Autorun.cpp
+++ b/xbmc/Autorun.cpp
@@ -43,6 +43,9 @@
#include "dialogs/GUIDialogYesNo.h"
#include "utils/URIUtils.h"
#include "utils/log.h"
+#ifdef HAS_CDDA_RIPPER
+#include "cdrip/CDDARipper.h"
+#endif
using namespace std;
using namespace XFILE;
@@ -69,13 +72,19 @@ void CAutorun::ExecuteAutorun(const CStdString& path, bool bypassSettings, bool
g_application.ResetScreenSaver();
g_application.WakeUpScreenSaverAndDPMS(); // turn off the screensaver if it's active
-
+#ifdef HAS_CDDA_RIPPER
+ if ( g_guiSettings.GetInt("audiocds.autoaction") == AUTOCD_RIP && pInfo->IsAudio(1) && !g_settings.GetCurrentProfile().musicLocked())
+ {
+ CCDDARipper ripper;
+ ripper.RipCD();
+ }
+#endif
PlayDisc(path, bypassSettings, startFromBeginning);
}
bool CAutorun::PlayDisc(const CStdString& path, bool bypassSettings, bool startFromBeginning)
{
- if ( !bypassSettings && !g_guiSettings.GetBool("audiocds.autorun") && !g_guiSettings.GetBool("dvds.autorun"))
+ if ( !bypassSettings && !g_guiSettings.GetInt("audiocds.autoaction") == AUTOCD_PLAY && !g_guiSettings.GetBool("dvds.autorun"))
return false;
int nSize = g_playlistPlayer.GetPlaylist( PLAYLIST_MUSIC ).size();
@@ -276,7 +285,7 @@ bool CAutorun::RunDisc(IDirectory* pDir, const CStdString& strDrive, int& nAdded
}
}
// then music
- if (!bPlaying && (bypassSettings || g_guiSettings.GetBool("audiocds.autorun")) && bAllowMusic)
+ if (!bPlaying && (bypassSettings || g_guiSettings.GetInt("audiocds.autoaction") == AUTOCD_PLAY) && bAllowMusic)
{
for (int i = 0; i < vecItems.Size(); i++)
{
diff --git a/xbmc/settings/GUISettings.cpp b/xbmc/settings/GUISettings.cpp
index 6cce6ac..a0c7bf5 100644
--- a/xbmc/settings/GUISettings.cpp
+++ b/xbmc/settings/GUISettings.cpp
@@ -318,7 +318,13 @@ void CGUISettings::Initialize()
AddString(scr, "scrobbler.librefmpass", 15219, "", EDIT_CONTROL_MD5_INPUT, false, 15219);
CSettingsCategory* acd = AddCategory(3, "audiocds", 620);
- AddBool(acd, "audiocds.autorun", 14085, false);
+ map<int,int> autocd;
+ autocd.insert(make_pair(16018, AUTOCD_NONE));
+ autocd.insert(make_pair(14098, AUTOCD_PLAY));
+#ifdef HAS_CDDA_RIPPER
+ autocd.insert(make_pair(14096, AUTOCD_RIP));
+#endif
+ AddInt(acd,"audiocds.autoaction",14097,AUTOCD_NONE, autocd, SPIN_CONTROL_TEXT);
AddBool(acd, "audiocds.usecddb", 227, true);
AddSeparator(acd, "audiocds.sep1");
AddPath(acd,"audiocds.recordingpath",20000,"select writable folder",BUTTON_CONTROL_PATH_INPUT,false,657);
diff --git a/xbmc/settings/GUISettings.h b/xbmc/settings/GUISettings.h
index 5501064..8751624 100644
--- a/xbmc/settings/GUISettings.h
+++ b/xbmc/settings/GUISettings.h
@@ -64,6 +64,11 @@
#define KARAOKE_COLOR_START 0
#define KARAOKE_COLOR_END 4
+// CDDA Autoaction defines
+#define AUTOCD_NONE 0
+#define AUTOCD_PLAY 1
+#define AUTOCD_RIP 2
+
// CDDA ripper defines
#define CDDARIP_ENCODER_LAME 0
#define CDDARIP_ENCODER_VORBIS 1
diff --git a/xbmc/storage/MediaManager.cpp b/xbmc/storage/MediaManager.cpp
index ced4ad0..316e8c9 100644
--- a/xbmc/storage/MediaManager.cpp
+++ b/xbmc/storage/MediaManager.cpp
@@ -624,8 +624,11 @@ void CMediaManager::ProcessEvents()
void CMediaManager::OnStorageAdded(const CStdString &label, const CStdString &path)
{
- if (g_guiSettings.GetBool("audiocds.autorun") || g_guiSettings.GetBool("dvds.autorun"))
- CJobManager::GetInstance().AddJob(new CAutorunMediaJob(label, path), this, CJob::PRIORITY_HIGH);
+ if (g_guiSettings.GetInt("audiocds.autoaction") != AUTOCD_NONE || g_guiSettings.GetBool("dvds.autorun"))
+ if ( g_guiSettings.GetInt("audiocds.autoaction") == AUTOCD_RIP)
+ CJobManager::GetInstance().AddJob(new CAutorunMediaJob(label, path), this, CJob::PRIORITY_LOW);
+ else
+ CJobManager::GetInstance().AddJob(new CAutorunMediaJob(label, path), this, CJob::PRIORITY_HIGH);
else
CGUIDialogKaiToast::QueueNotification(CGUIDialogKaiToast::Info, g_localizeStrings.Get(13021), label, TOAST_DISPLAY_TIME, false);
}
--
1.7.5.4

View File

@ -1,37 +0,0 @@
diff -Naur xbmc-pvr-fc63e66/language/English/strings.xml xbmc-pvr-fc63e66.patch/language/English/strings.xml
--- xbmc-pvr-fc63e66/language/English/strings.xml 2012-03-19 21:20:31.531809910 +0100
+++ xbmc-pvr-fc63e66.patch/language/English/strings.xml 2012-03-19 21:21:56.576430020 +0100
@@ -1360,6 +1360,7 @@
<string id="14096">Rip</string>
<string id="14097">Audio CD Insert Action</string>
<string id="14098">Play</string>
+ <string id="14099">Eject disc when Audio CD ripping is complete</string>
<string id="15015">Remove</string>
<string id="15016">Games</string>
diff -Naur xbmc-pvr-fc63e66/xbmc/cdrip/CDDARipper.cpp xbmc-pvr-fc63e66.patch/xbmc/cdrip/CDDARipper.cpp
--- xbmc-pvr-fc63e66/xbmc/cdrip/CDDARipper.cpp 2012-03-16 22:27:56.000000000 +0100
+++ xbmc-pvr-fc63e66.patch/xbmc/cdrip/CDDARipper.cpp 2012-03-19 21:21:07.725417655 +0100
@@ -332,6 +332,11 @@
}
CLog::Log(LOGINFO, "Ripped CD succesfull");
+ if (g_guiSettings.GetBool("audiocds.ejectonrip"))
+ {
+ CLog::Log(LOGINFO, "Ejecting CD");
+ CIoSupport::EjectTray();
+ }
return true;
}
diff -Naur xbmc-pvr-fc63e66/xbmc/settings/GUISettings.cpp xbmc-pvr-fc63e66.patch/xbmc/settings/GUISettings.cpp
--- xbmc-pvr-fc63e66/xbmc/settings/GUISettings.cpp 2012-03-19 21:20:31.533809950 +0100
+++ xbmc-pvr-fc63e66.patch/xbmc/settings/GUISettings.cpp 2012-03-19 21:21:07.734417841 +0100
@@ -349,6 +349,7 @@
AddInt(acd, "audiocds.quality", 622, CDDARIP_QUALITY_CBR, qualities, SPIN_CONTROL_TEXT);
AddInt(acd, "audiocds.bitrate", 623, 192, 128, 32, 320, SPIN_CONTROL_INT_PLUS, MASK_KBPS);
AddInt(acd, "audiocds.compressionlevel", 665, 5, 0, 1, 8, SPIN_CONTROL_INT_PLUS);
+ AddBool(acd, "audiocds.ejectonrip", 14099, false);
#ifdef HAS_KARAOKE
CSettingsCategory* kar = AddCategory(3, "karaoke", 13327);

View File

@ -1,32 +0,0 @@
From 5c62df65cb2ef1c7dcebbf07bd6d180960ab6715 Mon Sep 17 00:00:00 2001
From: theuni <theuni-nospam-@xbmc.org>
Date: Wed, 4 Apr 2012 14:53:51 -0400
Subject: [PATCH] ffmpeg: disable ffmpeg's crystalhd implementation for now
---
configure.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure.in b/configure.in
index 0d80719..40e9fb5 100755
--- a/configure.in
+++ b/configure.in
@@ -2041,6 +2041,7 @@ XB_CONFIG_MODULE([lib/ffmpeg], [
--disable-ffmpeg \
--disable-doc \
--disable-decoder=mpeg_xvmc \
+ --disable-crystalhd \
--enable-postproc \
--enable-gpl \
--enable-protocol=http \
@@ -2080,6 +2081,7 @@ XB_CONFIG_MODULE([lib/ffmpeg], [
--disable-ffplay \
--disable-ffserver \
--disable-ffmpeg \
+ --disable-crystalhd \
--enable-shared \
--disable-doc \
--enable-postproc \
--
1.7.10

View File

@ -1,41 +0,0 @@
From d1e06c28d3eb6cd689b8cbc5b96babe81707baa7 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 15 Apr 2012 14:00:22 +0200
Subject: [PATCH] ffmpeg: avfilter depends on avformat
---
lib/DllAvFilter.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/DllAvFilter.h b/lib/DllAvFilter.h
index 5c83654..6ae5d15 100644
--- a/lib/DllAvFilter.h
+++ b/lib/DllAvFilter.h
@@ -25,6 +25,7 @@
#endif
#include "DynamicDll.h"
#include "DllAvCodec.h"
+#include "DllAvFormat.h"
#include "DllSwResample.h"
#include "utils/log.h"
@@ -203,6 +204,7 @@ class DllAvFilter : public DllDynamic, DllAvFilterInterface
/* dependencies of libavfilter */
DllAvUtil m_dllAvUtil;
DllSwResample m_dllSwResample;
+ DllAvFormat m_dllAvFormat;
public:
int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name)
@@ -251,6 +253,8 @@ class DllAvFilter : public DllDynamic, DllAvFilterInterface
return false;
if (!m_dllSwResample.Load())
return false;
+ if (!m_dllAvFormat.Load())
+ return false;
return DllDynamic::Load();
}
};
--
1.7.10

View File

@ -1,91 +0,0 @@
diff -Naur xbmc-pvr-11.0.1/language/Dutch/strings.xml xbmc-pvr-11.0.1.patch/language/Dutch/strings.xml
--- xbmc-pvr-11.0.1/language/Dutch/strings.xml 2012-03-27 17:55:51.000000000 +0200
+++ xbmc-pvr-11.0.1.patch/language/Dutch/strings.xml 2012-05-14 14:13:28.656860932 +0200
@@ -1542,7 +1542,6 @@
<string id="16322">Spline36</string>
<string id="16323">Spline36 geoptimaliseerd</string>
<string id="16324">Software menging</string>
- <string id="16325">Auto - ION geoptimaliseerd</string>
<string id="16400">Kwaliteitsverbetering video</string>
diff -Naur xbmc-pvr-11.0.1/language/English/strings.xml xbmc-pvr-11.0.1.patch/language/English/strings.xml
--- xbmc-pvr-11.0.1/language/English/strings.xml 2012-03-27 17:55:51.000000000 +0200
+++ xbmc-pvr-11.0.1.patch/language/English/strings.xml 2012-05-14 14:13:28.661861033 +0200
@@ -1539,9 +1539,7 @@
<string id="16321">DXVA Best</string>
<string id="16322">Spline36</string>
<string id="16323">Spline36 optimized</string>
-
<string id="16324">Software Blend</string>
- <string id="16325">Auto - ION Optimized</string>
<string id="16400">Post-processing</string>
diff -Naur xbmc-pvr-11.0.1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp xbmc-pvr-11.0.1.patch/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
--- xbmc-pvr-11.0.1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp 2012-05-14 14:11:52.791931577 +0200
+++ xbmc-pvr-11.0.1.patch/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp 2012-05-14 14:13:28.663861073 +0200
@@ -531,8 +531,7 @@
bool CVDPAU::Supports(EINTERLACEMETHOD method)
{
if(method == VS_INTERLACEMETHOD_VDPAU_BOB
- || method == VS_INTERLACEMETHOD_AUTO
- || method == VS_INTERLACEMETHOD_AUTO_ION)
+ || method == VS_INTERLACEMETHOD_AUTO)
return true;
for(SInterlaceMapping* p = g_interlace_mapping; p->method != VS_INTERLACEMETHOD_NONE; p++)
@@ -658,21 +657,8 @@
}
else
{
- if (method == VS_INTERLACEMETHOD_AUTO_ION)
- {
- if (vid_height <= 576)
- {
- VdpBool enabled[]={1,1,0};
- vdp_st = vdp_video_mixer_set_feature_enables(videoMixer, ARSIZE(feature), feature, enabled);
- }
- else if (vid_height > 576)
- {
- VdpBool enabled[]={1,0,0};
- vdp_st = vdp_video_mixer_set_feature_enables(videoMixer, ARSIZE(feature), feature, enabled);
- }
- }
- else if (method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL
- || method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF)
+ if (method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL
+ || method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF)
{
VdpBool enabled[]={1,0,0};
vdp_st = vdp_video_mixer_set_feature_enables(videoMixer, ARSIZE(feature), feature, enabled);
@@ -1399,16 +1385,14 @@
if (mode == VS_DEINTERLACEMODE_FORCE
|| (mode == VS_DEINTERLACEMODE_AUTO && m_DVDVideoPics.front().iFlags & DVP_FLAG_INTERLACED))
{
- if((method == VS_INTERLACEMETHOD_AUTO_ION
- || method == VS_INTERLACEMETHOD_VDPAU_BOB
+ if((method == VS_INTERLACEMETHOD_VDPAU_BOB
|| method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL
|| method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF
|| method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL
|| method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF
|| method == VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE ))
{
- if((method == VS_INTERLACEMETHOD_AUTO_ION && vid_height > 576)
- || method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF
+ if(method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF
|| method == VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF
|| avctx->skip_frame == AVDISCARD_NONREF)
m_mixerstep = 0;
diff -Naur xbmc-pvr-11.0.1/xbmc/video/dialogs/GUIDialogVideoSettings.cpp xbmc-pvr-11.0.1.patch/xbmc/video/dialogs/GUIDialogVideoSettings.cpp
--- xbmc-pvr-11.0.1/xbmc/video/dialogs/GUIDialogVideoSettings.cpp 2012-03-27 17:55:34.000000000 +0200
+++ xbmc-pvr-11.0.1.patch/xbmc/video/dialogs/GUIDialogVideoSettings.cpp 2012-05-14 14:13:28.664861093 +0200
@@ -113,7 +113,6 @@
entries.push_back(make_pair(VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE , 16314));
entries.push_back(make_pair(VS_INTERLACEMETHOD_DXVA_BOB , 16320));
entries.push_back(make_pair(VS_INTERLACEMETHOD_DXVA_BEST , 16321));
- entries.push_back(make_pair(VS_INTERLACEMETHOD_AUTO_ION , 16325));
/* remove unsupported methods */
for(vector<pair<int, int> >::iterator it = entries.begin(); it != entries.end();)

View File

@ -1,11 +0,0 @@
diff -Naur xbmc-11.0.1/xbmc/threads/platform/pthreads/ThreadImpl.h xbmc-11.0.1.patch/xbmc/threads/platform/pthreads/ThreadImpl.h
--- xbmc-11.0.1/xbmc/threads/platform/pthreads/ThreadImpl.h 2012-03-23 07:22:04.215885089 +0100
+++ xbmc-11.0.1.patch/xbmc/threads/platform/pthreads/ThreadImpl.h 2012-03-23 07:24:07.875383186 +0100
@@ -22,6 +22,7 @@
#pragma once
#include <pthread.h>
+#include <unistd.h>
struct threadOpaque
{

View File

@ -1,15 +0,0 @@
--- xbmc-pvr-11.0.2/configure.in.orig 2012-08-29 01:02:48.633007939 +0200
+++ xbmc-pvr-11.0.2/configure.in 2012-08-29 01:03:40.593006545 +0200
@@ -1287,11 +1287,7 @@
AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
# Disable vdpau support if external libavcodec doesn't have it
- AC_RUN_IFELSE(
- AC_LANG_PROGRAM([[#include <libavcodec/avcodec.h>]],
- [[avcodec_register_all();
- AVCodec *codec = avcodec_find_decoder_by_name("vc1_vdpau");
- return (codec) ? 0 : 1;]]),,
+ AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],,
[if test "x$use_vdpau" = "xyes"; then
AC_MSG_ERROR($ffmpeg_vdpau_not_supported)
else

View File

@ -1,12 +0,0 @@
diff -Naur xbmc-11.0.1/xbmc/settings/GUIWindowSettingsCategory.cpp xbmc-11.0.1.patch/xbmc/settings/GUIWindowSettingsCategory.cpp
--- xbmc-11.0.1/xbmc/settings/GUIWindowSettingsCategory.cpp 2012-06-30 19:13:51.558262433 +0200
+++ xbmc-11.0.1.patch/xbmc/settings/GUIWindowSettingsCategory.cpp 2012-06-30 19:59:14.545818328 +0200
@@ -553,7 +553,7 @@
{
bool hasInterop = false;
#ifdef GL_NV_vdpau_interop
- hasInterop = true;
+ hasInterop = false;
#endif
CGUIControl *pControl = (CGUIControl *)GetControl(pSettingControl->GetID());
if (pControl && hasInterop && glewIsSupported("GL_NV_vdpau_interop"))

View File

@ -1,29 +0,0 @@
From 9687cc6b6f90fb40e39060eff9e4d8283254b770 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Fri, 13 Jul 2012 18:57:37 +0200
Subject: [PATCH] linuxrenderer: delete texture targets on reconfigure
---
xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
index 7c46cfd..85fc50c 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -261,6 +261,12 @@ bool CLinuxRendererGL::ValidateRenderTarget()
else
CLog::Log(LOGNOTICE,"Using GL_TEXTURE_2D");
+ // function pointer for texture might change in
+ // call to LoadShaders
+ glFinish();
+ for (int i = 0 ; i < m_NumYV12Buffers ; i++)
+ (this->*m_textureDelete)(i);
+
// create the yuv textures
LoadShaders();
--
1.7.10

View File

@ -1,26 +0,0 @@
From 66a8245d4e7d02469f03c6a1b3e295dde346645f Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Sat, 15 Sep 2012 17:24:30 +0200
Subject: [PATCH] videoplayer: fix calcDropRequirement for forced
deinterlacing
---
xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index db0fb1f..81e0012 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1702,7 +1702,7 @@ int CDVDPlayerVideo::CalcDropRequirement(double pts)
bNewFrame = iDecoderPts != m_droppingStats.m_lastDecoderPts;
- if (interlaced)
+ if (interlaced || iSkippedDeint)
iInterval = 2/m_fFrameRate*(double)DVD_TIME_BASE;
else
iInterval = 1/m_fFrameRate*(double)DVD_TIME_BASE;
--
1.7.10

View File

@ -1,32 +0,0 @@
From f0bf2b7dff16ac6ee875770b390accf71660a662 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Sun, 16 Sep 2012 08:27:06 +0200
Subject: [PATCH] vdpau: fix AutoInterlaceMethod to prevent from double
de-interlacing
---
xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 7 -------
1 file changed, 7 deletions(-)
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
index f25252c..374d75d 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -3743,14 +3743,7 @@ EINTERLACEMETHOD CLinuxRendererGL::AutoInterlaceMethod()
return VS_INTERLACEMETHOD_NONE;
if(m_renderMethod & RENDER_VDPAU)
- {
-#ifdef HAVE_LIBVDPAU
- VDPAU::CVdpauRenderPicture *vdpauPic = m_buffers[m_iYV12RenderBuffer].vdpau;
- if(vdpauPic && vdpauPic->vdpau)
- return vdpauPic->vdpau->AutoInterlaceMethod();
-#endif
return VS_INTERLACEMETHOD_NONE;
- }
if(Supports(VS_INTERLACEMETHOD_RENDER_BOB))
return VS_INTERLACEMETHOD_RENDER_BOB;
--
1.7.10

View File

@ -1,25 +0,0 @@
From a7d40418f3aaf35f5df1de8987ce14afd59fb04f Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Sun, 16 Sep 2012 12:19:27 +0200
Subject: [PATCH] xvba: oopsie :)
---
xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp
index d4cf6cf..bd7cc3d 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp
@@ -768,6 +768,7 @@ void CDecoder::DestroySession()
XVBA_Destroy_Decode_Buffers_Input bufInput;
bufInput.size = sizeof(bufInput);
bufInput.num_of_buffers_in_list = 1;
+ bufInput.session = m_xvbaConfig.xvbaSession;
for (unsigned int i=0; i<m_xvbaBufferPool.data_control_buffers.size() ; ++i)
{
--
1.7.10

View File

@ -1,48 +0,0 @@
From c01c0fa9c84f50191e0fffd95527ae2b400e021c Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Sun, 16 Sep 2012 18:38:01 +0200
Subject: [PATCH] vdpau: fix upscaling setting
---
xbmc/settings/AdvancedSettings.cpp | 4 ++--
xbmc/settings/AdvancedSettings.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
index 61ccf85..3556b7d 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -98,7 +98,7 @@ void CAdvancedSettings::Initialize()
m_videoIgnoreSecondsAtStart = 3*60;
m_videoIgnorePercentAtEnd = 8.0f;
m_videoPlayCountMinimumPercent = 90.0f;
- m_videoVDPAUScaling = false;
+ m_videoVDPAUScaling = -1;
m_videoNonLinStretchRatio = 0.5f;
m_videoEnableHighQualityHwScalers = false;
m_videoAutoScaleMaxFps = 30.0f;
@@ -492,7 +492,7 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
XMLUtils::GetString(pElement,"cleandatetime", m_videoCleanDateTimeRegExp);
XMLUtils::GetString(pElement,"ppffmpegdeinterlacing",m_videoPPFFmpegDeint);
XMLUtils::GetString(pElement,"ppffmpegpostprocessing",m_videoPPFFmpegPostProc);
- XMLUtils::GetBoolean(pElement,"vdpauscaling",m_videoVDPAUScaling);
+ XMLUtils::GetInt(pElement,"vdpauscaling",m_videoVDPAUScaling);
XMLUtils::GetFloat(pElement, "nonlinearstretchratio", m_videoNonLinStretchRatio, 0.01f, 1.0f);
XMLUtils::GetBoolean(pElement,"enablehighqualityhwscalers", m_videoEnableHighQualityHwScalers);
XMLUtils::GetFloat(pElement,"autoscalemaxfps",m_videoAutoScaleMaxFps, 0.0f, 1000.0f);
diff --git a/xbmc/settings/AdvancedSettings.h b/xbmc/settings/AdvancedSettings.h
index b3a54ff..f50151a 100644
--- a/xbmc/settings/AdvancedSettings.h
+++ b/xbmc/settings/AdvancedSettings.h
@@ -152,7 +152,7 @@ class CAdvancedSettings
CStdString m_audioHost;
bool m_audioApplyDrc;
- bool m_videoVDPAUScaling;
+ int m_videoVDPAUScaling;
float m_videoNonLinStretchRatio;
bool m_videoEnableHighQualityHwScalers;
float m_videoAutoScaleMaxFps;
--
1.7.10

View File

@ -1,37 +0,0 @@
From 497941802e56121adf03428d964e225c80989afd Mon Sep 17 00:00:00 2001
From: elupus <elupus@xbmc.org>
Date: Sat, 7 Apr 2012 00:08:34 +0200
Subject: [PATCH] fixed: still frames at the start of a VTS in dvd could end
up not showing
This occured due to a change in behavior in updated ffmpeg. Old code would
return EOF once after a VTS change to trigger demuxer flush, however
updated ffmpeg will read multiple times causing demuxer reset actions
to get executed after actual data having been processed by demuxer.
---
.../cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
index dbdff52..3ae4843 100644
--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
+++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
@@ -419,9 +419,12 @@ int CDVDInputStreamNavigator::ProcessBlock(BYTE* dest_buffer, int* read)
iNavresult = NAVRESULT_HOLD;
}
else
+ {
iNavresult = m_pDVDPlayer->OnDVDNavResult(buf, DVDNAV_VTS_CHANGE);
-
- m_bInMenu = (0 == m_dll.dvdnav_is_domain_vts(m_dvdnav));
+ m_holdmode = HOLDMODE_HELD;
+ m_lastevent = DVDNAV_NOP;
+ m_bInMenu = (0 == m_dll.dvdnav_is_domain_vts(m_dvdnav));
+ }
}
break;
--
1.7.10

View File

@ -1,304 +0,0 @@
diff -Naur xbmc-f3b0020/xbmc/guilib/GUIToggleButtonControl.h xbmc-f3b0020.patch/xbmc/guilib/GUIToggleButtonControl.h
--- xbmc-f3b0020/xbmc/guilib/GUIToggleButtonControl.h 2011-12-10 22:16:22.000000000 +0100
+++ xbmc-f3b0020.patch/xbmc/guilib/GUIToggleButtonControl.h 2011-12-17 18:43:42.183704449 +0100
@@ -57,6 +57,7 @@
virtual CStdString GetDescription() const;
void SetToggleSelect(const CStdString &toggleSelect);
void SetAltClickActions(const CGUIAction &clickActions);
+ bool IsSelected() const { return m_bSelected; };
protected:
virtual bool UpdateColors();
diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/control.h xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/control.h
--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/control.h 2011-12-10 22:16:21.000000000 +0100
+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/control.h 2011-12-17 18:43:42.216705084 +0100
@@ -135,6 +135,11 @@
typedef struct {
PyObject_HEAD_XBMC_CONTROL
+ bool bIsSelected;
+ } ControlToggle;
+
+ typedef struct {
+ PyObject_HEAD_XBMC_CONTROL
std::string strFont;
color_t textColor;
std::vector<std::string> vecLabels;
@@ -263,7 +268,8 @@
extern PyTypeObject ControlRadioButton_Type;
extern PyTypeObject ControlSlider_Type;
extern PyTypeObject ControlEdit_Type;
-
+ extern PyTypeObject ControlToggle_Type;
+
CGUIControl* ControlLabel_Create(ControlLabel* pControl);
CGUIControl* ControlFadeLabel_Create(ControlFadeLabel* pControl);
CGUIControl* ControlTextBox_Create(ControlTextBox* pControl);
@@ -276,6 +282,7 @@
CGUIControl* ControlRadioButton_Create(ControlRadioButton* pControl);
CGUIControl* ControlSlider_Create(ControlSlider* pControl);
CGUIControl* ControlEdit_Create(ControlEdit* pControl);
+ CGUIControl* ControlToggle_Create(ControlToggle* pControl);
void initControl_Type();
void initControlSpin_Type();
@@ -291,6 +298,7 @@
void initControlRadioButton_Type();
void initControlSlider_Type();
void initControlEdit_Type();
+ void initControlToggle_Type();
}
#ifdef __cplusplus
diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp
--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp 1970-01-01 01:00:00.000000000 +0100
+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp 2011-12-17 18:43:42.217705104 +0100
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2005-2011 Team XBMC
+ * http://www.xbmc.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XBMC; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+#include <Python.h>
+
+#include "guilib/GUIToggleButtonControl.h"
+#include "guilib/GUIFontManager.h"
+#include "control.h"
+#include "pyutil.h"
+
+using namespace std;
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+namespace PYXBMC
+{
+ PyObject* ControlToggle_New(
+ PyTypeObject *type,
+ PyObject *args,
+ PyObject *kwds )
+ {
+ static const char *keywords[] = {
+ "x", "y", "width", "height", "label",
+ "focusTexture", "noFocusTexture",
+ "textOffsetX", "textOffsetY", "alignment",
+ "font", "textColor", "disabledColor", "angle", "shadowColor", "focusedColor", NULL };
+ ControlToggle *self;
+ char* cFont = NULL;
+ char* cTextureFocus = NULL;
+ char* cTextureNoFocus = NULL;
+ char* cTextColor = NULL;
+ char* cDisabledColor = NULL;
+ char* cShadowColor = NULL;
+ char* cFocusedColor = NULL;
+
+ PyObject* pObjectText;
+
+ self = (ControlToggle*)type->tp_alloc(type, 0);
+ if (!self) return NULL;
+ new(&self->bIsSelected) bool();
+
+ if (!PyArg_ParseTupleAndKeywords(
+ args,
+ kwds,
+ (char*)"llllO|sslllssslss",
+ (char**)keywords,
+ &self->dwPosX,
+ &self->dwPosY,
+ &self->dwWidth,
+ &self->dwHeight,
+ &pObjectText,
+ &cTextureFocus,
+ &cTextureNoFocus,
+ &cFont,
+ &cTextColor,
+ &cDisabledColor,
+ &cShadowColor,
+ &cFocusedColor))
+ {
+ Py_DECREF( self );
+ return NULL;
+ }
+
+
+ cTextureFocus :
+ PyXBMCGetDefaultImage((char*)"button", (char*)"texturefocus", (char*)"button-focus.png");
+ cTextureNoFocus :
+ PyXBMCGetDefaultImage((char*)"button", (char*)"texturenofocus", (char*)"button-nofocus.jpg");
+
+ return (PyObject*)self;
+ }
+
+ void ControlToggle_Dealloc(ControlToggle* self)
+ {
+ self->ob_type->tp_free((PyObject*)self);
+ }
+
+
+ // isSelected() Method
+ PyDoc_STRVAR(isSelected__doc__,
+ "isSelected() -- Returns the toggle buttons's selected status.\n"
+ "\n"
+ "example:\n"
+ " - is = self.togglebutton.isSelected()\n");
+
+ PyObject* ControlToggle_IsSelected(ControlToggle *self, PyObject *args)
+ {
+ bool isSelected = false;
+
+ PyXBMCGUILock();
+ if (self->pGUIControl)
+ isSelected = ((CGUIToggleButtonControl*)self->pGUIControl)->IsSelected();
+ PyXBMCGUIUnlock();
+
+ return Py_BuildValue((char*)"b", isSelected);
+ }
+
+
+ PyMethodDef ControlToggle_methods[] = {
+ {(char*)"isSelected", (PyCFunction)ControlToggle_IsSelected, METH_VARARGS, isSelected__doc__},
+ {NULL, NULL, 0, NULL}
+ };
+
+ // ControlRadioButton class
+ PyDoc_STRVAR(ControlToggle__doc__,
+ "ControlRadioButton class.\n"
+ "\n"
+ "ControlRadioButton(x, y, width, height, label[, focusTexture, noFocusTexture, textOffsetX, textOffsetY,\n"
+ " alignment, font, textColor, disabledColor, angle, shadowColor, focusedColor,\n"
+ " radioFocusTexture, noRadioFocusTexture])\n"
+ "\n"
+ "x : integer - x coordinate of control.\n"
+ "y : integer - y coordinate of control.\n"
+ "width : integer - width of control.\n"
+ "height : integer - height of control.\n"
+ "label : string or unicode - text string.\n"
+ "focusTexture : [opt] string - filename for focus texture.\n"
+ "noFocusTexture : [opt] string - filename for no focus texture.\n"
+ "textOffsetX : [opt] integer - x offset of label.\n"
+ "textOffsetY : [opt] integer - y offset of label.\n"
+ "alignment : [opt] integer - alignment of label - *Note, see xbfont.h\n"
+ "font : [opt] string - font used for label text. (e.g. 'font13')\n"
+ "textColor : [opt] hexstring - color of enabled radio button's label. (e.g. '0xFFFFFFFF')\n"
+ "disabledColor : [opt] hexstring - color of disabled radio button's label. (e.g. '0xFFFF3300')\n"
+ "angle : [opt] integer - angle of control. (+ rotates CCW, - rotates CW)\n"
+ "shadowColor : [opt] hexstring - color of radio button's label's shadow. (e.g. '0xFF000000')\n"
+ "focusedColor : [opt] hexstring - color of focused radio button's label. (e.g. '0xFF00FFFF')\n"
+ "radioFocusTexture : [opt] string - filename for radio focus texture.\n"
+ "noRadioFocusTexture : [opt] string - filename for radio no focus texture.\n"
+ "\n"
+ "*Note, You can use the above as keywords for arguments and skip certain optional arguments.\n"
+ " Once you use a keyword, all following arguments require the keyword.\n"
+ " After you create the control, you need to add it to the window with addControl().\n"
+ "\n"
+ "example:\n"
+ " - self.radiobutton = xbmcgui.ControlToggleButton(100, 250, 200, 50, 'Status', font='font14')\n");
+
+ // Restore code and data sections to normal.
+
+ PyTypeObject ControlToggle_Type;
+
+ void initControlToggle_Type()
+ {
+ PyXBMCInitializeTypeObject(&ControlToggle_Type);
+
+ ControlToggle_Type.tp_name = (char*)"xbmcgui.ControlToggleButton";
+ ControlToggle_Type.tp_basicsize = sizeof(ControlToggle);
+ ControlToggle_Type.tp_dealloc = (destructor)ControlToggle_Dealloc;
+ ControlToggle_Type.tp_compare = 0;
+ ControlToggle_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;
+ ControlToggle_Type.tp_doc = ControlToggle__doc__;
+ ControlToggle_Type.tp_methods = ControlToggle_methods;
+ ControlToggle_Type.tp_base = &Control_Type;
+ ControlToggle_Type.tp_new = ControlToggle_New;
+ }
+}
+
+#ifdef __cplusplus
+}
+#endif
diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/Makefile.in xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/Makefile.in
--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/Makefile.in 2011-12-10 22:16:21.000000000 +0100
+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/Makefile.in 2011-12-17 18:44:47.447960296 +0100
@@ -13,6 +13,7 @@
controlslider.cpp \
controlspin.cpp \
controltextbox.cpp \
+ controltogglebutton.cpp \
dialog.cpp \
GUIPythonWindow.cpp \
GUIPythonWindowDialog.cpp \
diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/window.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/window.cpp
--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/window.cpp 2011-12-10 22:16:21.000000000 +0100
+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/window.cpp 2011-12-17 18:43:42.218705123 +0100
@@ -277,6 +277,12 @@
if (li.font) ((ControlEdit*)pControl)->strFont = li.font->GetFontName();
((ControlButton*)pControl)->align = li.align;
break;
+ case CGUIControl::GUICONTROL_TOGGLEBUTTON:
+ pControl = (Control*)ControlToggle_Type.tp_alloc(&ControlToggle_Type, 0);
+ new(&((ControlToggle*)pControl)->bIsSelected) bool();
+
+ break;
+
default:
break;
}
diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp
--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp 2011-12-10 22:16:21.000000000 +0100
+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp 2011-12-17 18:43:42.219705142 +0100
@@ -138,6 +138,7 @@
initAction_Type();
initControlRadioButton_Type();
initControlEdit_Type();
+ initControlToggle_Type();
if (PyType_Ready(&Window_Type) < 0 ||
PyType_Ready(&WindowDialog_Type) < 0 ||
@@ -160,7 +161,8 @@
PyType_Ready(&ControlSlider_Type) < 0 ||
PyType_Ready(&ControlRadioButton_Type) < 0 ||
PyType_Ready(&ControlEdit_Type) < 0 ||
- PyType_Ready(&Action_Type) < 0)
+ PyType_Ready(&Action_Type) < 0 ||
+ PyType_Ready(&ControlToggle_Type) < 0)
return;
}
@@ -200,6 +202,7 @@
Py_INCREF(&Action_Type);
Py_INCREF(&ControlRadioButton_Type);
Py_INCREF(&ControlEdit_Type);
+ Py_INCREF(&ControlToggle_Type);
pXbmcGuiModule = Py_InitModule3((char*)"xbmcgui", xbmcGuiMethods, xbmcgui_module_documentation);
@@ -227,7 +230,8 @@
PyModule_AddObject(pXbmcGuiModule, (char*)"Action", (PyObject *)&Action_Type);
PyModule_AddObject(pXbmcGuiModule, (char*)"ControlRadioButton", (PyObject*)&ControlRadioButton_Type);
PyModule_AddObject(pXbmcGuiModule, (char*)"ControlEdit", (PyObject*)&ControlEdit_Type);
-
+ PyModule_AddObject(pXbmcGuiModule, (char*)"ControlToggle", (PyObject*)&ControlToggle_Type);
+
PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__author__", (char*)PY_XBMC_AUTHOR);
PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__date__", (char*)"14 July 2006");
PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__version__", (char*)"1.2");
diff -Naur xbmc-f3b0020/XBMC.xcodeproj/project.pbxproj xbmc-f3b0020.patch/XBMC.xcodeproj/project.pbxproj

View File

@ -1,27 +0,0 @@
From f025c39679b438cb91a0ef0f205736ff92fddeac Mon Sep 17 00:00:00 2001
From: Vic Lee <llyzs@163.com>
Date: Thu, 10 Feb 2011 09:36:15 +0800
Subject: [PATCH 5/5] UDisk: device must be remount in DeviceChanged event
Signed-off-by: Vic Lee <llyzs@163.com>
---
xbmc/linux/UDisksProvider.cpp | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/xbmc/storage/linux/UDisksProvider.cpp b/xbmc/storage/linux/UDisksProvider.cpp
index 8e9b378..e24502a 100644
--- a/xbmc/storage/linux/UDisksProvider.cpp
+++ b/xbmc/storage/linux/UDisksProvider.cpp
@@ -368,6 +368,8 @@ void CUDisksProvider::DeviceChanged(const char *object, IStorageEventsCallback *
{
bool mounted = device->m_isMounted;
device->Update();
+ if (g_advancedSettings.m_handleMounting)
+ device->Mount();
if (!mounted && device->m_isMounted && callback)
callback->OnStorageAdded(device->m_Label, device->m_MountPath);
else if (mounted && !device->m_isMounted && callback)
--
1.7.2.3

View File

@ -1,36 +0,0 @@
From f52dd9a555e8e4b087ec6fbf040dc1f1155c4136 Mon Sep 17 00:00:00 2001
From: "S. Davilla" <davilla@4pi.com>
Date: Sat, 21 Apr 2012 14:11:56 -0400
Subject: [PATCH] fixed, failure to broswe for smb shares. this hits all 1st
time installs
---
xbmc/filesystem/SmbFile.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/xbmc/filesystem/FileSmb.cpp b/xbmc/filesystem/FileSmb.cpp
index 382553c..c390031 100644
--- a/xbmc/filesystem/FileSmb.cpp
+++ b/xbmc/filesystem/FileSmb.cpp
@@ -61,7 +61,6 @@ SMBCSRV* xb_smbc_cache(SMBCCTX* c, const char* server, const char* share, const
m_IdleTimeout = 0;
#endif
m_context = NULL;
- smbc_init(xb_smbc_auth, 0);
}
CSMB::~CSMB()
@@ -149,6 +148,10 @@ void CSMB::Init()
}
#endif
+ // reads smb.conf so this MUST be after we create smb.conf
+ // multiple smbc_init calls are ignored by libsmbclient.
+ smbc_init(xb_smbc_auth, 0);
+
#ifdef TARGET_WINDOWS
// set the log function
set_log_callback(xb_smbc_log);
--
1.7.10

View File

@ -1,13 +0,0 @@
diff --git a/xbmc/storage/linux/UDisksProvider.cpp b/xbmc/storage/linux/UDisksProvider.cpp
index 6afc1a8..c940e69 100644
--- a/xbmc/storage/linux/UDisksProvider.cpp
+++ b/xbmc/storage/linux/UDisksProvider.cpp
@@ -356,7 +356,7 @@ void CUDisksProvider::DeviceChanged(const char *object, IStorageEventsCallback *
{
bool mounted = device->m_isMounted;
device->Update();
- if (g_advancedSettings.m_handleMounting)
+ if (g_advancedSettings.m_handleMounting && device->m_isOptical)
device->Mount();
if (!mounted && device->m_isMounted && callback)
callback->OnStorageAdded(device->m_Label, device->m_MountPath);

View File

@ -1,13 +0,0 @@
diff --git a/tools/EventClients/Clients/WiiRemote/WiiUse_WiiRemote.h b/tools/EventClients/Clients/WiiRemote/WiiUse_WiiRemote.h
index dbdbb94..6f68715 100644
--- a/tools/EventClients/Clients/WiiRemote/WiiUse_WiiRemote.h
+++ b/tools/EventClients/Clients/WiiRemote/WiiUse_WiiRemote.h
@@ -27,7 +27,7 @@
#include "../../lib/c++/xbmcclient.h"
#endif
//#ifndef WIN32
-// #include <unistd.h>
+ #include <unistd.h>
//#endif
#include "wiiuse.h"
//#define ICON_PATH "../../"

View File

@ -1,23 +0,0 @@
diff --git a/Makefile.include.in b/Makefile.include.in
index b70245d..0537b86 100644
--- a/Makefile.include.in
+++ b/Makefile.include.in
@@ -1,4 +1,4 @@
-AR=ar
+AR=@AR@
ARFLAGS=crus
RM=rm -rf
SHELL=@SHELL@
diff --git a/configure.in b/configure.in
index 7348529..baea8e0 100755
--- a/configure.in
+++ b/configure.in
@@ -22,7 +22,7 @@ AC_DEFUN([XB_FIND_SONAME],
AC_MSG_CHECKING([for lib$2 soname])
$1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-M 2>/dev/null | grep "^LOAD.*$2" | awk '{V=2; print $V}')
if [[ ! -z $$1_FILENAME ]]; then
- $1_SONAME=$(objdump -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}')
+ $1_SONAME=$($OBJDUMP -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}')
fi
else
AC_MSG_CHECKING([for lib$2 dylib])

View File

@ -1,99 +0,0 @@
From 268d6a01b6a7dea0d53b042c246c95e87f4fc3d8 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Thu, 26 Jul 2012 15:43:24 +0200
Subject: [PATCH] move deleting gl textures to TextureManager, fixes asic hang
on AMD
---
xbmc/Application.cpp | 4 ++--
xbmc/guilib/GUIFontTTFGL.cpp | 3 ++-
xbmc/guilib/TextureManager.cpp | 13 +++++++++++++
xbmc/guilib/TextureManager.h | 2 ++
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index 71d8a4e..b66459a 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -2231,8 +2231,6 @@ void CApplication::Render()
g_Windowing.EndRender();
- g_TextureManager.FreeUnusedTextures();
-
// reset our info cache - we do this at the end of Render so that it is
// fresh for the next process(), or after a windowclose animation (where process()
// isn't called)
@@ -2270,6 +2268,8 @@ void CApplication::Render()
}
CTimeUtils::UpdateFrameTime(flip);
+ g_TextureManager.FreeUnusedTextures();
+
g_renderManager.UpdateResolution();
g_renderManager.ManageCaptures();
}
diff --git a/xbmc/guilib/GUIFontTTFGL.cpp b/xbmc/guilib/GUIFontTTFGL.cpp
index 87e07ca..6c93eb8 100644
--- a/xbmc/guilib/GUIFontTTFGL.cpp
+++ b/xbmc/guilib/GUIFontTTFGL.cpp
@@ -24,6 +24,7 @@
#include "GUIFontTTFGL.h"
#include "GUIFontManager.h"
#include "Texture.h"
+#include "TextureManager.h"
#include "GraphicContext.h"
#include "gui3d.h"
#include "utils/log.h"
@@ -234,7 +235,7 @@ void CGUIFontTTFGL::DeleteHardwareTexture()
if (m_bTextureLoaded)
{
if (glIsTexture(m_nTexture))
- glDeleteTextures(1, (GLuint*) &m_nTexture);
+ g_TextureManager.ReleaseHwTexture(m_nTexture);
m_bTextureLoaded = false;
}
}
diff --git a/xbmc/guilib/TextureManager.cpp b/xbmc/guilib/TextureManager.cpp
index 9ef7889..ccd0d03 100644
--- a/xbmc/guilib/TextureManager.cpp
+++ b/xbmc/guilib/TextureManager.cpp
@@ -457,6 +457,19 @@ void CGUITextureManager::FreeUnusedTextures()
for (ivecTextures i = m_unusedTextures.begin(); i != m_unusedTextures.end(); ++i)
delete *i;
m_unusedTextures.clear();
+
+#if defined(HAS_GL) || defined(HAS_GLES)
+ for (unsigned int i = 0; i < m_unusedHwTextures.size(); ++i)
+ {
+ glDeleteTextures(1, (GLuint*) &m_unusedHwTextures[i]);
+ }
+#endif
+ m_unusedHwTextures.clear();
+}
+
+void CGUITextureManager::ReleaseHwTexture(unsigned int texture)
+{
+ m_unusedHwTextures.push_back(texture);
}
void CGUITextureManager::Cleanup()
diff --git a/xbmc/guilib/TextureManager.h b/xbmc/guilib/TextureManager.h
index dd47f48..001f470 100644
--- a/xbmc/guilib/TextureManager.h
+++ b/xbmc/guilib/TextureManager.h
@@ -124,9 +124,11 @@ class CGUITextureManager
void RemoveTexturePath(const CStdString &texturePath); ///< Remove a path from the paths to check when loading media
void FreeUnusedTextures(); ///< Free textures (called from app thread only)
+ void ReleaseHwTexture(unsigned int texture);
protected:
std::vector<CTextureMap*> m_vecTextures;
std::vector<CTextureMap*> m_unusedTextures;
+ std::vector<unsigned int> m_unusedHwTextures;
typedef std::vector<CTextureMap*>::iterator ivecTextures;
// we have 2 texture bundles (one for the base textures, one for the theme)
CTextureBundle m_TexBundle[2];
--
1.7.10

View File

@ -1,148 +0,0 @@
From f01f95af95f287847c850572abe16b6969967ba7 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi@xbmc.org>
Date: Wed, 16 May 2012 19:01:17 +0300
Subject: [PATCH 1/3] fixed: crashes with corrupted rar files
UnrarXLib does not handle invalid files gracefully enough, and some
files can cause it to tell CRarFile that it has written more data into
its buffer than actually fits there, causing CRarFile::Read() to
eventually overread the buffer.
Add checks in CRarFile for the validity of byte counts retrieved from
UnrarXLib to prevent crashes in such situations.
(cherry picked from commit ca9457286994ef0b021744797b8d78fb78260436)
---
xbmc/filesystem/FileRar.cpp | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/xbmc/filesystem/FileRar.cpp b/xbmc/filesystem/FileRar.cpp
index 9c87a35..d026f8f 100644
--- a/xbmc/filesystem/FileRar.cpp
+++ b/xbmc/filesystem/FileRar.cpp
@@ -310,6 +310,14 @@ unsigned int CFileRar::Read(void *lpBuf, int64_t uiBufSize)
m_iDataInBuffer = MAXWINMEMSIZE-m_pExtract->GetDataIO().UnpackToMemorySize;
+ if (m_iDataInBuffer < 0 ||
+ m_iDataInBuffer > MAXWINMEMSIZE - (m_szStartOfBuffer - m_szBuffer))
+ {
+ // invalid data returned by UnrarXLib, prevent a crash
+ CLog::Log(LOGERROR, "CRarFile::Read - Data buffer in inconsistent state");
+ m_iDataInBuffer = 0;
+ }
+
if (m_iDataInBuffer == 0)
break;
@@ -471,6 +479,15 @@ int64_t CFileRar::Seek(int64_t iFilePosition, int iWhence)
}
m_iDataInBuffer = m_pExtract->GetDataIO().m_iSeekTo; // keep data
m_iBufferStart = m_pExtract->GetDataIO().m_iStartOfBuffer;
+
+ if (m_iDataInBuffer < 0 || m_iDataInBuffer > MAXWINMEMSIZE)
+ {
+ // invalid data returned by UnrarXLib, prevent a crash
+ CLog::Log(LOGERROR, "CRarFile::Seek - Data buffer in inconsistent state");
+ m_iDataInBuffer = 0;
+ return -1;
+ }
+
m_szStartOfBuffer = m_szBuffer+MAXWINMEMSIZE-m_iDataInBuffer;
m_iFilePosition = iFilePosition;
--
1.7.10
From de1be4534cf410896b3102f95b6e02019ed64a90 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi@xbmc.org>
Date: Wed, 16 May 2012 17:13:07 +0300
Subject: [PATCH 2/3] fixed: rars that have unpacked size stored on first
volume only
Some multi-volume RAR files have their unpacked size set as 0 in all
volumes except the first one.
Use the previous unpacked size instead of 0 in such cases in order to
support such files properly.
(cherry picked from commit 683457d27736c09415a11d80933553f75139a253)
---
lib/UnrarXLib/volume.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/UnrarXLib/volume.cpp b/lib/UnrarXLib/volume.cpp
index 1f4d5e3..b24e98b 100644
--- a/lib/UnrarXLib/volume.cpp
+++ b/lib/UnrarXLib/volume.cpp
@@ -15,6 +15,7 @@ bool MergeArchive(Archive &Arc,ComprDataIO *DataIO,bool ShowFileName,char Comman
Log(Arc.FileName,St(MDataBadCRC),hd->FileName,Arc.FileName);
}
+ Int64 PrevFullUnpSize = hd->FullUnpSize;
Int64 PosBeforeClose=Arc.Tell();
Arc.Close();
@@ -144,6 +145,13 @@ bool MergeArchive(Archive &Arc,ComprDataIO *DataIO,bool ShowFileName,char Comman
}
}
#endif
+
+ if (hd->FullUnpSize == 0)
+ {
+ // some archives only have correct UnpSize in the first volume
+ hd->FullUnpSize = PrevFullUnpSize;
+ }
+
if (DataIO!=NULL)
{
if (HeaderType==ENDARC_HEAD)
--
1.7.10
From d7bed5ddbbc98d7fedac663410d8e7e64bdf20c7 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi@xbmc.org>
Date: Wed, 16 May 2012 00:14:49 +0300
Subject: [PATCH 3/3] fixed: CRarFile::Read() returning wrong data after some
seek patterns
Certain seek patterns on a file inside a non-compressed rar file can
cause CmdExtract::UnstoreFile() to think that the destination buffer has
been filled (as DestUnpSize counter, originally set to the file size,
reaches zero).
However, counting written bytes using DestUnpSize doesn't make sense for
the UnpackToMemory codepath used for non-compressed rar files, as there
can be seeks which can eventually cause more data to be read than what
the actual file size was. The actual output buffer is internally handled
by ComprDataIO.
The check in UnstoreFile() will result in not all data being written to
the destination buffer, causing CRarFile::Read() to return old stale
data.
Fix that by dropping the unnecessary DestUnpSize handling in
UnpackToMemory codepath of CmdExtract::UnstoreFile().
(cherry picked from commit 840cd4ce4ac8c781e7d35db2ed86d575a42c37e7)
---
lib/UnrarXLib/extract.cpp | 3 ---
1 file changed, 3 deletions(-)
diff --git a/lib/UnrarXLib/extract.cpp b/lib/UnrarXLib/extract.cpp
index b4a8091..368a899 100644
--- a/lib/UnrarXLib/extract.cpp
+++ b/lib/UnrarXLib/extract.cpp
@@ -863,10 +863,7 @@ void CmdExtract::UnstoreFile(ComprDataIO &DataIO,Int64 DestUnpSize)
}
if (Code > 0)
{
- Code=Code<DestUnpSize ? Code:int64to32(DestUnpSize);
DataIO.UnpWrite(&Buffer[0],Code);
- if (DestUnpSize>=0)
- DestUnpSize-=Code;
}
else
{
--
1.7.10

View File

@ -1,31 +0,0 @@
From ab175ba28508445f6aff57386a8ce04b58a86f60 Mon Sep 17 00:00:00 2001
From: Memphiz <memphis@machzwo.de>
Date: Fri, 11 May 2012 19:56:37 +0200
Subject: [PATCH] [fix] - reapply fix for airtunes with AE which was lost
during merge
---
xbmc/network/AirTunesServer.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/xbmc/network/AirTunesServer.cpp b/xbmc/network/AirTunesServer.cpp
index 285a0a6..a60ad09 100644
--- a/xbmc/network/AirTunesServer.cpp
+++ b/xbmc/network/AirTunesServer.cpp
@@ -125,11 +125,11 @@ ao_device* CAirTunesServer::AudioOutputFunctions::ao_open_live(int driver_id, ao
if (ao_get_option(option, "name"))
item.GetMusicInfoTag()->SetTitle(ao_get_option(option, "name"));
- g_application.getApplicationMessenger().PlayFile(item);
-
ThreadMessage tMsg2 = { TMSG_GUI_ACTIVATE_WINDOW, WINDOW_VISUALISATION, 0 };
g_application.getApplicationMessenger().SendMessage(tMsg2, true);
+ g_application.getApplicationMessenger().PlayFile(item);
+
return (ao_device*) device;
}
--
1.7.10

View File

@ -1,527 +0,0 @@
From b73018af2ae69c7cfad0a4461d169a49c7d0dfbf Mon Sep 17 00:00:00 2001
From: Memphiz <memphis@machzwo.de>
Date: Tue, 15 May 2012 19:12:07 +0200
Subject: [PATCH] [airtunes] - implementation for windows using libshairplay
---
xbmc/network/AirTunesServer.cpp | 330 +++++++++++++++++++++++++++++++++++++--
xbmc/network/AirTunesServer.h | 23 +++
2 files changed, 343 insertions(+), 10 deletions(-)
diff --git a/xbmc/network/AirTunesServer.cpp b/xbmc/network/AirTunesServer.cpp
index a60ad09..e14da90 100644
--- a/xbmc/network/AirTunesServer.cpp
+++ b/xbmc/network/AirTunesServer.cpp
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#if !defined(TARGET_WINDOWS)
#pragma GCC diagnostic ignored "-Wwrite-strings"
+#endif
#include "AirTunesServer.h"
@@ -37,15 +39,243 @@
#include "music/tags/MusicInfoTag.h"
#include "FileItem.h"
#include "GUIInfoManager.h"
+#include "guilib/GUIWindowManager.h"
#include "utils/Variant.h"
#include "settings/AdvancedSettings.h"
+#include "utils/EndianSwap.h"
+
+#include <map>
+#include <string>
+
using namespace XFILE;
+#if defined(TARGET_WINDOWS)
+DllLibShairplay *CAirTunesServer::m_pLibShairplay = NULL;
+#else
DllLibShairport *CAirTunesServer::m_pLibShairport = NULL;
+#endif
CAirTunesServer *CAirTunesServer::ServerInstance = NULL;
CStdString CAirTunesServer::m_macAddress;
+//parse daap metadata - thx to project MythTV
+std::map<std::string, std::string> decodeDMAP(const char *buffer, unsigned int size)
+{
+ std::map<std::string, std::string> result;
+ unsigned int offset = 8;
+ while (offset < size)
+ {
+ std::string tag;
+ tag.append(buffer + offset, 4);
+ offset += 4;
+ uint32_t length = Endian_SwapBE32(*(uint32_t *)(buffer + offset));
+ offset += sizeof(uint32_t);
+ std::string content;
+ content.append(buffer + offset, length);//possible fixme - utf8?
+ offset += length;
+ result[tag] = content;
+ }
+ return result;
+}
+
+void CAirTunesServer::SetMetadataFromBuffer(const char *buffer, unsigned int size)
+{
+ MUSIC_INFO::CMusicInfoTag tag;
+ std::map<std::string, std::string> metadata = decodeDMAP(buffer, size);
+ if(metadata["asal"].length())
+ tag.SetAlbum(metadata["asal"]);//album
+ if(metadata["minm"].length())
+ tag.SetTitle(metadata["minm"]);//title
+ if(metadata["asar"].length())
+ tag.SetArtist(metadata["asar"]);//artist
+ g_infoManager.SetCurrentSongTag(tag);
+}
+
+void CAirTunesServer::SetCoverArtFromBuffer(const char *buffer, unsigned int size)
+{
+ XFILE::CFile tmpFile;
+ const char *tmpFileName = "special://temp/airtunes_album_thumb.jpg";
+
+ if(!size)
+ return;
+
+ if (tmpFile.OpenForWrite(tmpFileName, true))
+ {
+ int writtenBytes=0;
+ writtenBytes = tmpFile.Write(buffer, size);
+ tmpFile.Close();
+
+ if(writtenBytes)
+ {
+ //reset to empty before setting the new one
+ //else it won't get refreshed because the name didn't change
+ g_infoManager.SetCurrentAlbumThumb("");
+ g_infoManager.SetCurrentAlbumThumb(tmpFileName);
+ //update the ui
+ CGUIMessage msg(GUI_MSG_NOTIFY_ALL,0,0,GUI_MSG_REFRESH_THUMBS);
+ g_windowManager.SendThreadMessage(msg);
+ }
+ }
+}
+
+#if defined(TARGET_WINDOWS)
+#define RSA_KEY " \
+-----BEGIN RSA PRIVATE KEY-----\
+MIIEpQIBAAKCAQEA59dE8qLieItsH1WgjrcFRKj6eUWqi+bGLOX1HL3U3GhC/j0Qg90u3sG/1CUt\
+wC5vOYvfDmFI6oSFXi5ELabWJmT2dKHzBJKa3k9ok+8t9ucRqMd6DZHJ2YCCLlDRKSKv6kDqnw4U\
+wPdpOMXziC/AMj3Z/lUVX1G7WSHCAWKf1zNS1eLvqr+boEjXuBOitnZ/bDzPHrTOZz0Dew0uowxf\
+/+sG+NCK3eQJVxqcaJ/vEHKIVd2M+5qL71yJQ+87X6oV3eaYvt3zWZYD6z5vYTcrtij2VZ9Zmni/\
+UAaHqn9JdsBWLUEpVviYnhimNVvYFZeCXg/IdTQ+x4IRdiXNv5hEewIDAQABAoIBAQDl8Axy9XfW\
+BLmkzkEiqoSwF0PsmVrPzH9KsnwLGH+QZlvjWd8SWYGN7u1507HvhF5N3drJoVU3O14nDY4TFQAa\
+LlJ9VM35AApXaLyY1ERrN7u9ALKd2LUwYhM7Km539O4yUFYikE2nIPscEsA5ltpxOgUGCY7b7ez5\
+NtD6nL1ZKauw7aNXmVAvmJTcuPxWmoktF3gDJKK2wxZuNGcJE0uFQEG4Z3BrWP7yoNuSK3dii2jm\
+lpPHr0O/KnPQtzI3eguhe0TwUem/eYSdyzMyVx/YpwkzwtYL3sR5k0o9rKQLtvLzfAqdBxBurciz\
+aaA/L0HIgAmOit1GJA2saMxTVPNhAoGBAPfgv1oeZxgxmotiCcMXFEQEWflzhWYTsXrhUIuz5jFu\
+a39GLS99ZEErhLdrwj8rDDViRVJ5skOp9zFvlYAHs0xh92ji1E7V/ysnKBfsMrPkk5KSKPrnjndM\
+oPdevWnVkgJ5jxFuNgxkOLMuG9i53B4yMvDTCRiIPMQ++N2iLDaRAoGBAO9v//mU8eVkQaoANf0Z\
+oMjW8CN4xwWA2cSEIHkd9AfFkftuv8oyLDCG3ZAf0vrhrrtkrfa7ef+AUb69DNggq4mHQAYBp7L+\
+k5DKzJrKuO0r+R0YbY9pZD1+/g9dVt91d6LQNepUE/yY2PP5CNoFmjedpLHMOPFdVgqDzDFxU8hL\
+AoGBANDrr7xAJbqBjHVwIzQ4To9pb4BNeqDndk5Qe7fT3+/H1njGaC0/rXE0Qb7q5ySgnsCb3DvA\
+cJyRM9SJ7OKlGt0FMSdJD5KG0XPIpAVNwgpXXH5MDJg09KHeh0kXo+QA6viFBi21y340NonnEfdf\
+54PX4ZGS/Xac1UK+pLkBB+zRAoGAf0AY3H3qKS2lMEI4bzEFoHeK3G895pDaK3TFBVmD7fV0Zhov\
+17fegFPMwOII8MisYm9ZfT2Z0s5Ro3s5rkt+nvLAdfC/PYPKzTLalpGSwomSNYJcB9HNMlmhkGzc\
+1JnLYT4iyUyx6pcZBmCd8bD0iwY/FzcgNDaUmbX9+XDvRA0CgYEAkE7pIPlE71qvfJQgoA9em0gI\
+LAuE4Pu13aKiJnfft7hIjbK+5kyb3TysZvoyDnb3HOKvInK7vXbKuU4ISgxB2bB3HcYzQMGsz1qJ\
+2gG0N5hvJpzwwhbhXqFKA4zaaSrw622wDniAK5MlIE0tIAKKP4yxNGjoD2QYjhBGuhvkWKY=\
+-----END RSA PRIVATE KEY-----"
+
+void CAirTunesServer::AudioOutputFunctions::audio_set_metadata(void *cls, void *session, const void *buffer, int buflen)
+{
+ CAirTunesServer::SetMetadataFromBuffer((char *)buffer, buflen);
+}
+
+void CAirTunesServer::AudioOutputFunctions::audio_set_coverart(void *cls, void *session, const void *buffer, int buflen)
+{
+ CAirTunesServer::SetCoverArtFromBuffer((char *)buffer, buflen);
+}
+
+void* CAirTunesServer::AudioOutputFunctions::audio_init(void *cls, int bits, int channels, int samplerate)
+{
+ XFILE::CPipeFile *pipe=(XFILE::CPipeFile *)cls;
+ pipe->OpenForWrite(XFILE::PipesManager::GetInstance().GetUniquePipeName());
+ pipe->SetOpenThreashold(300);
+
+ BXA_FmtHeader header;
+ strncpy(header.fourcc, "BXA ", 4);
+ header.type = BXA_PACKET_TYPE_FMT;
+ header.bitsPerSample = bits;
+ header.channels = channels;
+ header.sampleRate = samplerate;
+ header.durationMs = 0;
+
+ if (pipe->Write(&header, sizeof(header)) == 0)
+ return 0;
+
+ ThreadMessage tMsg = { TMSG_MEDIA_STOP };
+ g_application.getApplicationMessenger().SendMessage(tMsg, true);
+
+ CFileItem item;
+ item.SetPath(pipe->GetName());
+ item.SetMimeType("audio/x-xbmc-pcm");
+
+ ThreadMessage tMsg2 = { TMSG_GUI_ACTIVATE_WINDOW, WINDOW_VISUALISATION, 0 };
+ g_application.getApplicationMessenger().SendMessage(tMsg2, true);
+
+ g_application.getApplicationMessenger().PlayFile(item);
+
+ return "XBMC-AirTunes";//session
+}
+
+void CAirTunesServer::AudioOutputFunctions::audio_set_volume(void *cls, void *session, float volume)
+{
+ //volume from -144 - 0
+ float volPercent = 1 - volume/-144;
+ g_application.SetVolume(volPercent, false);//non-percent volume 0.0-1.0
+}
+
+void CAirTunesServer::AudioOutputFunctions::audio_process(void *cls, void *session, const void *buffer, int buflen)
+{
+ #define NUM_OF_BYTES 64
+ XFILE::CPipeFile *pipe=(XFILE::CPipeFile *)cls;
+ int sentBytes = 0;
+ unsigned char buf[NUM_OF_BYTES];
+
+ while (sentBytes < buflen)
+ {
+ int n = (buflen - sentBytes < NUM_OF_BYTES ? buflen - sentBytes : NUM_OF_BYTES);
+ memcpy(buf, (char*) buffer + sentBytes, n);
+
+ if (pipe->Write(buf, n) == 0)
+ return;
+
+ sentBytes += n;
+ }
+}
+
+void CAirTunesServer::AudioOutputFunctions::audio_flush(void *cls, void *session)
+{
+ XFILE::CPipeFile *pipe=(XFILE::CPipeFile *)cls;
+ pipe->Flush();
+}
+
+void CAirTunesServer::AudioOutputFunctions::audio_destroy(void *cls, void *session)
+{
+ XFILE::CPipeFile *pipe=(XFILE::CPipeFile *)cls;
+ pipe->SetEof();
+ pipe->Close();
+
+ //fix airplay video for ios5 devices
+ //on ios5 when airplaying video
+ //the client first opens an airtunes stream
+ //while the movie is loading
+ //in that case we don't want to stop the player here
+ //because this would stop the airplaying video
+#ifdef HAS_AIRPLAY
+ if (!CAirPlayServer::IsPlaying())
+#endif
+ {
+ ThreadMessage tMsg = { TMSG_MEDIA_STOP };
+ g_application.getApplicationMessenger().SendMessage(tMsg, true);
+ CLog::Log(LOGDEBUG, "AIRTUNES: AirPlay not running - stopping player");
+ }
+}
+
+void shairplay_log(int level, const char *msg)
+{
+ int xbmcLevel = LOGINFO;
+
+ switch(level)
+ {
+ case RAOP_LOG_EMERG: // system is unusable
+ xbmcLevel = LOGFATAL;
+ break;
+ case RAOP_LOG_ALERT: // action must be taken immediately
+ case RAOP_LOG_CRIT: // critical conditions
+ xbmcLevel = LOGSEVERE;
+ break;
+ case RAOP_LOG_ERR: // error conditions
+ xbmcLevel = LOGERROR;
+ break;
+ case RAOP_LOG_WARNING: // warning conditions
+ xbmcLevel = LOGWARNING;
+ break;
+ case RAOP_LOG_NOTICE: // normal but significant condition
+ xbmcLevel = LOGNOTICE;
+ break;
+ case RAOP_LOG_INFO: // informational
+ xbmcLevel = LOGINFO;
+ break;
+ case RAOP_LOG_DEBUG: // debug-level messages
+ xbmcLevel = LOGDEBUG;
+ break;
+ default:
+ break;
+ }
+ CLog::Log(xbmcLevel, "AIRTUNES: %s", msg);
+}
+
+#else
+
struct ao_device_xbmc
{
XFILE::CPipeFile *pipe;
@@ -214,6 +444,17 @@ char* CAirTunesServer::AudioOutputFunctions::ao_get_option(ao_option *options, c
return NULL;
}
+int shairport_log(const char* msg, size_t msgSize)
+{
+ if( g_advancedSettings.m_logEnableAirtunes)
+ {
+ CLog::Log(LOGDEBUG, "AIRTUNES: %s", msg);
+ }
+ return 1;
+}
+
+#endif
+
bool CAirTunesServer::StartServer(int port, bool nonlocal, bool usePassword, const CStdString &password/*=""*/)
{
bool success = false;
@@ -243,7 +484,9 @@ bool CAirTunesServer::StartServer(int port, bool nonlocal, bool usePassword, con
ServerInstance = new CAirTunesServer(port, nonlocal);
if (ServerInstance->Initialize(password))
{
+#ifndef TARGET_WINDOWS
ServerInstance->Create();
+#endif
success = true;
}
@@ -264,6 +507,9 @@ bool CAirTunesServer::StartServer(int port, bool nonlocal, bool usePassword, con
txt["sr"] = "44100";
txt["pw"] = "false";
txt["vn"] = "3";
+ txt["da"] = "true";
+ txt["vs"] = "130.14";
+ txt["md"] = "0,1,2";
txt["txtvers"] = "1";
CZeroconf::GetInstance()->PublishService("servers.airtunes", "_raop._tcp", appName, port, txt);
@@ -276,10 +522,12 @@ void CAirTunesServer::StopServer(bool bWait)
{
if (ServerInstance)
{
+#if !defined(TARGET_WINDOWS)
if (m_pLibShairport->IsLoaded())
{
m_pLibShairport->shairport_exit();
}
+#endif
ServerInstance->StopThread(bWait);
ServerInstance->Deinitialize();
if (bWait)
@@ -295,47 +543,98 @@ void CAirTunesServer::StopServer(bool bWait)
CAirTunesServer::CAirTunesServer(int port, bool nonlocal) : CThread("AirTunesServer")
{
m_port = port;
+#if defined(TARGET_WINDOWS)
+ m_pLibShairplay = new DllLibShairplay();
+ m_pPipe = new XFILE::CPipeFile;
+#else
m_pLibShairport = new DllLibShairport();
+#endif
}
CAirTunesServer::~CAirTunesServer()
{
+#if defined(TARGET_WINDOWS)
+ if (m_pLibShairplay->IsLoaded())
+ {
+ m_pLibShairplay->Unload();
+ }
+ delete m_pLibShairplay;
+ delete m_pPipe;
+#else
if (m_pLibShairport->IsLoaded())
{
m_pLibShairport->Unload();
}
delete m_pLibShairport;
+#endif
}
void CAirTunesServer::Process()
{
m_bStop = false;
+#if !defined(TARGET_WINDOWS)
while (!m_bStop && m_pLibShairport->shairport_is_running())
{
m_pLibShairport->shairport_loop();
}
+#endif
}
-int shairport_log(const char* msg, size_t msgSize)
+bool CAirTunesServer::Initialize(const CStdString &password)
{
- if( g_advancedSettings.m_logEnableAirtunes)
+ bool ret = false;
+
+ Deinitialize();
+
+#if defined(TARGET_WINDOWS)
+ if (m_pLibShairplay->Load())
{
- CLog::Log(LOGDEBUG, "AIRTUNES: %s", msg);
+
+ raop_callbacks_t ao;
+ ao.cls = m_pPipe;
+ ao.audio_init = AudioOutputFunctions::audio_init;
+ ao.audio_set_volume = AudioOutputFunctions::audio_set_volume;
+ ao.audio_set_metadata = AudioOutputFunctions::audio_set_metadata;
+ ao.audio_set_coverart = AudioOutputFunctions::audio_set_coverart;
+ ao.audio_process = AudioOutputFunctions::audio_process;
+ ao.audio_flush = AudioOutputFunctions::audio_flush;
+ ao.audio_destroy = AudioOutputFunctions::audio_destroy;
+ m_pLibShairplay->EnableDelayedUnload(false);
+ m_pRaop = m_pLibShairplay->raop_init(1, &ao, RSA_KEY);//1 - we handle one client at a time max
+ ret = m_pRaop != NULL;
+
+ if(ret)
+ {
+ char macAdr[6];
+ unsigned short port = (unsigned short)m_port;
+
+ m_pLibShairplay->raop_set_log_level(m_pRaop, RAOP_LOG_WARNING);
+ if(g_advancedSettings.m_logEnableAirtunes)
+ {
+ m_pLibShairplay->raop_set_log_level(m_pRaop, RAOP_LOG_DEBUG);
+ }
+
+ m_pLibShairplay->raop_set_log_callback(m_pRaop, shairplay_log);
+
+ CNetworkInterface *net = g_application.getNetwork().GetFirstConnectedInterface();
+
+ if (net)
+ {
+ net->GetMacAddressRaw(macAdr);
+ }
+
+ ret = m_pLibShairplay->raop_start(m_pRaop, &port, macAdr, 6, password.c_str()) >= 0;
+ }
}
- return 1;
-}
-bool CAirTunesServer::Initialize(const CStdString &password)
-{
- bool ret = false;
+#else
+
int numArgs = 3;
CStdString hwStr;
CStdString pwStr;
CStdString portStr;
- Deinitialize();
-
hwStr.Format("--mac=%s", m_macAddress.c_str());
pwStr.Format("--password=%s",password.c_str());
portStr.Format("--server_port=%d",m_port);
@@ -368,16 +667,27 @@ bool CAirTunesServer::Initialize(const CStdString &password)
m_pLibShairport->shairport_main(numArgs, argv);
ret = true;
}
+#endif
return ret;
}
void CAirTunesServer::Deinitialize()
{
+#if defined(TARGET_WINDOWS)
+ if (m_pLibShairplay && m_pLibShairplay->IsLoaded())
+ {
+ m_pLibShairplay->raop_stop(m_pRaop);
+ m_pLibShairplay->raop_destroy(m_pRaop);
+ m_pLibShairplay->Unload();
+ }
+#else
if (m_pLibShairport && m_pLibShairport->IsLoaded())
{
m_pLibShairport->shairport_exit();
m_pLibShairport->Unload();
}
+#endif
}
#endif
+
diff --git a/xbmc/network/AirTunesServer.h b/xbmc/network/AirTunesServer.h
index da893df..4a30e0a 100644
--- a/xbmc/network/AirTunesServer.h
+++ b/xbmc/network/AirTunesServer.h
@@ -26,7 +26,11 @@
#ifdef HAS_AIRTUNES
+#if defined(TARGET_WINDOWS)
+#include "DllLibShairplay.h"
+#else
#include "DllLibShairport.h"
+#endif
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
@@ -41,11 +45,14 @@
class DllLibShairport;
+
class CAirTunesServer : public CThread
{
public:
static bool StartServer(int port, bool nonlocal, bool usePassword, const CStdString &password="");
static void StopServer(bool bWait);
+ static void SetMetadataFromBuffer(const char *buffer, unsigned int size);
+ static void SetCoverArtFromBuffer(const char *buffer, unsigned int size);
protected:
void Process();
@@ -57,13 +64,28 @@ class CAirTunesServer : public CThread
void Deinitialize();
int m_port;
+#if defined(TARGET_WINDOWS)
+ static DllLibShairplay *m_pLibShairplay;//the lib
+ raop_t *m_pRaop;
+ XFILE::CPipeFile *m_pPipe;
+#else
static DllLibShairport *m_pLibShairport;//the lib
+#endif
static CAirTunesServer *ServerInstance;
static CStdString m_macAddress;
class AudioOutputFunctions
{
public:
+#if defined(TARGET_WINDOWS)
+ static void* audio_init(void *cls, int bits, int channels, int samplerate);
+ static void audio_set_volume(void *cls, void *session, float volume);
+ static void audio_set_metadata(void *cls, void *session, const void *buffer, int buflen);
+ static void audio_set_coverart(void *cls, void *session, const void *buffer, int buflen);
+ static void audio_process(void *cls, void *session, const void *buffer, int buflen);
+ static void audio_flush(void *cls, void *session);
+ static void audio_destroy(void *cls, void *session);
+#else
static void ao_initialize(void);
static int ao_play(ao_device *device, char *output_samples, uint32_t num_bytes);
static int ao_default_driver_id(void);
@@ -74,6 +96,7 @@ class CAirTunesServer : public CThread
static int ao_append_option(ao_option **options, const char *key, const char *value);
static void ao_free_options(ao_option *options);
static char* ao_get_option(ao_option *options, const char* key);
+#endif
};
};
--
1.7.10

View File

@ -1,64 +0,0 @@
From b7fb4615609c684a98dc1cc27906aaa0f117837f Mon Sep 17 00:00:00 2001
From: Memphiz <memphis@machzwo.de>
Date: Wed, 9 May 2012 18:53:45 +0200
Subject: [PATCH] [airtunes] - add dmap metadata parsing
---
xbmc/network/AirTunesServer.cpp | 13 ++++++++++++-
xbmc/network/AirTunesServer.h | 2 ++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/xbmc/network/AirTunesServer.cpp b/xbmc/network/AirTunesServer.cpp
index e14da90..2ad097e 100644
--- a/xbmc/network/AirTunesServer.cpp
+++ b/xbmc/network/AirTunesServer.cpp
@@ -47,7 +47,6 @@
#include <map>
#include <string>
-
using namespace XFILE;
#if defined(TARGET_WINDOWS)
@@ -390,6 +389,16 @@ int CAirTunesServer::AudioOutputFunctions::ao_close(ao_device *device)
return 0;
}
+void CAirTunesServer::AudioOutputFunctions::ao_set_metadata(const char *buffer, unsigned int size)
+{
+ CAirTunesServer::SetMetadataFromBuffer(buffer, size);
+}
+
+void CAirTunesServer::AudioOutputFunctions::ao_set_metadata_coverart(const char *buffer, unsigned int size)
+{
+ CAirTunesServer::SetCoverArtFromBuffer(buffer, size);
+}
+
/* -- Device Setup/Playback/Teardown -- */
int CAirTunesServer::AudioOutputFunctions::ao_append_option(ao_option **options, const char *key, const char *value)
{
@@ -658,6 +667,8 @@ bool CAirTunesServer::Initialize(const CStdString &password)
ao.ao_append_option = AudioOutputFunctions::ao_append_option;
ao.ao_free_options = AudioOutputFunctions::ao_free_options;
ao.ao_get_option = AudioOutputFunctions::ao_get_option;
+ ao.ao_set_metadata = AudioOutputFunctions::ao_set_metadata;
+ ao.ao_set_metadata_coverart = AudioOutputFunctions::ao_set_metadata_coverart;
struct printfPtr funcPtr;
funcPtr.extprintf = shairport_log;
diff --git a/xbmc/network/AirTunesServer.h b/xbmc/network/AirTunesServer.h
index 4a30e0a..0a4ce5a 100644
--- a/xbmc/network/AirTunesServer.h
+++ b/xbmc/network/AirTunesServer.h
@@ -96,6 +96,8 @@ class CAirTunesServer : public CThread
static int ao_append_option(ao_option **options, const char *key, const char *value);
static void ao_free_options(ao_option *options);
static char* ao_get_option(ao_option *options, const char* key);
+ static void ao_set_metadata(const char *buffer, unsigned int size);
+ static void ao_set_metadata_coverart(const char *buffer, unsigned int size);
#endif
};
};
--
1.7.10

View File

@ -1,177 +0,0 @@
From 23ce80d7f303aa3fb282a67b973c20a2e84e48d2 Mon Sep 17 00:00:00 2001
From: Memphiz <memphis@machzwo.de>
Date: Fri, 4 May 2012 19:19:26 +0200
Subject: [PATCH 2/2] [nfs] - make impl compatible with latest libnfs and
avoid usage of off64_t and size_t
---
xbmc/filesystem/DllLibNfs.h | 36 ++++++++++++++++++------------------
xbmc/filesystem/NFSFile.cpp | 10 +++++-----
xbmc/filesystem/NFSFile.h | 8 ++++----
3 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/xbmc/filesystem/DllLibNfs.h b/xbmc/filesystem/DllLibNfs.h
index 37dfc9c..54c6872 100644
--- a/xbmc/filesystem/DllLibNfs.h
+++ b/xbmc/filesystem/DllLibNfs.h
@@ -44,8 +44,8 @@ class DllLibNfsInterface
virtual void free_nfs_srvr_list(struct nfs_server_list *srv)=0;
virtual struct nfs_context *nfs_init_context(void)=0;
virtual void nfs_destroy_context(struct nfs_context *nfs)=0;
- virtual size_t nfs_get_readmax(struct nfs_context *nfs)=0;
- virtual size_t nfs_get_writemax(struct nfs_context *nfs)=0;
+ virtual uint64_t nfs_get_readmax(struct nfs_context *nfs)=0;
+ virtual uint64_t nfs_get_writemax(struct nfs_context *nfs)=0;
virtual char *nfs_get_error(struct nfs_context *nfs)=0;
virtual int nfs_close(struct nfs_context *nfs, struct nfsfh *nfsfh)=0;
virtual int nfs_fsync(struct nfs_context *nfs, struct nfsfh *nfsfh)=0;
@@ -57,8 +57,8 @@ class DllLibNfsInterface
virtual int nfs_mount(struct nfs_context *nfs, const char *server, const char *exportname)=0;
virtual int nfs_stat(struct nfs_context *nfs, const char *path, struct stat *st)=0;
virtual int nfs_fstat(struct nfs_context *nfs, struct nfsfh *nfsfh, struct stat *st)=0;
- virtual int nfs_truncate(struct nfs_context *nfs, const char *path, off64_t length)=0;
- virtual int nfs_ftruncate(struct nfs_context *nfs, struct nfsfh *nfsfh, off64_t length)=0;
+ virtual int nfs_truncate(struct nfs_context *nfs, const char *path, uint64_t length)=0;
+ virtual int nfs_ftruncate(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t length)=0;
virtual int nfs_opendir(struct nfs_context *nfs, const char *path, struct nfsdir **nfsdir)=0;
virtual int nfs_statvfs(struct nfs_context *nfs, const char *path, struct statvfs *svfs)=0;
virtual int nfs_chmod(struct nfs_context *nfs, const char *path, int mode)=0;
@@ -73,12 +73,12 @@ class DllLibNfsInterface
virtual int nfs_chown(struct nfs_context *nfs, const char *path, int uid, int gid)=0;
virtual int nfs_fchown(struct nfs_context *nfs, struct nfsfh *nfsfh, int uid, int gid)=0;
virtual int nfs_open(struct nfs_context *nfs, const char *path, int mode, struct nfsfh **nfsfh)=0;
- virtual int nfs_read(struct nfs_context *nfs, struct nfsfh *nfsfh, size_t count, char *buf)=0;
- virtual int nfs_write(struct nfs_context *nfs, struct nfsfh *nfsfh, size_t count, char *buf)=0;
+ virtual int nfs_read(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t count, char *buf)=0;
+ virtual int nfs_write(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t count, char *buf)=0;
virtual int nfs_creat(struct nfs_context *nfs, const char *path, int mode, struct nfsfh **nfsfh)=0;
- virtual int nfs_pread(struct nfs_context *nfs, struct nfsfh *nfsfh, off64_t offset, size_t count, char *buf)=0;
- virtual int nfs_pwrite(struct nfs_context *nfs, struct nfsfh *nfsfh, off64_t offset, size_t count, char *buf)=0;
- virtual int nfs_lseek(struct nfs_context *nfs, struct nfsfh *nfsfh, off64_t offset, int whence, off64_t *current_offset)=0;
+ virtual int nfs_pread(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t offset, uint64_t count, char *buf)=0;
+ virtual int nfs_pwrite(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t offset, uint64_t count, char *buf)=0;
+ virtual int nfs_lseek(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t offset, int whence, uint64_t *current_offset)=0;
};
class DllLibNfs : public DllDynamic, DllLibNfsInterface
@@ -90,8 +90,8 @@ class DllLibNfs : public DllDynamic, DllLibNfsInterface
DEFINE_METHOD1(struct exportnode *, mount_getexports, (const char *p1))
DEFINE_METHOD1(void, mount_free_export_list, (struct exportnode *p1))
DEFINE_METHOD1(void, nfs_destroy_context, (struct nfs_context *p1))
- DEFINE_METHOD1(size_t, nfs_get_readmax, (struct nfs_context *p1))
- DEFINE_METHOD1(size_t, nfs_get_writemax, (struct nfs_context *p1))
+ DEFINE_METHOD1(uint64_t, nfs_get_readmax, (struct nfs_context *p1))
+ DEFINE_METHOD1(uint64_t, nfs_get_writemax, (struct nfs_context *p1))
DEFINE_METHOD1(char *, nfs_get_error, (struct nfs_context *p1))
DEFINE_METHOD2(struct nfsdirent *, nfs_readdir, (struct nfs_context *p1, struct nfsdir *p2))
DEFINE_METHOD2(int, nfs_fsync, (struct nfs_context *p1, struct nfsfh *p2))
@@ -103,8 +103,8 @@ class DllLibNfs : public DllDynamic, DllLibNfsInterface
DEFINE_METHOD3(int, nfs_mount, (struct nfs_context *p1, const char *p2, const char *p3))
DEFINE_METHOD3(int, nfs_stat, (struct nfs_context *p1, const char *p2, struct stat *p3))
DEFINE_METHOD3(int, nfs_fstat, (struct nfs_context *p1, struct nfsfh *p2, struct stat *p3))
- DEFINE_METHOD3(int, nfs_truncate, (struct nfs_context *p1, const char *p2, off64_t p3))
- DEFINE_METHOD3(int, nfs_ftruncate, (struct nfs_context *p1, struct nfsfh *p2, off64_t p3))
+ DEFINE_METHOD3(int, nfs_truncate, (struct nfs_context *p1, const char *p2, uint64_t p3))
+ DEFINE_METHOD3(int, nfs_ftruncate, (struct nfs_context *p1, struct nfsfh *p2, uint64_t p3))
DEFINE_METHOD3(int, nfs_opendir, (struct nfs_context *p1, const char *p2, struct nfsdir **p3))
DEFINE_METHOD3(int, nfs_statvfs, (struct nfs_context *p1, const char *p2, struct statvfs *p3))
DEFINE_METHOD3(int, nfs_chmod, (struct nfs_context *p1, const char *p2, int p3))
@@ -116,15 +116,15 @@ class DllLibNfs : public DllDynamic, DllLibNfsInterface
DEFINE_METHOD3(int, nfs_rename, (struct nfs_context *p1, const char *p2, const char *p3))
DEFINE_METHOD3(int, nfs_link, (struct nfs_context *p1, const char *p2, const char *p3))
DEFINE_METHOD4(int, nfs_open, (struct nfs_context *p1, const char *p2, int p3, struct nfsfh **p4))
- DEFINE_METHOD4(int, nfs_read, (struct nfs_context *p1, struct nfsfh *p2, size_t p3, char *p4))
- DEFINE_METHOD4(int, nfs_write, (struct nfs_context *p1, struct nfsfh *p2, size_t p3, char *p4))
+ DEFINE_METHOD4(int, nfs_read, (struct nfs_context *p1, struct nfsfh *p2, uint64_t p3, char *p4))
+ DEFINE_METHOD4(int, nfs_write, (struct nfs_context *p1, struct nfsfh *p2, uint64_t p3, char *p4))
DEFINE_METHOD4(int, nfs_creat, (struct nfs_context *p1, const char *p2, int p3, struct nfsfh **p4))
DEFINE_METHOD4(int, nfs_readlink, (struct nfs_context *p1, const char *p2, char *p3, int p4))
DEFINE_METHOD4(int, nfs_chown, (struct nfs_context *p1, const char *p2, int p3, int p4))
DEFINE_METHOD4(int, nfs_fchown, (struct nfs_context *p1, struct nfsfh *p2, int p3, int p4))
- DEFINE_METHOD5(int, nfs_pread, (struct nfs_context *p1, struct nfsfh *p2, off64_t p3, size_t p4, char *p5))
- DEFINE_METHOD5(int, nfs_pwrite, (struct nfs_context *p1, struct nfsfh *p2, off64_t p3, size_t p4, char *p5))
- DEFINE_METHOD5(int, nfs_lseek, (struct nfs_context *p1, struct nfsfh *p2, off64_t p3, int p4, off64_t *p5))
+ DEFINE_METHOD5(int, nfs_pread, (struct nfs_context *p1, struct nfsfh *p2, uint64_t p3, uint64_t p4, char *p5))
+ DEFINE_METHOD5(int, nfs_pwrite, (struct nfs_context *p1, struct nfsfh *p2, uint64_t p3, uint64_t p4, char *p5))
+ DEFINE_METHOD5(int, nfs_lseek, (struct nfs_context *p1, struct nfsfh *p2, uint64_t p3, int p4, uint64_t *p5))
diff --git a/xbmc/filesystem/FileNFS.cpp b/xbmc/filesystem/FileNFS.cpp
index 2f820f7..751eb54 100644
--- a/xbmc/filesystem/FileNFS.cpp
+++ b/xbmc/filesystem/FileNFS.cpp
@@ -375,7 +375,7 @@ void CNfsConnection::resetKeepAlive(struct nfsfh *_pFileHandle)
//we were before
void CNfsConnection::keepAlive(struct nfsfh *_pFileHandle)
{
- off64_t offset = 0;
+ uint64_t offset = 0;
char buffer[32];
CLog::Log(LOGNOTICE, "NFS: sending keep alive after %i s.",KEEP_ALIVE_TIMEOUT/2);
CSingleLock lock(*this);
@@ -461,7 +461,7 @@ void CNfsConnection::AddIdleConnection()
int64_t CNFSFile::GetPosition()
{
int ret = 0;
- off64_t offset = 0;
+ uint64_t offset = 0;
CSingleLock lock(gNfsConnection);
if (gNfsConnection.GetNfsContext() == NULL || m_pFileHandle == NULL) return 0;
@@ -587,7 +587,7 @@ unsigned int CNFSFile::Read(void *lpBuf, int64_t uiBufSize)
if (m_pFileHandle == NULL || m_pNfsContext == NULL ) return 0;
- numberOfBytesRead = gNfsConnection.GetImpl()->nfs_read(m_pNfsContext, m_pFileHandle, (size_t)uiBufSize, (char *)lpBuf);
+ numberOfBytesRead = gNfsConnection.GetImpl()->nfs_read(m_pNfsContext, m_pFileHandle, uiBufSize, (char *)lpBuf);
lock.Leave();//no need to keep the connection lock after that
@@ -605,7 +605,7 @@ unsigned int CNFSFile::Read(void *lpBuf, int64_t uiBufSize)
int64_t CNFSFile::Seek(int64_t iFilePosition, int iWhence)
{
int ret = 0;
- off64_t offset = 0;
+ uint64_t offset = 0;
CSingleLock lock(gNfsConnection);
if (m_pFileHandle == NULL || m_pNfsContext == NULL) return -1;
@@ -667,7 +667,7 @@ int CNFSFile::Write(const void* lpBuf, int64_t uiBufSize)
//write chunk
writtenBytes = gNfsConnection.GetImpl()->nfs_write(m_pNfsContext,
m_pFileHandle,
- (size_t)chunkSize,
+ chunkSize,
(char *)lpBuf + numberOfBytesWritten);
//decrease left bytes
leftBytes-= writtenBytes;
diff --git a/xbmc/filesystem/FileNFS.h b/xbmc/filesystem/FileNFS.h
index 47d8d4a..df131b0 100644
--- a/xbmc/filesystem/FileNFS.h
+++ b/xbmc/filesystem/FileNFS.h
@@ -65,8 +65,8 @@ class CNfsConnection : public CCriticalSection
~CNfsConnection();
bool Connect(const CURL &url, CStdString &relativePath);
struct nfs_context *GetNfsContext(){return m_pNfsContext;}
- size_t GetMaxReadChunkSize(){return m_readChunkSize;}
- size_t GetMaxWriteChunkSize(){return m_writeChunkSize;}
+ uint64_t GetMaxReadChunkSize(){return m_readChunkSize;}
+ uint64_t GetMaxWriteChunkSize(){return m_writeChunkSize;}
DllLibNfs *GetImpl(){return m_pLibNfs;}
std::list<CStdString> GetExportList(const CURL &url);
//this functions splits the url into the exportpath (feed to mount) and the rest of the path
@@ -96,8 +96,8 @@ class CNfsConnection : public CCriticalSection
CStdString m_exportPath;//current connected export path
CStdString m_hostName;//current connected host
CStdString m_resolvedHostName;//current connected host - as ip
- size_t m_readChunkSize;//current read chunksize of connected server
- size_t m_writeChunkSize;//current write chunksize of connected server
+ uint64_t m_readChunkSize;//current read chunksize of connected server
+ uint64_t m_writeChunkSize;//current write chunksize of connected server
int m_OpenConnections;//number of open connections
unsigned int m_IdleTimeout;//timeout for idle connection close and dyunload
tFileKeepAliveMap m_KeepAliveTimeouts;//mapping filehandles to its idle timeout
--
1.7.10

View File

@ -1,27 +0,0 @@
diff --git a/xbmc/filesystem/PluginDirectory.cpp b/xbmc/filesystem/PluginDirectory.cpp
index 9e519fb..b64267b 100644
--- a/xbmc/filesystem/PluginDirectory.cpp
+++ b/xbmc/filesystem/PluginDirectory.cpp
@@ -479,7 +479,7 @@ bool CPluginDirectory::WaitOnScriptResult(const CStdString &scriptPath, const CS
}
// check whether we should pop up the progress dialog
- if (!progressBar && XbmcThreads::SystemClockMillis() - startTime > timeBeforeProgressBar)
+ if (!progressBar && XbmcThreads::SystemClockMillis() - startTime > timeBeforeProgressBar && !g_windowManager.HasModalDialog())
{ // loading takes more then 1.5 secs, show a progress dialog
progressBar = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
diff --git a/xbmc/interfaces/python/xbmcmodule/keyboard.cpp b/xbmc/interfaces/python/xbmcmodule/keyboard.cpp
index 0330215..0604a65 100644
--- a/xbmc/interfaces/python/xbmcmodule/keyboard.cpp
+++ b/xbmc/interfaces/python/xbmcmodule/keyboard.cpp
@@ -92,6 +92,9 @@ namespace PYXBMC
if (!PyArg_ParseTuple(args, (char*)"|i", &autoClose)) return NULL;
+ if (g_windowManager.IsWindowActive(WINDOW_DIALOG_PROGRESS))
+ g_windowManager.CloseDialogs();
+
PyXBMCGUILock();
pKeyboard->Initialize();
pKeyboard->SetHeading(self->strHeading);

View File

@ -1,12 +0,0 @@
diff -Naur xbmc-pvr-11.0.2/system/peripherals.xml xbmc-pvr-11.0.2.patch/system/peripherals.xml
--- xbmc-pvr-11.0.2/system/peripherals.xml 2012-07-05 21:04:48.000000000 +0200
+++ xbmc-pvr-11.0.2.patch/system/peripherals.xml 2012-09-17 23:54:58.559892913 +0200
@@ -8,7 +8,7 @@
<setting key="key_user" value="" label="36004" />
</peripheral>
- <peripheral vendor_product="2548:1001" bus="usb" name="Pulse-Eight CEC Adaptor" mapTo="cec">
+ <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adaptor" mapTo="cec">
<setting key="enabled" type="bool" value="1" label="305" />
<setting key="port" type="string" value="" label="792" />
<setting key="cec_hdmi_port" type="int" value="1" min="1" max="16" label="36015" />

View File

@ -46,6 +46,9 @@ elif [ -f /sys/class/hwmon/hwmon0/device/temp1_input ]; then
elif [ -f /sys/class/hwmon/hwmon0/device/temp2_input ]; then
# used on ION systems
TEMP=`cat /sys/class/hwmon/hwmon0/device/temp2_input`
elif [ -f /sys/class/thermal/thermal_zone0/temp ]; then
# used on RaspberryPi
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
fi
echo "$(( $TEMP / 1000 )) C"

View File

@ -1,9 +1,5 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
else
DISTRONAME="OpenELEC"
fi
DISTRONAME="OpenELEC"
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
@ -108,11 +104,7 @@
SQUASHFS_COMPRESSION="gzip"
# Mediacenter to use (xbmc / no)
if [ "$XBMC" = frodo ]; then
MEDIACENTER="xbmc-frodo"
else
MEDIACENTER="xbmc"
fi
MEDIACENTER="xbmc"
# Skins to install (Confluence)
# Space separated list is supported,

View File

@ -1,9 +1,5 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
else
DISTRONAME="OpenELEC"
fi
DISTRONAME="OpenELEC"
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
@ -107,11 +103,7 @@
SQUASHFS_COMPRESSION="gzip"
# Mediacenter to use (xbmc / no)
if [ "$XBMC" = frodo ]; then
MEDIACENTER="xbmc-frodo"
else
MEDIACENTER="xbmc"
fi
MEDIACENTER="xbmc"
# Skins to install (Confluence)
# Space separated list is supported,

View File

@ -1,9 +1,5 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
else
DISTRONAME="OpenELEC"
fi
DISTRONAME="OpenELEC"
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
@ -107,11 +103,7 @@
SQUASHFS_COMPRESSION="gzip"
# Mediacenter to use (xbmc / no)
if [ "$XBMC" = frodo ]; then
MEDIACENTER="xbmc-frodo"
else
MEDIACENTER="xbmc"
fi
MEDIACENTER="xbmc"
# Skins to install (Confluence)
# Space separated list is supported,

View File

@ -1,9 +1,5 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
else
DISTRONAME="OpenELEC"
fi
DISTRONAME="OpenELEC"
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
@ -107,11 +103,7 @@
SQUASHFS_COMPRESSION="gzip"
# Mediacenter to use (xbmc / no)
if [ "$XBMC" = frodo ]; then
MEDIACENTER="xbmc-frodo"
else
MEDIACENTER="xbmc"
fi
MEDIACENTER="xbmc"
# Skins to install (Confluence)
# Space separated list is supported,

View File

@ -1,9 +1,5 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
else
DISTRONAME="OpenELEC"
fi
DISTRONAME="OpenELEC"
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
@ -107,11 +103,7 @@
SQUASHFS_COMPRESSION="gzip"
# Mediacenter to use (xbmc / no)
if [ "$XBMC" = frodo ]; then
MEDIACENTER="xbmc-frodo"
else
MEDIACENTER="xbmc"
fi
MEDIACENTER="xbmc"
# Skins to install (Confluence)
# Space separated list is supported,

Some files were not shown because too many files have changed in this diff Show More