diff --git a/packages/addons/service/multimedia/boblightd/addon b/packages/addons/service/multimedia/boblightd/addon index 74c9f9966e..e7dda29b0b 100755 --- a/packages/addons/service/multimedia/boblightd/addon +++ b/packages/addons/service/multimedia/boblightd/addon @@ -35,7 +35,7 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin fi mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config - cp -R $PKG_DIR/config/boblight.conf.sample $ADDON_BUILD/$PKG_ADDON_ID/config + cp -R $PKG_DIR/config/boblight.conf $ADDON_BUILD/$PKG_ADDON_ID/config if [ "$DISPLAYSERVER" = "xorg-server" ] ; then cp -R $PKG_DIR/config/boblight.X11.sample $ADDON_BUILD/$PKG_ADDON_ID/config fi diff --git a/packages/addons/service/multimedia/boblightd/config/boblight.conf.sample b/packages/addons/service/multimedia/boblightd/config/boblight.conf similarity index 100% rename from packages/addons/service/multimedia/boblightd/config/boblight.conf.sample rename to packages/addons/service/multimedia/boblightd/config/boblight.conf diff --git a/packages/addons/service/multimedia/boblightd/source/bin/boblightd.start b/packages/addons/service/multimedia/boblightd/source/bin/boblightd.start index 484ea79f02..54ac7b21ee 100755 --- a/packages/addons/service/multimedia/boblightd/source/bin/boblightd.start +++ b/packages/addons/service/multimedia/boblightd/source/bin/boblightd.start @@ -29,52 +29,15 @@ ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.boblightd" mkdir -p $ADDON_HOME -LOG_FILE="$ADDON_HOME/service.log" +chmod a+x $ADDON_DIR/bin/* -# Boblight config file created by user -BOBLIGHT_CONFIG="$ADDON_HOME/boblight.conf" - -# Flag file to start boblight-x11 daemon -BOBLIGHT_X11="$ADDON_HOME/boblight.X11" - -LOCKDIR="/var/lock/" -LOCKFILE="boblightd.disabled" -LOCKFILE_SLEEP="boblightd.sleep" - -export LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" - -cp -R $ADDON_DIR/config/*.sample $ADDON_HOME > $LOG_FILE 2>&1 - -rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null -boblightd.stop -rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null - -if [ -f "$BOBLIGHT_CONFIG" ] ; then - if [ ! "$(pidof boblightd)" ]; then - while [ true ] ; do - while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do - usleep 100000 - done - if [ -f "$LOCKDIR/$LOCKFILE" ] ; then - break - fi - # Start the boblight daemon - boblightd -c $BOBLIGHT_CONFIG >> $LOG_FILE 2>&1 - done & - fi - - if [ -e $BOBLIGHT_X11 ]; then - if [ ! "$(pidof boblight-X11)" ]; then - while [ true ] ; do - while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do - usleep 100000 - done - if [ -f "$LOCKDIR/$LOCKFILE" ] ; then - break - fi - # Start the boblight daemon - boblight-X11 >> $LOG_FILE 2>&1 - done & - fi - fi +cp $ADDON_DIR/config/*.sample $ADDON_HOME +if [ ! -f $ADDON_HOME/boblight.conf ] ; then + cp $ADDON_DIR/config/boblight.conf $ADDON_HOME/boblight.conf fi + +if [ -x $ADDON_DIR/bin/boblight-X11 -a -e $ADDON_HOME/boblight.X11 ] ; then + boblight-X11 -f >/dev/null 2>&1 +fi + +exec boblightd -c $ADDON_HOME/boblight.conf > $ADDON_HOME/service.log 2>&1 diff --git a/packages/addons/service/multimedia/boblightd/source/bin/boblightd.stop b/packages/addons/service/multimedia/boblightd/source/bin/boblightd.stop deleted file mode 100644 index d7c5040f67..0000000000 --- a/packages/addons/service/multimedia/boblightd/source/bin/boblightd.stop +++ /dev/null @@ -1,45 +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 - -LOCKDIR="/var/lock/" -LOCKFILE="boblightd.disabled" -LOCKFILE_SLEEP="boblightd.sleep" - -mkdir -p "$LOCKDIR" -if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then - touch "$LOCKDIR/$LOCKFILE" -fi - -if [ "$(pidof boblightd)" ] ; then - killall -q boblightd - killall -q boblight-X11 - for seq in `seq 1 10` ; do - if [ ! "$(pidof boblightd boblight-X11)" ] ; then - break - fi - usleep 200000 - done - killall -q -9 boblightd - killall -q -9 boblight-X11 -fi diff --git a/packages/addons/service/multimedia/boblightd/source/default.py b/packages/addons/service/multimedia/boblightd/source/default.py index 54748996aa..6f814651a2 100644 --- a/packages/addons/service/multimedia/boblightd/source/default.py +++ b/packages/addons/service/multimedia/boblightd/source/default.py @@ -17,27 +17,3 @@ # the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. # http://www.gnu.org/copyleft/gpl.html ################################################################################ - -import os -import sys -import xbmcaddon -import time -import subprocess - -__scriptname__ = "Boblightd" -__author__ = "OpenELEC" -__url__ = "http://www.openelec.tv" -__settings__ = xbmcaddon.Addon(id='service.multimedia.boblightd') -__cwd__ = __settings__.getAddonInfo('path') -__start__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "boblightd.start") ) -__stop__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "boblightd.stop") ) - -#make binary files executable in adson bin folder -subprocess.Popen("chmod -R +x " + __cwd__ + "/bin/*" , shell=True, close_fds=True) - -subprocess.Popen(__start__, shell=True, close_fds=True) - -while (not xbmc.abortRequested): - time.sleep(0.250) - -subprocess.Popen(__stop__, shell=True, close_fds=True) diff --git a/packages/addons/service/multimedia/boblightd/source/sleep.d/boblightd.power b/packages/addons/service/multimedia/boblightd/source/sleep.d/boblightd.power index f5b97f75bf..a16e606b77 100644 --- a/packages/addons/service/multimedia/boblightd/source/sleep.d/boblightd.power +++ b/packages/addons/service/multimedia/boblightd/source/sleep.d/boblightd.power @@ -22,20 +22,17 @@ . /etc/profile -LOCKFILE_SLEEP="/var/lock/boblightd.sleep" +SERVICE="service.multimedia.boblightd.service" case "$1" in - hibernate|suspend|pre) - progress "Shutting down boblightd for suspending..." - touch $LOCKFILE_SLEEP - boblightd.stop - ;; - thaw|resume|post) - if [ -f "$LOCKFILE_SLEEP" ] ; then - progress "Restarting boblightd for wakeup..." - rm -rf "$LOCKFILE_SLEEP" + pre) + if systemctl is-active "$SERVICE" &>/dev/null ; then + systemctl stop "$SERVICE" fi ;; - *) exit $NA + post) + if systemctl is-enabled "$SERVICE" &>/dev/null ; then + systemctl start "$SERVICE" + fi ;; esac diff --git a/packages/addons/service/multimedia/boblightd/source/system.d/service.multimedia.boblightd.service b/packages/addons/service/multimedia/boblightd/source/system.d/service.multimedia.boblightd.service new file mode 100644 index 0000000000..dec0fcdd4c --- /dev/null +++ b/packages/addons/service/multimedia/boblightd/source/system.d/service.multimedia.boblightd.service @@ -0,0 +1,14 @@ +[Unit] +Description=boblightd +After=graphical.target + +[Service] +ExecStart=/bin/sh -c "exec sh /storage/.xbmc/addons/service.multimedia.boblightd/bin/boblightd.start" +ExecStopPost=-/bin/sh -c "pidof boblight-X11 && killall -q -9 boblight-X11" +TimeoutStopSec=1 +Restart=always +RestartSec=10 +StartLimitInterval=0 + +[Install] +WantedBy=xbmc.target diff --git a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start b/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start index f56e3c39fb..f11952d32c 100755 --- a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start +++ b/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start @@ -22,14 +22,8 @@ . /etc/profile -LOCKDIR="/var/lock/" -LOCKFILE="tvheadend.disabled" -LOCKFILE_SLEEP="tvheadend.sleep" - ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.tvheadend" -ADDON_SYS_DIR="/usr/lib/xbmc/addons/service.multimedia.tvheadend" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.tvheadend" -ADDON_BIN="tvheadend" LOG_FILE="$ADDON_HOME/service.log" ADDON_SETTINGS="$ADDON_HOME/settings.xml" XMLTV_FILE="$ADDON_DIR/bin/tv_grab_file" @@ -42,29 +36,13 @@ TIMESHIFT_SETTINGS_DIR="$ADDON_HOME/timeshift" TIMESHIFT_SETTINGS_FILE="$TIMESHIFT_SETTINGS_DIR/config" TIMESHIFT_DIR="$ADDON_HOME/cache/timeshift" -## handle upgrade. this should be removed later - -# remove any old hts-tvheadend dir -if [ -d $HOME/.xbmc/addons/service.multimedia.hts-tvheadend ] ; then - # stop old service if runing - $HOME/.xbmc/addons/service.multimedia.hts-tvheadend/bin/tvheadend.stop - rm -rf $HOME/.xbmc/addons/service.multimedia.hts-tvheadend -fi - -# reuse old config files -if [ -d $HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend ] ; then - mv $HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend $ADDON_HOME - sed -i 's/service.multimedia.hts-tvheadend/service.multimedia.tvheadend/g' $ADDON_HOME/xmltv/config -fi -## - mkdir -p $ADDON_HOME +chmod a+x $ADDON_DIR/bin/* + if [ ! -f "$ADDON_SETTINGS" ]; then if [ -f $ADDON_DIR/settings-default.xml ]; then cp $ADDON_DIR/settings-default.xml $ADDON_SETTINGS - elif [ -f $ADDON_SYS_DIR/settings-default.xml ]; then - cp $ADDON_SYS_DIR/settings-default.xml $ADDON_SETTINGS fi fi @@ -72,8 +50,6 @@ if [ ! -f "$XMLTV_SETTINGS_FILE" ]; then mkdir -p $XMLTV_SETTINGS_DIR if [ -f $ADDON_DIR/xmltv-config ]; then cp $ADDON_DIR/xmltv-config $XMLTV_SETTINGS_FILE - elif [ -f $ADDON_SYS_DIR/xmltv-config ]; then - cp $ADDON_SYS_DIR/xmltv-config $XMLTV_SETTINGS_FILE fi fi @@ -82,8 +58,6 @@ if [ ! -f "$DVR_SETTINGS_FILE" ]; then mkdir -p $DVR_SETTINGS_DIR if [ -f $ADDON_DIR/dvr-config ]; then cp $ADDON_DIR/dvr-config $DVR_SETTINGS_FILE - elif [ -f $ADDON_SYS_DIR/dvr-config ]; then - cp $ADDON_SYS_DIR/dvr-config $DVR_SETTINGS_FILE fi fi @@ -92,8 +66,6 @@ if [ ! -f "$TIMESHIFT_SETTINGS_FILE" ]; then mkdir -p $TIMESHIFT_SETTINGS_DIR if [ -f $ADDON_DIR/timeshift-config ]; then cp $ADDON_DIR/timeshift-config $TIMESHIFT_SETTINGS_FILE - elif [ -f $ADDON_SYS_DIR/timeshift-config ]; then - cp $ADDON_SYS_DIR/timeshift-config $TIMESHIFT_SETTINGS_FILE fi fi @@ -104,45 +76,36 @@ else fi mkdir -p /var/config - if [ -f $ADDON_DIR/settings-default.xml ]; then - cat "$ADDON_DIR/settings-default.xml" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/tvheadend.conf.default - elif [ -f $ADDON_SYS_DIR/settings-default.xml ]; then - cat "$ADDON_SYS_DIR/settings-default.xml" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/tvheadend.conf.default - fi - cat "$ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/tvheadend.conf +if [ -f $ADDON_DIR/settings-default.xml ]; then + cat "$ADDON_DIR/settings-default.xml" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/tvheadend.conf.default +fi +cat "$ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/tvheadend.conf . /var/config/tvheadend.conf.default . /var/config/tvheadend.conf - rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null - tvheadend.stop - rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null - if [ ! "$(pidof $ADDON_BIN)" ]; then - while [ true ] ; do - while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do - usleep 100000 - done - if [ -f "$LOCKDIR/$LOCKFILE" ] ; then - break - fi - # start userspace DVB driver/addon - for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do - driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') - logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###" - # use ". " because of variable export - . $driver_dvb - done - # (wait for) at least 1 adapter (xbmc allows to set 0) - [ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1 - if [ "$WAIT_FOR_FEINIT" == "true" ] && [ ! -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then - sleep 1 - continue - fi - if [ "$PRELOAD_CAPMT_CA" == "true" ] ; then - logger -t Tvheadend "### Preloading capmt_ca.so library ###" - LD_PRELOAD="$ADDON_DIR/bin/capmt_ca.so $LD_PRELOAD" $ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE - else - $ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE - fi - done & - fi +# start userspace DVB driver/addon +for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do + driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') + logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###" + # use ". " because of variable export + . $driver_dvb +done + +# (wait for) at least 1 adapter (xbmc allows to set 0) +[ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1 +if [ "$WAIT_FOR_FEINIT" == "true" ] ; then + while [ true ] ; do + if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then + break + fi + sleep 1 + done +fi + +if [ "$PRELOAD_CAPMT_CA" == "true" ] ; then + logger -t Tvheadend "### Preloading capmt_ca.so library ###" + LD_PRELOAD="$ADDON_DIR/bin/capmt_ca.so $LD_PRELOAD" exec tvheadend $TVHEADEND_ARG &>$LOG_FILE +else + exec tvheadend $TVHEADEND_ARG &>$LOG_FILE +fi diff --git a/packages/addons/service/multimedia/tvheadend/source/default.py b/packages/addons/service/multimedia/tvheadend/source/default.py index d011cbf6f8..6f814651a2 100644 --- a/packages/addons/service/multimedia/tvheadend/source/default.py +++ b/packages/addons/service/multimedia/tvheadend/source/default.py @@ -17,23 +17,3 @@ # the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. # http://www.gnu.org/copyleft/gpl.html ################################################################################ - -import xbmc, xbmcaddon, time, os, subprocess - -__scriptname__ = "TVHeadend Service" -__author__ = "OpenELEC" -__url__ = "http://www.openelec.tv" -__settings__ = xbmcaddon.Addon(id='service.multimedia.tvheadend') -__cwd__ = __settings__.getAddonInfo('path') -__start__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "tvheadend.start") ) -__stop__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "tvheadend.stop") ) - -#make binary files executable in adson bin folder -subprocess.Popen("chmod -R +x " + __cwd__ + "/bin/*" , shell=True, close_fds=True) - -subprocess.Popen(__start__, shell=True, close_fds=True) - -while (not xbmc.abortRequested): - time.sleep(0.250) - -subprocess.Popen(__stop__, shell=True, close_fds=True) diff --git a/packages/addons/service/multimedia/tvheadend/source/sleep.d/tvheadend.power b/packages/addons/service/multimedia/tvheadend/source/sleep.d/tvheadend.power index 3f63e940c4..20d448afa3 100755 --- a/packages/addons/service/multimedia/tvheadend/source/sleep.d/tvheadend.power +++ b/packages/addons/service/multimedia/tvheadend/source/sleep.d/tvheadend.power @@ -22,35 +22,26 @@ . /etc/profile +SERVICE="service.multimedia.tvheadend" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.tvheadend" ADDON_SETTINGS="$ADDON_HOME/settings.xml" REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | sed 's|.*value="\([^"]*\)".*|\1|g'` -LOCKFILE_SLEEP="/var/lock/tvheadend.sleep" - -ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.tvheadend" - case "$1" in - hibernate|suspend|pre) - if [ "$(pidof tvheadend)" ];then - progress "Shutting down HTS TVHeadend for suspending..." - touch $LOCKFILE_SLEEP - tvheadend.stop + pre) + if systemctl is-active "$SERVICE" &>/dev/null ; then + systemctl stop "$SERVICE" for module in $REMOVE_MODULES ; do rmmod -w $module done fi ;; - - thaw|resume|post) - if [ -f "$LOCKFILE_SLEEP" ] ; then - progress "Restarting HTS TVHeadend for wakeup..." + post) + if systemctl is-enabled "$SERVICE" &>/dev/null ; then for module in $REMOVE_MODULES ; do modprobe $module done - rm -rf "$LOCKFILE_SLEEP" + systemctl start "$SERVICE" fi ;; - *) exit $NA - ;; esac diff --git a/packages/addons/service/multimedia/tvheadend/source/system.d/service.multimedia.tvheadend.service b/packages/addons/service/multimedia/tvheadend/source/system.d/service.multimedia.tvheadend.service new file mode 100644 index 0000000000..9458d6b5aa --- /dev/null +++ b/packages/addons/service/multimedia/tvheadend/source/system.d/service.multimedia.tvheadend.service @@ -0,0 +1,13 @@ +[Unit] +Description=TVHeadend Service +After=graphical.target + +[Service] +ExecStart=/bin/sh -c "exec sh /storage/.xbmc/addons/service.multimedia.tvheadend/bin/tvheadend.start" +TimeoutStopSec=2 +Restart=always +RestartSec=2 +StartLimitInterval=0 + +[Install] +WantedBy=xbmc.target diff --git a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start index 98d6f8a70f..6dcf33158a 100755 --- a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start +++ b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.start @@ -47,10 +47,6 @@ OSDSkin = sttng MYDATA } -LOCKDIR="/var/lock/" -LOCKFILE="vdr.disabled" -LOCKFILE_SLEEP="vdr.sleep" - ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.vdr-addon" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.vdr-addon" LOG_FILE="$ADDON_HOME/service.log" @@ -59,6 +55,8 @@ ADDON_SETTINGS="$ADDON_HOME/settings.xml" ADDON_CONFIG_DIR="$ADDON_HOME/config" ADDON_PLUGIN_DIR="$ADDON_DIR/plugin" +chmod a+x $ADDON_DIR/bin/* + if [ ! -f "$ADDON_SETTINGS" ]; then mkdir -p $ADDON_HOME cp $ADDON_DIR/settings-default.xml $ADDON_SETTINGS @@ -143,49 +141,38 @@ if [ "$ENABLE_XMLTV2VDR" == "true" ] ; then VDR_ARG="$VDR_ARG -P 'xmltv2vdr --epgfile=$ADDON_CACHE_DIR/epg.db'" fi -( - cd $ADDON_DIR/config - mkdir -p $ADDON_CONFIG_DIR +cd $ADDON_DIR/config +mkdir -p $ADDON_CONFIG_DIR - for dir in `find . -type d`; do - mkdir -p $ADDON_CONFIG_DIR/$dir - done +for dir in `find . -type d`; do + mkdir -p $ADDON_CONFIG_DIR/$dir +done - for config in `find . -type f`; do - if [ ! -f $ADDON_CONFIG_DIR/$config ]; then - cp $config $ADDON_CONFIG_DIR/$config - fi - done -) +for config in `find . -type f`; do + if [ ! -f $ADDON_CONFIG_DIR/$config ]; then + cp $config $ADDON_CONFIG_DIR/$config + fi +done -rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null -vdr.stop -rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null +# start userspace DVB driver/addon +for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do + driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') + logger -t VDR "### Loading userspace DVB driver: $driver_dvb_name ###" + # use ". " because of variable export + . $driver_dvb +done -if [ ! "$(pidof vdr.bin)" ];then +# (wait for) at least 1 adapter (xbmc allows to set 0) +[ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1 +if [ "$WAIT_FOR_FEINIT" == "true" ] ; then while [ true ] ; do - while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do - usleep 100000 - done - if [ -f "$LOCKDIR/$LOCKFILE" ] ; then - umount /var/run/vdr 2>&1 + if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then break fi - # start userspace DVB driver/addon - for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do - driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}') - logger -t VDR "### Loading userspace DVB driver: $driver_dvb_name ###" - # use ". " because of variable export - . $driver_dvb - done - # (wait for) at least 1 adapter (xbmc allows to set 0) - [ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1 - if [ "$WAIT_FOR_FEINIT" == "true" ] && [ ! -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then - sleep 1 - continue - fi - check_tmpfs_mount - fix_config - LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" eval LANG=en_US.UTF-8 vdr.bin $VDR_ARG &>$LOG_FILE - done & + sleep 1 + done fi + +check_tmpfs_mount +fix_config +eval LANG=en_US.UTF-8 exec vdr.bin $VDR_ARG &>$LOG_FILE diff --git a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.stop b/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.stop deleted file mode 100755 index 35184f2d46..0000000000 --- a/packages/addons/service/multimedia/vdr-addon/source/bin/vdr.stop +++ /dev/null @@ -1,43 +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 - -LOCKDIR="/var/lock/" -LOCKFILE="vdr.disabled" -LOCKFILE_SLEEP="vdr.sleep" - -mkdir -p "$LOCKDIR" -if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then - touch "$LOCKDIR/$LOCKFILE" -fi - -if [ "$(pidof vdr.bin)" ] ; then - killall -q vdr.bin - for seq in `seq 1 10` ; do - if [ ! "$(pidof vdr.bin)" ] ; then - break - fi - usleep 200000 - done - killall -q -9 vdr.bin -fi diff --git a/packages/addons/service/multimedia/vdr-addon/source/default.py b/packages/addons/service/multimedia/vdr-addon/source/default.py index 6e715e810b..6f814651a2 100644 --- a/packages/addons/service/multimedia/vdr-addon/source/default.py +++ b/packages/addons/service/multimedia/vdr-addon/source/default.py @@ -17,27 +17,3 @@ # the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. # http://www.gnu.org/copyleft/gpl.html ################################################################################ - -import os -import sys -import xbmcaddon -import time -import subprocess - -__scriptname__ = "VDR Service" -__author__ = "OpenELEC" -__url__ = "http://www.openelec.tv" -__settings__ = xbmcaddon.Addon(id='service.multimedia.vdr-addon') -__cwd__ = __settings__.getAddonInfo('path') -__start__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "vdr.start") ) -__stop__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "vdr.stop") ) - -#make binary files executable in adson bin folder -subprocess.Popen("chmod -R +x " + __cwd__ + "/bin/*" , shell=True, close_fds=True) - -subprocess.Popen(__start__, shell=True, close_fds=True) - -while (not xbmc.abortRequested): - time.sleep(0.250) - -subprocess.Popen(__stop__, shell=True, close_fds=True) diff --git a/packages/addons/service/multimedia/vdr-addon/source/sleep.d/vdr.power b/packages/addons/service/multimedia/vdr-addon/source/sleep.d/vdr.power index d53e1e35e2..53cf101502 100644 --- a/packages/addons/service/multimedia/vdr-addon/source/sleep.d/vdr.power +++ b/packages/addons/service/multimedia/vdr-addon/source/sleep.d/vdr.power @@ -22,36 +22,26 @@ . /etc/profile +SERVICE="service.multimedia.vdr-addon.service" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.vdr-addon" -ADDON_CONFIG_DIR="$ADDON_HOME/config" ADDON_SETTINGS="$ADDON_HOME/settings.xml" REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | sed 's|.*value="\([^"]*\)".*|\1|g'` -LOCKFILE_SLEEP="/var/lock/vdr.sleep" - -ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.vdr-addon" - case "$1" in - hibernate|suspend|pre) - if [ "$(pidof vdr.bin)" ];then - progress "Shutting down vdr for suspending..." - touch $LOCKFILE_SLEEP - vdr.stop + pre) + if systemctl is-active "$SERVICE" &>/dev/null ; then + systemctl stop "$SERVICE" for module in $REMOVE_MODULES ; do rmmod -w $module done fi ;; - thaw|resume|post) - if [ -f "$LOCKFILE_SLEEP" ] ; then - progress "Restarting vdr for wakeup..." + post) + if systemctl is-enabled "$SERVICE" &>/dev/null ; then for module in $REMOVE_MODULES ; do modprobe $module done - rm -rf "$LOCKFILE_SLEEP" + systemctl start "$SERVICE" fi ;; - *) exit $NA - ;; esac - diff --git a/packages/addons/service/multimedia/vdr-addon/source/system.d/service.multimedia.vdr-addon.service b/packages/addons/service/multimedia/vdr-addon/source/system.d/service.multimedia.vdr-addon.service new file mode 100644 index 0000000000..1d4e6ef63e --- /dev/null +++ b/packages/addons/service/multimedia/vdr-addon/source/system.d/service.multimedia.vdr-addon.service @@ -0,0 +1,13 @@ +[Unit] +Description=vdr +After=graphical.target + +[Service] +ExecStart=/bin/sh -c "exec sh /storage/.xbmc/addons/service.multimedia.vdr-addon/bin/vdr.start" +TimeoutStopSec=2 +Restart=always +RestartSec=2 +StartLimitInterval=0 + +[Install] +WantedBy=xbmc.target diff --git a/packages/oem/ARCTIC_MC/meta b/packages/compress/unzip/package.mk similarity index 54% rename from packages/oem/ARCTIC_MC/meta rename to packages/compress/unzip/package.mk index 913842c62f..e116185d12 100644 --- a/packages/oem/ARCTIC_MC/meta +++ b/packages/compress/unzip/package.mk @@ -18,19 +18,36 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -PKG_NAME="ARCTIC_MC" -PKG_VERSION="" +PKG_NAME="unzip" +PKG_VERSION="60" PKG_REV="1" PKG_ARCH="any" -PKG_LICENSE="various" -PKG_SITE="http://www.arctic.ac" -PKG_URL="" +PKG_LICENSE="OSS" +PKG_SITE="http://www.info-zip.org/pub/infozip/" +PKG_URL="http://ftp.uk.i-scream.org/sites/www.ibiblio.org/gentoo/distfiles/$PKG_NAME$PKG_VERSION.tar.gz" +PKG_SOURCE_DIR="${PKG_NAME}${PKG_VERSION}" PKG_DEPENDS="" -PKG_BUILD_DEPENDS="toolchain" +PKG_BUILD_DEPENDS_TARGET="toolchain" PKG_PRIORITY="optional" -PKG_SECTION="oem" -PKG_SHORTDESC="ARCTIC_MC: Metapackage for various preinstalled packages for http://www.arctic.ac/en/p/living/entertainment-center.html" -PKG_LONGDESC="" +PKG_SECTION="compress" +PKG_SHORTDESC="unzip: PKUNZIP compatible compression utility" +PKG_LONGDESC="UnZip is an extraction utility for archives compressed in .zip format (also called "zipfiles"). Although highly compatible both with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's own Zip program, the primary objectives have been portability and non-MSDOS functionality." PKG_IS_ADDON="no" PKG_AUTORECONF="no" + +make_target() { + make CC=$TARGET_CC \ + RANLIB=$TARGET_RANLIB \ + AR=$TARGET_AR \ + STRIP=$TARGET_STRIP \ + CFLAGS="$CFLAGS" \ + -f unix/Makefile generic +} + +makeinstall_target() { + mkdir -p $INSTALL/usr/bin + cp unzip $INSTALL/usr/bin + $STRIP $INSTALL/usr/bin/unzip +} + diff --git a/packages/mediacenter/xbmc-theme-Confluence/meta b/packages/mediacenter/xbmc-theme-Confluence/meta index ccb19b7be1..7de7af8786 100644 --- a/packages/mediacenter/xbmc-theme-Confluence/meta +++ b/packages/mediacenter/xbmc-theme-Confluence/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc-theme-Confluence" -PKG_VERSION="13.alpha-ee5f905" +PKG_VERSION="13.alpha-ca8ade7" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/mediacenter/xbmc/package.mk b/packages/mediacenter/xbmc/package.mk index 8b424f2287..90e61c2542 100644 --- a/packages/mediacenter/xbmc/package.mk +++ b/packages/mediacenter/xbmc/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc" -PKG_VERSION="13.alpha-ee5f905" +PKG_VERSION="13.alpha-ca8ade7" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" @@ -443,12 +443,16 @@ make_target() { post_makeinstall_target() { rm -rf $INSTALL/usr/bin/xbmc rm -rf $INSTALL/usr/bin/xbmc-standalone + rm -rf $INSTALL/usr/lib/xbmc/*.cmake mkdir -p $INSTALL/usr/lib/xbmc cp $PKG_DIR/scripts/xbmc-config $INSTALL/usr/lib/xbmc cp $PKG_DIR/scripts/xbmc-hacks $INSTALL/usr/lib/xbmc cp $PKG_DIR/scripts/xbmc-sources $INSTALL/usr/lib/xbmc + mkdir -p $INSTALL/usr/lib/openelec + cp $PKG_DIR/scripts/systemd-addon-wrapper $INSTALL/usr/lib/openelec + mkdir -p $INSTALL/usr/bin cp $PKG_DIR/scripts/cputemp $INSTALL/usr/bin cp $PKG_DIR/scripts/gputemp $INSTALL/usr/bin diff --git a/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta-fixes-108e917.patch b/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta-fixes-ca8ade7.patch similarity index 93% rename from packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta-fixes-108e917.patch rename to packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta-fixes-ca8ade7.patch index c8721ccaf2..c2676b6158 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta-fixes-108e917.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-995.01-fernetmenta-fixes-ca8ade7.patch @@ -1,7 +1,7 @@ -From d817392def174c1bf2bfa5151c26afbfbac3ef36 Mon Sep 17 00:00:00 2001 +From a22729c301f370d1a36eed00713718fe3e2cff0d Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:34:39 +0200 -Subject: [PATCH 01/87] videoplayer: adapt lateness detection and dropping to +Subject: [PATCH 01/88] videoplayer: adapt lateness detection and dropping to buffering --- @@ -254,7 +254,7 @@ index 2287031..8376f72 100644 + int m_codecControlFlags; }; diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index 2d7d0f1..6b48e77 100644 +index 3a6eac2..d053b2d 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -38,6 +38,7 @@ @@ -582,10 +582,10 @@ index f8ad541..186e271 100644 1.8.5.1 -From fc833442067806ba581dd6507cfd5b70bb31bf1e Mon Sep 17 00:00:00 2001 +From 66eec14cb60a3bca7205c6fe41f3662af0071494 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 2 Sep 2012 16:05:21 +0200 -Subject: [PATCH 02/87] video player: present correct pts to user for a/v sync +Subject: [PATCH 02/88] video player: present correct pts to user for a/v sync (after buffering in renderer) --- @@ -594,7 +594,7 @@ Subject: [PATCH 02/87] video player: present correct pts to user for a/v sync 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index 6b48e77..587ea4b 100644 +index d053b2d..4c3d0e8 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -1456,6 +1456,22 @@ void CDVDPlayerVideo::ResetFrameRateCalc() @@ -653,10 +653,10 @@ index 186e271..59c7f09 100644 1.8.5.1 -From 22dda586a5310f1cce45af4676fbeb0cc23491b6 Mon Sep 17 00:00:00 2001 +From 6fbee3341aa0fb897b3547d15c24eb0799a53d3b Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 16 Feb 2013 18:25:53 +0100 -Subject: [PATCH 03/87] videoplayer: some rework and documentation +Subject: [PATCH 03/88] videoplayer: some rework and documentation --- .../dvdplayer/DVDCodecs/Video/DVDVideoCodec.h | 29 ++++++++++++++++++++-- @@ -751,7 +751,7 @@ index 8376f72..c0ce198 100644 bool IsHardwareAllowed() { return !m_bSoftware; } diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index 587ea4b..27a61bd 100644 +index 4c3d0e8..7f6de3c 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -1567,7 +1567,7 @@ int CDVDPlayerVideo::CalcDropRequirement(double pts) @@ -767,10 +767,10 @@ index 587ea4b..27a61bd 100644 1.8.5.1 -From 66bc6a2477c1b63df2f9f4b4b59df54adb498287 Mon Sep 17 00:00:00 2001 +From bd1b697e913e9e867d927654f1f9acf873deae52 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 1 Jun 2013 11:21:19 +0200 -Subject: [PATCH 04/87] renderer: bump buffers to 5 +Subject: [PATCH 04/88] renderer: bump buffers to 5 --- xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +- @@ -793,10 +793,10 @@ index 5a21fec..c131dd1 100644 1.8.5.1 -From 96bb48ffe142e0f9a6dda112a1583937ca06f8fd Mon Sep 17 00:00:00 2001 +From a24500c3cd19a8ca4fb3462acde4986f754e7efd Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:41:31 +0200 -Subject: [PATCH 05/87] videoplayer: update frametime, it might change due to +Subject: [PATCH 05/88] videoplayer: update frametime, it might change due to fps detection --- @@ -804,7 +804,7 @@ Subject: [PATCH 05/87] videoplayer: update frametime, it might change due to 1 file changed, 2 insertions(+) diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index 27a61bd..8e772e3 100644 +index 7f6de3c..699a10a 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -707,6 +707,8 @@ void CDVDPlayerVideo::Process() @@ -820,10 +820,10 @@ index 27a61bd..8e772e3 100644 1.8.5.1 -From 3e0f9a748d31195705e66d4fea3f8f0db3accfdd Mon Sep 17 00:00:00 2001 +From 32564c46061c555f4691614c83fae6a0a7dba3e1 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:43:06 +0200 -Subject: [PATCH 06/87] videoplayer: give streams with invalid fps a chance for +Subject: [PATCH 06/88] videoplayer: give streams with invalid fps a chance for fps detection --- @@ -831,7 +831,7 @@ Subject: [PATCH 06/87] videoplayer: give streams with invalid fps a chance for 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index 8e772e3..150a796 100644 +index 699a10a..9d1a920 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -1498,7 +1498,7 @@ void CDVDPlayerVideo::CalcFrameRate() @@ -847,10 +847,10 @@ index 8e772e3..150a796 100644 1.8.5.1 -From 25b266bf50bf6337e5f36042027d93ef8d5e11dd Mon Sep 17 00:00:00 2001 +From 9a6209715110aa2efa4269355d374d682dd36780 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 28 May 2012 10:49:05 +0200 -Subject: [PATCH 07/87] dvdplayer: allow rewinding at end of stream, do a seek +Subject: [PATCH 07/88] dvdplayer: allow rewinding at end of stream, do a seek after rewind --- @@ -887,10 +887,10 @@ index a698b8f..a845c7e 100644 1.8.5.1 -From 9725e3aacdd839da92fa78f68f307e6cc5cf15a6 Mon Sep 17 00:00:00 2001 +From f3c3e35d6a73ee59c3416e3cdae1d92cde0154b2 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:22:05 +0200 -Subject: [PATCH 08/87] X11: ditch SDL for video and window events +Subject: [PATCH 08/88] X11: ditch SDL for video and window events --- xbmc/Application.cpp | 2 +- @@ -2427,10 +2427,10 @@ index b1464d0..34b912f 100644 1.8.5.1 -From ce8edec562875b0bd594d0fbd602d1d66b90f1e5 Mon Sep 17 00:00:00 2001 +From 56e4c5f3047bf5f4819e0afd239cd7fd4632b836 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:24:22 +0200 -Subject: [PATCH 09/87] X11: Add xbmc icon +Subject: [PATCH 09/88] X11: Add xbmc icon --- xbmc/windowing/X11/WinSystemX11.cpp | 126 +++++++++++++++++++++++++++++++++++- @@ -2620,10 +2620,10 @@ index 34b912f..352e90e 100644 1.8.5.1 -From 5270ddd2db979dc61d2f8fd6161294b1ecdd7f1d Mon Sep 17 00:00:00 2001 +From ebf9a38c349d6b5833efa9481dd4e75809ab86eb Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 20 May 2012 14:11:26 +0200 -Subject: [PATCH 10/87] X11: add SDL joystick until we have a better solution +Subject: [PATCH 10/88] X11: add SDL joystick until we have a better solution --- xbmc/windowing/WinEventsX11.cpp | 26 ++++++++++++++++++++++++++ @@ -2677,10 +2677,10 @@ index ad58aad..6f57a87 100644 1.8.5.1 -From d9baa3bc7949ab4af9555c18be6e0813a3565d49 Mon Sep 17 00:00:00 2001 +From 7c9c9ed5670de0bf1fa66dd7ca62fcb98fbd752d Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 12:35:55 +0200 -Subject: [PATCH 11/87] X11: factor out code handling device reset notification +Subject: [PATCH 11/88] X11: factor out code handling device reset notification --- xbmc/windowing/X11/WinSystemX11.cpp | 22 ++++++++++++++-------- @@ -2743,10 +2743,10 @@ index 352e90e..3f91b9b 100644 1.8.5.1 -From 08599bc029c0c86c778fe7e4022954f6540153dd Mon Sep 17 00:00:00 2001 +From a29ba37f50eccacd39244270ff9beb5b028d58b7 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 15:02:00 +0200 -Subject: [PATCH 12/87] X11: move xrandr events to WinEventsX11 +Subject: [PATCH 12/88] X11: move xrandr events to WinEventsX11 --- xbmc/windowing/WinEventsX11.cpp | 42 +++++++++++++++++++++++++++++++++++++ @@ -2890,10 +2890,10 @@ index 304dac8..16b13aa 100644 1.8.5.1 -From bb9e3b8d3e62395d4619e05527f03fe0860e018e Mon Sep 17 00:00:00 2001 +From 165762233f1c1ebacdcd1cd5ea0341c75668e7c8 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 12 Apr 2012 15:43:56 +0200 -Subject: [PATCH 13/87] xrandr: remove method RestoreState +Subject: [PATCH 13/88] xrandr: remove method RestoreState --- xbmc/windowing/X11/WinSystemX11.cpp | 13 +++++++++++-- @@ -2972,10 +2972,10 @@ index 0aec487..00b49dc 100644 1.8.5.1 -From d4b05757fe73158e33a40aa37550354f9056519f Mon Sep 17 00:00:00 2001 +From a722531bdcee618336c4aa0294c65f99def60b9a Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 20 May 2012 13:17:10 +0200 -Subject: [PATCH 14/87] xrandr: observe orientation +Subject: [PATCH 14/88] xrandr: observe orientation --- xbmc/windowing/X11/WinSystemX11.cpp | 89 ++++++++++++++++++++++++++++++------- @@ -3190,10 +3190,10 @@ index 00b49dc..508604d 100644 1.8.5.1 -From f6d1048ab5e677320696a05a1a2b801d7a8fc424 Mon Sep 17 00:00:00 2001 +From 862bc8ada5bacf6826a047b9bab52df5714c1e18 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:54:15 +0200 -Subject: [PATCH 15/87] xrandr: allow getting info for multiple screen's +Subject: [PATCH 15/88] xrandr: allow getting info for multiple screen's Refactored by: Joakim Plate --- @@ -3368,10 +3368,10 @@ index 508604d..d37838a 100644 1.8.5.1 -From 55babb239de0a2b254d6b17247769a48f110f6e7 Mon Sep 17 00:00:00 2001 +From 5c6f359a02c11bf497e85b85cd6c509c1c639c13 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:44:00 +0200 -Subject: [PATCH 16/87] X11: fix multi-head setups +Subject: [PATCH 16/88] X11: fix multi-head setups --- language/English/strings.po | 4 +- @@ -3386,7 +3386,7 @@ Subject: [PATCH 16/87] X11: fix multi-head setups 9 files changed, 227 insertions(+), 113 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po -index cd74c3f..a96c8d0 100755 +index 504bd77..9104210 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -1019,7 +1019,9 @@ msgctxt "#245" @@ -4130,10 +4130,10 @@ index 4175aab..94584ab 100644 1.8.5.1 -From 46ffb8d7cb33b9fe224547b2eb7fcb9241815c9d Mon Sep 17 00:00:00 2001 +From 56dc13ac36548b71aa9f53f636d4a0aa71b6d647 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:36:32 +0200 -Subject: [PATCH 17/87] X11: remove all DefaultScreen and RootWindow macros +Subject: [PATCH 17/88] X11: remove all DefaultScreen and RootWindow macros --- xbmc/windowing/X11/WinSystemX11.cpp | 6 +++--- @@ -4201,10 +4201,10 @@ index 6383754..21e7dc5 100644 1.8.5.1 -From d738bd344998db609e629c484af7230b0b4303cc Mon Sep 17 00:00:00 2001 +From 55a45a9fd965faa0184d56ecc512d476c993e358 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 11:45:22 +0200 -Subject: [PATCH 18/87] X11: remove all DefaultScreen and RootWindow macros +Subject: [PATCH 18/88] X11: remove all DefaultScreen and RootWindow macros (VideoRefClock) Note this is on a separate display connection. @@ -4276,10 +4276,10 @@ index 0b3950a..ca43b5a 100644 1.8.5.1 -From 72a6a6b68a517a3053d5705a2f462cd621f47a96 Mon Sep 17 00:00:00 2001 +From 7733b7c2b9ebf4973f8f6f0c84f23a15a76db960 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 20 Jun 2012 17:37:11 +0200 -Subject: [PATCH 19/87] X11: recreate gl context after output has changed +Subject: [PATCH 19/88] X11: recreate gl context after output has changed --- xbmc/windowing/X11/WinSystemX11.cpp | 24 ++++++++++++++---------- @@ -4430,10 +4430,10 @@ index 21e7dc5..8e68d5d 100644 1.8.5.1 -From 309e3641c00be4cdb100507ee27da31edd4df3be Mon Sep 17 00:00:00 2001 +From 7864cfe9a7876fd0494159b79bd1b7258627d7b7 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:06:25 +0200 -Subject: [PATCH 20/87] X11: hook video reference clock in windowing +Subject: [PATCH 20/88] X11: hook video reference clock in windowing --- xbmc/video/VideoReferenceClock.cpp | 71 +++++++++++++++++++++++++++----------- @@ -4638,10 +4638,10 @@ index dd65a1b..afd71fc 100644 1.8.5.1 -From 5b2a05699448819dd3721a50db7d1f9521c278fe Mon Sep 17 00:00:00 2001 +From 0767e2f8485c1cd7f88832f4547dedc9d2e9008d Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 21 Jun 2012 17:26:51 +0200 -Subject: [PATCH 21/87] X11: fix video calibrations +Subject: [PATCH 21/88] X11: fix video calibrations --- xbmc/windowing/WinSystem.h | 1 + @@ -4733,10 +4733,10 @@ index 9666cc3..5b52d6c 100644 1.8.5.1 -From f9a1e4f58d1215f96e5b4f20a761749e93119103 Mon Sep 17 00:00:00 2001 +From c4fa73ddef59bef02554703360dbd95385017852 Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:00:26 +0200 -Subject: [PATCH 22/87] X11: deactivate screen saver on startup +Subject: [PATCH 22/88] X11: deactivate screen saver on startup --- xbmc/windowing/X11/WinSystemX11.cpp | 29 +++++++++++++++++++++++++++++ @@ -4806,10 +4806,10 @@ index 5b52d6c..b2bd5a0 100644 1.8.5.1 -From d43c1aa3509f23bc90c56faceae2693341edbe95 Mon Sep 17 00:00:00 2001 +From 05726817d394801f7fe3abc0a88a1243ee375bfd Mon Sep 17 00:00:00 2001 From: FernetMenta Date: Thu, 5 Jul 2012 12:10:09 +0200 -Subject: [PATCH 23/87] X11: change method of going full-screen +Subject: [PATCH 23/88] X11: change method of going full-screen --- xbmc/windowing/X11/WinSystemX11.cpp | 9 ++++++++- @@ -4853,10 +4853,10 @@ index b76b229..869baa8 100644 1.8.5.1 -From 86d533c2f48411c3155d449ff15295cfe0bb2a7e Mon Sep 17 00:00:00 2001 +From 2fd5b63219e1a7db564a6846c758a050eb0dc52d Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Jun 2012 19:12:39 +0200 -Subject: [PATCH 24/87] X11: reset key repeat and key modifier on focus lost +Subject: [PATCH 24/88] X11: reset key repeat and key modifier on focus lost and gain --- @@ -4888,10 +4888,10 @@ index d98f12f..743aca9 100644 1.8.5.1 -From 256a09b5487f1f2a0530663837aa34e7bc0e7d9b Mon Sep 17 00:00:00 2001 +From 469bb05231d813a3e45becfdc1a733397fddabe5 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 14:18:46 +0200 -Subject: [PATCH 25/87] X11: replace custom utf8 to unicode with charset +Subject: [PATCH 25/88] X11: replace custom utf8 to unicode with charset convertor (squash to x11 events) --- @@ -5108,10 +5108,10 @@ index a412f32..9a8a912 100644 1.8.5.1 -From f55ed7566369aff5aabd87215eace07cfe4b237c Mon Sep 17 00:00:00 2001 +From 4248e5de944310b2a8e5efdf743bbeaf3f4cb8ef Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Thu, 5 Jul 2012 14:23:54 +0200 -Subject: [PATCH 26/87] X11: fixed invalid usage of sizeof() (squash into x11 +Subject: [PATCH 26/88] X11: fixed invalid usage of sizeof() (squash into x11 changes) --- @@ -5175,10 +5175,10 @@ index 9a8a912..c69169c 100644 1.8.5.1 -From 8217ff8c3ea08d826a93b1a564de7247b1fe0b82 Mon Sep 17 00:00:00 2001 +From b1abeb853474a4570507eaccc75b2b63cf6dec64 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 9 Jun 2012 18:23:53 +0200 -Subject: [PATCH 27/87] add missing keys to xbmc keytable +Subject: [PATCH 27/88] add missing keys to xbmc keytable --- xbmc/input/XBMC_keytable.cpp | 2 ++ @@ -5201,10 +5201,10 @@ index d57f4d3..b807897 100644 1.8.5.1 -From 846d2b8c31d5620824b09ac3140597b8f5183077 Mon Sep 17 00:00:00 2001 +From d36fe37aa6f5cda9c9d7ab6c5909ccd4ebde9f12 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 16 Mar 2012 15:57:51 +0100 -Subject: [PATCH 28/87] videorefclock: temp deactivate of nv settings +Subject: [PATCH 28/88] videorefclock: temp deactivate of nv settings --- xbmc/video/VideoReferenceClock.cpp | 2 +- @@ -5227,10 +5227,10 @@ index 0ddf102..3ae7107 100644 1.8.5.1 -From fe65221eb76df3b6703b376ea238fe44989c049a Mon Sep 17 00:00:00 2001 +From cfe74aad651a6bcf0d89d147579e73a6165d99fd Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 20 Aug 2012 09:09:09 +0200 -Subject: [PATCH 29/87] videorefclock: ask graphics context for refresh rate +Subject: [PATCH 29/88] videorefclock: ask graphics context for refresh rate --- xbmc/video/VideoReferenceClock.cpp | 3 ++- @@ -5261,10 +5261,10 @@ index 3ae7107..27bebde 100644 1.8.5.1 -From 33a2a1a335c44e5a0002ec3171c62eff1ec4ca6e Mon Sep 17 00:00:00 2001 +From 3070dfda4f3fc1ab6f015e553e34ad63c42e5f7e Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 9 Jul 2012 14:00:18 +0200 -Subject: [PATCH 30/87] X11: fix icon texture after +Subject: [PATCH 30/88] X11: fix icon texture after cc5ed3c2474084ebc0373a3046410e6f766e03f4 --- @@ -5372,10 +5372,10 @@ index 869baa8..bfe3797 100644 1.8.5.1 -From 121922348aa95b38576e73b935de1d1070f5d036 Mon Sep 17 00:00:00 2001 +From e01a852ae5355090fe3d8218ad8739177c834f32 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 10 Jul 2012 11:14:12 +0200 -Subject: [PATCH 31/87] X11: check for window manager +Subject: [PATCH 31/88] X11: check for window manager --- xbmc/windowing/X11/WinSystemX11.cpp | 74 ++++++++++++++++++++++++++++++++++++- @@ -5496,10 +5496,10 @@ index b2bd5a0..3e62cd8 100644 1.8.5.1 -From 09d0b22dd4a2c9db220fca17e8fef9ff39cd8b12 Mon Sep 17 00:00:00 2001 +From 0a2cabe18d91f0ad580563f78b3e9f010ced898c Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 12 Jul 2012 11:11:47 +0200 -Subject: [PATCH 32/87] X11: dont set window on xrandr if no mode available +Subject: [PATCH 32/88] X11: dont set window on xrandr if no mode available --- xbmc/windowing/X11/WinSystemX11.cpp | 11 ++++++----- @@ -5536,10 +5536,10 @@ index af82061..4f33c68 100644 1.8.5.1 -From 8c15e3cda2360bf45b4c46ca94d1de6c9abb4824 Mon Sep 17 00:00:00 2001 +From 0262a0018e045a74a1e361745b1fbf8da7837153 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 26 Jul 2012 09:34:28 +0200 -Subject: [PATCH 33/87] X11: fix crash after a resolution change on startup +Subject: [PATCH 33/88] X11: fix crash after a resolution change on startup --- xbmc/windowing/X11/WinSystemX11.cpp | 3 ++- @@ -5563,10 +5563,10 @@ index 4f33c68..bc4e963 100644 1.8.5.1 -From 9f728249031d76d076723d36ee82547019b9b04c Mon Sep 17 00:00:00 2001 +From 9d895ad974e5f7cf979e4f73279d64924c16eb72 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 15 Sep 2012 18:27:29 +0200 -Subject: [PATCH 34/87] X11: lock graphics context in NotifyXRREvent +Subject: [PATCH 34/88] X11: lock graphics context in NotifyXRREvent --- xbmc/windowing/X11/WinSystemX11.cpp | 2 ++ @@ -5589,10 +5589,10 @@ index bc4e963..57a8d20 100644 1.8.5.1 -From 0b83104d945d92b5cf2d74c90f599d507a631135 Mon Sep 17 00:00:00 2001 +From 687177e6f8e8dffed65cf51837c088f8c2c53a15 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 23 Aug 2012 19:39:49 +0200 -Subject: [PATCH 35/87] ffmpeg: add av_find_default_stream_index to interface +Subject: [PATCH 35/88] ffmpeg: add av_find_default_stream_index to interface --- lib/DllAvFormat.h | 4 ++++ @@ -5638,10 +5638,10 @@ index 0016c0b..3514856 100644 1.8.5.1 -From 6ae6139cc225adbe35d5df04e4d1e057fc933330 Mon Sep 17 00:00:00 2001 +From bd31b0b9155c3cee74210eeac15e473392e57492 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 20 Aug 2012 16:06:39 +0200 -Subject: [PATCH 36/87] dvdplayer: observe pts counter overflow +Subject: [PATCH 36/88] dvdplayer: observe pts counter overflow --- .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 198 ++++++++++++++++++++- @@ -5928,10 +5928,10 @@ index aef5ab1..35abbdf 100644 1.8.5.1 -From 7766d8d27fd3c2b25f163570cc81075ca135dee5 Mon Sep 17 00:00:00 2001 +From e89dfb43818af08544dfd7335a9b3e050e8cc64d Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 2 Oct 2012 13:02:10 +0200 -Subject: [PATCH 37/87] dvdplayer: avoid short screen flicker caused by +Subject: [PATCH 37/88] dvdplayer: avoid short screen flicker caused by unnecessary reconfigure of renderer --- @@ -5939,7 +5939,7 @@ Subject: [PATCH 37/87] dvdplayer: avoid short screen flicker caused by 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index 150a796..beffbe9 100644 +index 9d1a920..9880bdb 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -1059,7 +1059,7 @@ int CDVDPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts) @@ -5964,10 +5964,10 @@ index 150a796..beffbe9 100644 1.8.5.1 -From 8b9dc924d372ab2a844291507e53639f15aa86ab Mon Sep 17 00:00:00 2001 +From 81ebffee025724b7f0883017e9c1e1f7c37e5e53 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 11 Oct 2012 12:05:50 +0200 -Subject: [PATCH 38/87] vdpau: advanced settings for auto deinterlacing +Subject: [PATCH 38/88] vdpau: advanced settings for auto deinterlacing --- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++---- @@ -6033,10 +6033,10 @@ index 7d16957..bb70f3e 100644 1.8.5.1 -From 2edd7fd2ea3a4fdb66cb1cf3a3df5392f3d9e125 Mon Sep 17 00:00:00 2001 +From 9b544ff89c5f3db9392fc796bcd476543a835574 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 2 Nov 2012 13:20:03 +0100 -Subject: [PATCH 39/87] player: fix rewind +Subject: [PATCH 39/88] player: fix rewind --- xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++- @@ -6214,7 +6214,7 @@ index dfe679f..96f7fe5 100644 int m_errorCount; diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp -index beffbe9..1f63c1d 100644 +index 9880bdb..939f82f 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp @@ -1468,7 +1468,7 @@ double CDVDPlayerVideo::GetCurrentPts() @@ -6251,10 +6251,10 @@ index 59c7f09..65dea76 100644 1.8.5.1 -From 786cb13f407f1b05541eccbec100772ddb18ad83 Mon Sep 17 00:00:00 2001 +From d37eb531129c57f64a3dfea9330cbc6e758a5b27 Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 23 Nov 2012 17:41:12 +0100 -Subject: [PATCH 40/87] xrandr: fix query for multiple screens +Subject: [PATCH 40/88] xrandr: fix query for multiple screens --- xbmc/windowing/X11/XRandR.cpp | 10 ++++++---- @@ -6295,10 +6295,10 @@ index 4685413..e610150 100644 1.8.5.1 -From eea21036aba6264e3b9491685a0799437cf6ae0d Mon Sep 17 00:00:00 2001 +From f04414d9a1e13d47ee0ee23dfd638ffed724b985 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 2 Dec 2012 15:46:55 +0100 -Subject: [PATCH 41/87] X11: add debug log to print out refresh after xrr event +Subject: [PATCH 41/88] X11: add debug log to print out refresh after xrr event --- xbmc/windowing/X11/WinSystemX11.cpp | 6 ++++++ @@ -6325,10 +6325,10 @@ index 57a8d20..a237dc0 100644 1.8.5.1 -From 394fa33220e514a000c2d546e7ce6430d4f31658 Mon Sep 17 00:00:00 2001 +From 4d208883f51b412ceb77742d9b49ecf0f7856046 Mon Sep 17 00:00:00 2001 From: xbmc Date: Tue, 11 Dec 2012 11:08:13 +0100 -Subject: [PATCH 42/87] X11: dont call XCloseDisplay on shutdown, it crashes +Subject: [PATCH 42/88] X11: dont call XCloseDisplay on shutdown, it crashes when powered doen by cec on ATI --- @@ -6353,10 +6353,10 @@ index a237dc0..ab660b1 100644 1.8.5.1 -From fa79426b597e6f857fb9809f6ee8e87f5483a1b2 Mon Sep 17 00:00:00 2001 +From e8b97c14e76cf35e725d8bd3382e7ccff797d494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Coutant?= Date: Wed, 12 Dec 2012 19:49:47 +0100 -Subject: [PATCH 43/87] x11: support for multiple x screens +Subject: [PATCH 43/88] x11: support for multiple x screens --- xbmc/windowing/X11/XRandR.cpp | 2 +- @@ -6379,10 +6379,10 @@ index e610150..5c53574 100644 1.8.5.1 -From 8f0001dfb2d4e7d27be92f90e4b99a16b8b66a60 Mon Sep 17 00:00:00 2001 +From e38b669469b1763b9fefb9bb4e276ea80acb5f59 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 24 Dec 2012 16:02:42 +0100 -Subject: [PATCH 44/87] pvr: increase changes counter of stream on stream +Subject: [PATCH 44/88] pvr: increase changes counter of stream on stream change, cosmetics after dd307930d39d92f145a01a16600cd00e01ec39be --- @@ -6390,7 +6390,7 @@ Subject: [PATCH 44/87] pvr: increase changes counter of stream on stream 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp -index b96d520..df89f6f 100644 +index e5f8234..96c9e89 100644 --- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp +++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp @@ -339,9 +339,7 @@ void CDVDDemuxPVRClient::RequestStreams() @@ -6416,10 +6416,10 @@ index b96d520..df89f6f 100644 1.8.5.1 -From 67c314c99d9931745d129cd364ecc9a198dbdb71 Mon Sep 17 00:00:00 2001 +From 0d88e91c9aca9791c5ea88a6d0ceac61b71c5b29 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 17 Jan 2013 16:03:22 +0100 -Subject: [PATCH 45/87] X11: add keymapping for XF86XK_Sleep +Subject: [PATCH 45/88] X11: add keymapping for XF86XK_Sleep --- xbmc/windowing/WinEventsX11.cpp | 1 + @@ -6441,10 +6441,10 @@ index a62521f..263cb5a 100644 1.8.5.1 -From 408052281302bd107f6e24da5e72957cc3d05bc5 Mon Sep 17 00:00:00 2001 +From 8c0add1f7af7825f8fd2af2e485b1124feea9761 Mon Sep 17 00:00:00 2001 From: xbmc Date: Mon, 21 Jan 2013 09:00:19 +0100 -Subject: [PATCH 46/87] X11: remove toggle full screen after resume +Subject: [PATCH 46/88] X11: remove toggle full screen after resume --- xbmc/powermanagement/PowerManager.cpp | 5 ----- @@ -6470,10 +6470,10 @@ index 590a887..35b5a21 100644 1.8.5.1 -From 8bcebc0518c3c3bf7c8ac84333851ab0e48fb98f Mon Sep 17 00:00:00 2001 +From fe9288ccda57be6ff6a46aef8e3b8c1d67437b76 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 23 Jan 2013 17:03:02 +0100 -Subject: [PATCH 47/87] xrandr: set screen on mode change command +Subject: [PATCH 47/88] xrandr: set screen on mode change command --- xbmc/windowing/X11/XRandR.cpp | 2 +- @@ -6496,10 +6496,10 @@ index 5c53574..4355ef7 100644 1.8.5.1 -From d6d899addb76b45c546634f0b6db69ea5fe01d8e Mon Sep 17 00:00:00 2001 +From 1d369cd0e5bdca29a13c662cbb24c4ff6f6deee1 Mon Sep 17 00:00:00 2001 From: xbmc Date: Wed, 23 Jan 2013 17:03:39 +0100 -Subject: [PATCH 48/87] X11: recreate glx context when output changes +Subject: [PATCH 48/88] X11: recreate glx context when output changes --- xbmc/windowing/X11/WinSystemX11.cpp | 6 +++--- @@ -6550,10 +6550,10 @@ index 3e62cd8..2a1fb41 100644 1.8.5.1 -From 6edf8222a2572c876d4eb81b73507dab81cd1d10 Mon Sep 17 00:00:00 2001 +From aafe3e20fce89330ae1266904ebad36dc50b632e Mon Sep 17 00:00:00 2001 From: xbmc Date: Fri, 14 Dec 2012 14:19:15 +0100 -Subject: [PATCH 49/87] pvr: do not show selection dialog for a single menu +Subject: [PATCH 49/88] pvr: do not show selection dialog for a single menu hook --- @@ -6591,10 +6591,10 @@ index 14c9cde..57b18a5 100644 1.8.5.1 -From 85d8b8cb8957459c6cdc97ee147c00bf1509b828 Mon Sep 17 00:00:00 2001 +From 8599876cd6323733b64e71142ffa4d484c136214 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 3 Feb 2013 08:17:16 +0100 -Subject: [PATCH 50/87] X11: use default screen parameters if no output +Subject: [PATCH 50/88] X11: use default screen parameters if no output connected --- @@ -6698,10 +6698,10 @@ index 4329a22..2adf8a0 100644 1.8.5.1 -From c6c64b19d773c34cb5ed5a3d1f49300e57d73a4c Mon Sep 17 00:00:00 2001 +From 2ebad927404b532634e240d5964f80731110f231 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 23 Mar 2013 15:13:32 +0100 -Subject: [PATCH 51/87] X11: create parent window +Subject: [PATCH 51/88] X11: create parent window --- xbmc/windowing/X11/WinSystemX11.cpp | 69 +++++++++++++++++++++++-------------- @@ -6967,10 +6967,10 @@ index 2a1fb41..e8993f1 100644 1.8.5.1 -From b44c01be086849751662c19db5dbb5e1b2f2fcf8 Mon Sep 17 00:00:00 2001 +From cfc093f450fc7233bb4556849a6ecac13086ac59 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 24 Mar 2013 12:30:12 +0100 -Subject: [PATCH 52/87] X11: use system key repeat rate instead of hardcoded +Subject: [PATCH 52/88] X11: use system key repeat rate instead of hardcoded one, taken from 58fd64b194e38b73b5f3132744bab35e994e7441 --- @@ -7172,10 +7172,10 @@ index c69169c..6429291 100644 1.8.5.1 -From eb241172f74b1976df979b9d47f521d077e31347 Mon Sep 17 00:00:00 2001 +From b62ac57148f5f0f19a102a96a788d5b7777fdbee Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 24 Mar 2013 16:04:48 +0100 -Subject: [PATCH 53/87] linux: use CLOCK_MONOTONIC_RAW as this is not subject +Subject: [PATCH 53/88] linux: use CLOCK_MONOTONIC_RAW as this is not subject to NTP --- @@ -7213,10 +7213,10 @@ index c06b8c5..4390d2e 100644 1.8.5.1 -From 28b2d6835673469d0cb9dee5190d652e986a766f Mon Sep 17 00:00:00 2001 +From 9de575ca313457584a6d64cdafa2b31677dc33ce Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Mar 2013 15:18:53 +0100 -Subject: [PATCH 54/87] OMXPlayer: some caching fixes for pvr +Subject: [PATCH 54/88] OMXPlayer: some caching fixes for pvr --- xbmc/cores/omxplayer/OMXPlayer.cpp | 3 ++- @@ -7240,10 +7240,10 @@ index 9cccaac..4168195 100644 1.8.5.1 -From 0c753a2f4971c2549cd3c2cb9bbcfea968518e57 Mon Sep 17 00:00:00 2001 +From 53ef844d159522f4c0d9470653bbfe85430506e6 Mon Sep 17 00:00:00 2001 From: xbmc Date: Thu, 28 Mar 2013 20:50:59 +0100 -Subject: [PATCH 55/87] fix incorrect display of fps when dr kicks in +Subject: [PATCH 55/88] fix incorrect display of fps when dr kicks in --- xbmc/Application.cpp | 3 ++- @@ -7270,10 +7270,10 @@ index ffb90dc..1cea2da 100644 1.8.5.1 -From e2fc2c9681c8b8944e92adf37e8d765d6f681fb9 Mon Sep 17 00:00:00 2001 +From 60e9ec4a248b5b185d7d7a8b07ca559ac7d42e7d Mon Sep 17 00:00:00 2001 From: xbmc Date: Sat, 13 Apr 2013 08:32:06 +0200 -Subject: [PATCH 56/87] X11: fix mouse coverage +Subject: [PATCH 56/88] X11: fix mouse coverage --- xbmc/windowing/X11/WinSystemX11.cpp | 11 ++++++++--- @@ -7339,10 +7339,10 @@ index e8993f1..5cccfb7 100644 1.8.5.1 -From 8b3e7725ae97e444c72793274a1bdcf8b3da510a Mon Sep 17 00:00:00 2001 +From cc3869e2ae5902a0c706281d10d494a1555a0edb Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Wed, 8 May 2013 13:14:58 +0200 -Subject: [PATCH 57/87] X11: fix incorrectly used screen num in desktop +Subject: [PATCH 57/88] X11: fix incorrectly used screen num in desktop resolution --- @@ -7377,10 +7377,10 @@ index 2acb36d..101ba98 100644 1.8.5.1 -From 774a1a2f4c2ba3775e81aea7bd32c0837a028e6a Mon Sep 17 00:00:00 2001 +From 5c59b44048d9753d3961679a171d91fc0eaf1d75 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 9 May 2013 12:07:09 +0200 -Subject: [PATCH 58/87] X11: do not overwrite user selected monitor with +Subject: [PATCH 58/88] X11: do not overwrite user selected monitor with fallback --- @@ -7505,10 +7505,10 @@ index 5cccfb7..1b658e2 100644 1.8.5.1 -From 1991e2c52b053ab3e843108b44e6066170d7b50e Mon Sep 17 00:00:00 2001 +From 4bd10d08e72617f0437bad96ff5d1e3bc1ab8244 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 12 May 2013 10:50:30 +0200 -Subject: [PATCH 59/87] xrandr: add turn on/off to wrapper +Subject: [PATCH 59/88] xrandr: add turn on/off to wrapper --- xbmc/windowing/X11/XRandR.cpp | 78 +++++++++++++++++++++++++++++++++++++++---- @@ -7674,10 +7674,10 @@ index d37838a..059062f 100644 1.8.5.1 -From abb1f21e8fc73c559a9814bedf270c891da3a747 Mon Sep 17 00:00:00 2001 +From 4fec64f516df11724d2a7b05b39188b8a6e4bcd3 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 19 May 2013 12:55:35 +0200 -Subject: [PATCH 60/87] xrandr: add GetPreferredMode to wrapper +Subject: [PATCH 60/88] xrandr: add GetPreferredMode to wrapper --- xbmc/windowing/X11/XRandR.cpp | 23 +++++++++++++++++++++++ @@ -7734,10 +7734,10 @@ index 059062f..ab7cc63 100644 1.8.5.1 -From da132f2c4a01bfd0876efaae8e669338f5e2004e Mon Sep 17 00:00:00 2001 +From ab902ac102b4570e6feaf643fa8de78bc95dbcda Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 11 May 2013 17:12:12 +0200 -Subject: [PATCH 61/87] X11: multi-head improvement - poll for desired output +Subject: [PATCH 61/88] X11: multi-head improvement - poll for desired output if we do not get an xrr event --- @@ -7752,7 +7752,7 @@ Subject: [PATCH 61/87] X11: multi-head improvement - poll for desired output 8 files changed, 105 insertions(+), 12 deletions(-) diff --git a/language/English/strings.po b/language/English/strings.po -index a96c8d0..3b301d5 100755 +index 9104210..6e57f76 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -6464,7 +6464,7 @@ msgctxt "#14071" @@ -8018,10 +8018,10 @@ index 62003f5..8525ede 100644 1.8.5.1 -From 13ddb290423f91011e96536301da3a73abaeb298 Mon Sep 17 00:00:00 2001 +From 00870f0f0c2a4332b63f397fc97680fb938d81ea Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Wed, 15 May 2013 09:14:34 +0200 -Subject: [PATCH 62/87] X11: ignore mouse move event form other windows +Subject: [PATCH 62/88] X11: ignore mouse move event form other windows --- xbmc/windowing/WinEventsX11.cpp | 4 +++- @@ -8053,10 +8053,10 @@ index 908c8b6..938ad26 100644 1.8.5.1 -From c3e84823be7dd6759c66da5e98c61fb32497bfdf Mon Sep 17 00:00:00 2001 +From 22111bdbf9e8bc548b6f1899500eb27694e83673 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 11 Jun 2013 16:20:29 +0200 -Subject: [PATCH 63/87] renderer: allow some lateness within vblank interval +Subject: [PATCH 63/88] renderer: allow some lateness within vblank interval --- xbmc/cores/VideoRenderers/RenderManager.cpp | 12 ++++++++++-- @@ -8116,10 +8116,10 @@ index 949c652b..d84ff6c 100644 1.8.5.1 -From bfaafb6c138dde7079ecba76bf2b4b9d5384a483 Mon Sep 17 00:00:00 2001 +From f67b983108d79e15788760e31362ede6a36787b9 Mon Sep 17 00:00:00 2001 From: xbmc Date: Sun, 16 Jun 2013 13:22:58 +0200 -Subject: [PATCH 64/87] X11: another fix for mouse coverage +Subject: [PATCH 64/88] X11: another fix for mouse coverage --- xbmc/windowing/WinEventsX11.cpp | 6 ++++-- @@ -8152,10 +8152,10 @@ index 938ad26..e4ca56d 100644 1.8.5.1 -From e295a85b5e8d8066a8a362eb8cbd922260291ddd Mon Sep 17 00:00:00 2001 +From 637d6bdfe788a375f6ebad6845612333f4fe8aa8 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 5 Jul 2013 12:14:00 +0200 -Subject: [PATCH 65/87] X11: set windows class name +Subject: [PATCH 65/88] X11: set windows class name --- xbmc/windowing/X11/WinSystemX11.cpp | 9 ++++++++- @@ -8197,17 +8197,17 @@ index b3fe5102..df5fe9b 100644 1.8.5.1 -From 06cfcf203dece8b2e4d2949411daf9665ccc4675 Mon Sep 17 00:00:00 2001 +From ff6b70f855c6db2035422a95e1110b96341c9e9d Mon Sep 17 00:00:00 2001 From: spiff Date: Tue, 16 Jul 2013 14:34:04 +0200 -Subject: [PATCH 66/87] fixed: typo +Subject: [PATCH 66/88] fixed: typo --- language/English/strings.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/English/strings.po b/language/English/strings.po -index 3b301d5..4095e5c 100755 +index 6e57f76..1f374c8 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -6598,7 +6598,7 @@ msgstr "" @@ -8223,17 +8223,17 @@ index 3b301d5..4095e5c 100755 1.8.5.1 -From 8d9c0cb04beb3a2fc6f251d65e517fcc9429a514 Mon Sep 17 00:00:00 2001 +From ac8626f63e1c6fb61bcf17275eb2afcbf55f5f54 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 25 Jul 2013 17:18:13 +0200 -Subject: [PATCH 67/87] ActiveAE: slightly reduce buffer size +Subject: [PATCH 67/88] ActiveAE: slightly reduce buffer size --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index abf1509..f25ab49 100644 +index 7ba4761..79ea7b7 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp @@ -30,8 +30,8 @@ @@ -8251,10 +8251,10 @@ index abf1509..f25ab49 100644 1.8.5.1 -From 5c8683375f28ef8ba446e482437457a2fc6fd436 Mon Sep 17 00:00:00 2001 +From 44ec29dffe3db1761f21e42fd72fe3729509aca5 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sun, 4 Aug 2013 10:11:16 +0200 -Subject: [PATCH 68/87] Revert "vdpau: comment some features that will be added +Subject: [PATCH 68/88] Revert "vdpau: comment some features that will be added later" This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf. @@ -8310,10 +8310,10 @@ index 3292461..c04f161 100644 1.8.5.1 -From 312180ffcef1a7c98b8c0f6877b78cf09cb12423 Mon Sep 17 00:00:00 2001 +From a49b165887cfc2fc8671bb8ac0c53854a490f5be Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 9 Aug 2013 18:01:40 +0200 -Subject: [PATCH 69/87] X11: fix keysyms +Subject: [PATCH 69/88] X11: fix keysyms --- xbmc/windowing/WinEventsX11.cpp | 2 +- @@ -8336,10 +8336,10 @@ index e4ca56d..b20130c 100644 1.8.5.1 -From 1835f9aa96acb76744cf9a878a7900ee6b88669d Mon Sep 17 00:00:00 2001 +From 51ae9790979008ad4673ab4ec484945fac88f68a Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Fri, 9 Aug 2013 18:42:36 +0200 -Subject: [PATCH 70/87] X11: fix keysym for non-IM +Subject: [PATCH 70/88] X11: fix keysym for non-IM --- xbmc/windowing/WinEventsX11.cpp | 2 +- @@ -8362,10 +8362,10 @@ index b20130c..a38890c 100644 1.8.5.1 -From a21e7455e59f1d2387d47c259a08eeb5a29311ac Mon Sep 17 00:00:00 2001 +From 4ec7cf52766a40122d4d2778ba9fa967810d8aaf Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 10 Aug 2013 11:18:16 +0200 -Subject: [PATCH 71/87] add some missing multi media keys +Subject: [PATCH 71/88] add some missing multi media keys --- system/keymaps/keyboard.xml | 3 +++ @@ -8420,10 +8420,10 @@ index ee6bb69..364b45a 100644 1.8.5.1 -From e552f3533b1cd258b4534fc255cab3936ccf24e4 Mon Sep 17 00:00:00 2001 +From 64edd4875da5d0babd533babf4f301ed9a61812d Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Sat, 10 Aug 2013 15:53:45 +0200 -Subject: [PATCH 72/87] X11: squash multi +Subject: [PATCH 72/88] X11: squash multi --- xbmc/windowing/X11/WinSystemX11.cpp | 2 +- @@ -8446,10 +8446,10 @@ index df5fe9b..d8e04d6 100644 1.8.5.1 -From 3f5edb14bea0ac6885fdd4d442e4a13424ead1fe Mon Sep 17 00:00:00 2001 +From 7218a3b432238d71e6bf575882d65b775a1fae4e Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 3 Sep 2013 20:46:17 +0200 -Subject: [PATCH 73/87] X11: do not poll default monitor +Subject: [PATCH 73/88] X11: do not poll default monitor --- xbmc/windowing/X11/WinSystemX11.cpp | 2 +- @@ -8472,10 +8472,10 @@ index d8e04d6..01f5272 100644 1.8.5.1 -From 58ac5f0fb0d6fb7f9a7ed128de68913b9a36178e Mon Sep 17 00:00:00 2001 +From b29e645b2e4954a048d59e1c27774adee095264a Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 29 Oct 2013 20:57:28 +0100 -Subject: [PATCH 74/87] X11: fix broken monitor switching +Subject: [PATCH 74/88] X11: fix broken monitor switching --- system/settings/settings.xml | 1 - @@ -8578,10 +8578,10 @@ index 40bc3b3..1663836 100644 1.8.5.1 -From a5a26d03d8c788053129d193846fccec40b889f5 Mon Sep 17 00:00:00 2001 +From 958690509f50c3e3ff050e10071a2f9c62777401 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 29 Oct 2013 20:57:59 +0100 -Subject: [PATCH 75/87] X11: remove polling for connected outputs, use xrr +Subject: [PATCH 75/88] X11: remove polling for connected outputs, use xrr events --- @@ -8882,10 +8882,10 @@ index 7ec5be4..14622cb 100644 1.8.5.1 -From 4ef806770dacd235a0bed8569c10d1e02f3dc2e2 Mon Sep 17 00:00:00 2001 +From c25d9994e3d164eff1c6389d3a409291a17866db Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 31 Oct 2013 09:37:13 +0100 -Subject: [PATCH 76/87] X11: remove grabbing of keyboard and mouse +Subject: [PATCH 76/88] X11: remove grabbing of keyboard and mouse --- xbmc/windowing/WinEventsX11.cpp | 4 ---- @@ -9003,10 +9003,10 @@ index 14622cb..d1c8729 100644 1.8.5.1 -From 55680e3aea08487e92784ebfa69d7488d82dbab5 Mon Sep 17 00:00:00 2001 +From 18569a7d09a9fc36c7dfc9967cb5c150a4471d4a Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 31 Oct 2013 10:46:40 +0100 -Subject: [PATCH 77/87] X11: set ExposureMask on gl window, fixes not updated +Subject: [PATCH 77/88] X11: set ExposureMask on gl window, fixes not updated areas --- @@ -9032,10 +9032,10 @@ index 695b352..e55583c 100644 1.8.5.1 -From e9c5e41a18b024fb070c7674082ea775bd74469a Mon Sep 17 00:00:00 2001 +From c88972e3036411b738b50cb41f235ae89ece02e0 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 31 Oct 2013 11:25:19 +0100 -Subject: [PATCH 78/87] X11: drop shortcuts, have WM do this +Subject: [PATCH 78/88] X11: drop shortcuts, have WM do this --- xbmc/windowing/WinEventsX11.cpp | 21 --------------------- @@ -9097,10 +9097,10 @@ index 6429291..4334d21 100644 1.8.5.1 -From 924286696ec32bf1d7c6db2d01f56273f9912a2d Mon Sep 17 00:00:00 2001 +From d7895b280b1879396aa5c869948262023b74d0da Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 7 Nov 2013 15:02:00 +0100 -Subject: [PATCH 79/87] X11: adapt to new settings +Subject: [PATCH 79/88] X11: adapt to new settings --- system/settings/settings.xml | 1 + @@ -9122,10 +9122,10 @@ index 9a2c3d6..cf29088 100644 1.8.5.1 -From 47798d7eb32d4c5b76b2aae3096ab240091c9098 Mon Sep 17 00:00:00 2001 +From 6390a3757f63567715a183fc7b490b7fa99788bb Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 14 Nov 2013 09:28:24 +0100 -Subject: [PATCH 80/87] X11: adapt to changes in cstdstring +Subject: [PATCH 80/88] X11: adapt to changes in cstdstring --- xbmc/windowing/X11/WinSystemX11.cpp | 4 ++-- @@ -9173,10 +9173,10 @@ index 8525ede..c94f2e3 100644 1.8.5.1 -From 5030971a557463734f9109aee08a162092068871 Mon Sep 17 00:00:00 2001 +From ee897212b0338f1ad5e82db8ecdf29346ef9d1bf Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 14 Nov 2013 18:50:57 +0100 -Subject: [PATCH 81/87] dvdplayer: fix failed to get stream message, lookup +Subject: [PATCH 81/88] dvdplayer: fix failed to get stream message, lookup streams the same way as getting the index --- @@ -9200,10 +9200,10 @@ index ad851e9..60475a3 100644 1.8.5.1 -From c22a45926892111a9078e4274ac487b842886c6e Mon Sep 17 00:00:00 2001 +From eb776b7d63141a35909613017a606a1b299c1e3d Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 14 Nov 2013 19:22:01 +0100 -Subject: [PATCH 82/87] omxplayer: fix failed to get stream message +Subject: [PATCH 82/88] omxplayer: fix failed to get stream message --- xbmc/cores/omxplayer/OMXPlayer.cpp | 2 +- @@ -9226,10 +9226,10 @@ index 4168195..f48a30f 100644 1.8.5.1 -From 72db3fc767f76710363a2392b0dd0d915544b5ac Mon Sep 17 00:00:00 2001 +From 424edc7705867f0000c45f664f836ded2b543136 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Mon, 18 Nov 2013 17:44:31 +0100 -Subject: [PATCH 83/87] ActiveAE: correct time of buffered samples by resample +Subject: [PATCH 83/88] ActiveAE: correct time of buffered samples by resample ratio --- @@ -9238,7 +9238,7 @@ Subject: [PATCH 83/87] ActiveAE: correct time of buffered samples by resample 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index f25ab49..9699858 100644 +index 79ea7b7..104800a 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp @@ -99,7 +99,7 @@ float CEngineStats::GetDelay(CActiveAEStream *stream) @@ -9251,13 +9251,13 @@ index f25ab49..9699858 100644 } diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp -index d5b01ea..9914e9e 100644 +index 4a75f9e..78a2892 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp -@@ -56,6 +56,7 @@ - m_leftoverBuffer = new uint8_t[m_format.m_frameSize]; - m_leftoverBytes = 0; +@@ -58,6 +58,7 @@ m_forceResampler = false; + m_remapper = NULL; + m_remapBuffer = NULL; + m_streamResampleRatio = 1.0; } @@ -9266,10 +9266,10 @@ index d5b01ea..9914e9e 100644 1.8.5.1 -From c06109dac4d268ccf12de30368c2852d511858a3 Mon Sep 17 00:00:00 2001 +From a60bfe4f4669d9d2c55013cd9c810e2c42da7f4e Mon Sep 17 00:00:00 2001 From: Marcel Groothuis Date: Thu, 5 Dec 2013 22:02:50 +0100 -Subject: [PATCH 84/87] ffmpeg demuxer: faster channel change for PVR addons +Subject: [PATCH 84/88] ffmpeg demuxer: faster channel change for PVR addons without internal demuxing (such as MediaPortal, ArgusTV, MythTV, NextPVR) Credits: FernetMenta, Davilla, Popcornmix, Whaupt @@ -9630,10 +9630,10 @@ index ca689d0..f383563 100644 1.8.5.1 -From b6cdf70fff7c794948835e0bb5ee6a27ddcb596c Mon Sep 17 00:00:00 2001 +From 160c8aa2009467bd42bba28aa49304810568e002 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 14 Nov 2013 20:35:04 +0100 -Subject: [PATCH 85/87] ffmpeg demuxer: make sure we start mpegts video with an +Subject: [PATCH 85/88] ffmpeg demuxer: make sure we start mpegts video with an i-frame --- @@ -9717,10 +9717,10 @@ index acde9a8..9ec0877 100644 1.8.5.1 -From ed2c925ee93f2314e3bdd0a33f732cad88f3a9f8 Mon Sep 17 00:00:00 2001 +From c4d7813a080d0e109694f43ff23d9a956f7df6be Mon Sep 17 00:00:00 2001 From: Wolfgang Haupt Date: Thu, 5 Dec 2013 22:11:57 +0100 -Subject: [PATCH 86/87] DVDFactoryDemuxer: skip streaminfo for udp tcp and +Subject: [PATCH 86/88] DVDFactoryDemuxer: skip streaminfo for udp tcp and pvr-channels --- @@ -9844,10 +9844,10 @@ index 146bf5c..e030b9d 100644 1.8.5.1 -From 8b27cb0e6c12a9462fe89ded548d27b5dc652220 Mon Sep 17 00:00:00 2001 +From 5c08411dbae66a650326eb39eed1b23c49b2a4f6 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 10 Dec 2013 13:48:55 +0100 -Subject: [PATCH 87/87] ActiveAE: suspend hdmi audio during change of refresh +Subject: [PATCH 87/88] ActiveAE: suspend hdmi audio during change of refresh rate --- @@ -9855,10 +9855,10 @@ Subject: [PATCH 87/87] ActiveAE: suspend hdmi audio during change of refresh 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 9699858..7fe68fc 100644 +index 104800a..9e2f849 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -234,6 +234,8 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) +@@ -231,6 +231,8 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) case CActiveAEControlProtocol::KEEPCONFIG: m_extKeepConfig = *(unsigned int*)msg->data; return; @@ -9867,7 +9867,7 @@ index 9699858..7fe68fc 100644 default: break; } -@@ -635,6 +637,17 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) +@@ -632,6 +634,17 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) break; } } @@ -9885,7 +9885,7 @@ index 9699858..7fe68fc 100644 break; case AE_TOP_CONFIGURED_IDLE: -@@ -2257,12 +2270,12 @@ void CActiveAE::KeepConfiguration(unsigned int millis) +@@ -2261,12 +2274,12 @@ void CActiveAE::KeepConfiguration(unsigned int millis) void CActiveAE::OnLostDevice() { @@ -9903,3 +9903,279 @@ index 9699858..7fe68fc 100644 -- 1.8.5.1 + +From 45663a71b2b02cd006220bd11113621f3338ceae Mon Sep 17 00:00:00 2001 +From: Rainer Hochecker +Date: Thu, 19 Dec 2013 16:44:18 +0100 +Subject: [PATCH 88/88] ActiveAE: drop useless IsCompatible call on sink + +--- + .../AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 45 ++------- + xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h | 2 +- + .../AudioEngine/Engines/ActiveAE/ActiveAESink.cpp | 107 ++++++++------------- + .../AudioEngine/Engines/ActiveAE/ActiveAESink.h | 2 - + 4 files changed, 47 insertions(+), 109 deletions(-) + +diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +index 9e2f849..14ba23e 100644 +--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp ++++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +@@ -875,11 +875,14 @@ void CActiveAE::Configure(AEAudioFormat *desiredFmt) + std::string device = AE_IS_RAW(m_sinkRequestFormat.m_dataFormat) ? m_settings.passthoughdevice : m_settings.device; + std::string driver; + CAESinkFactory::ParseDevice(device, driver); +- if (!IsSinkCompatible(m_sinkRequestFormat, device) || m_settings.driver.compare(driver) != 0) ++ if (!CompareFormat(m_sinkRequestFormat, m_sinkFormat) || ++ m_currDevice.compare(device) != 0 || ++ m_settings.driver.compare(driver) != 0) + { + if (!InitSink()) + return; + m_settings.driver = driver; ++ m_currDevice = device; + initSink = true; + m_stats.Reset(m_sinkFormat.m_sampleRate); + m_sink.m_controlPort.SendOutMessage(CSinkControlProtocol::VOLUME, &m_volume, sizeof(float)); +@@ -1412,10 +1415,10 @@ bool CActiveAE::NeedReconfigureSink() + std::string device = AE_IS_RAW(newFormat.m_dataFormat) ? m_settings.passthoughdevice : m_settings.device; + std::string driver; + CAESinkFactory::ParseDevice(device, driver); +- if (m_settings.driver.compare(driver) != 0) +- return true; + +- if (!IsSinkCompatible(newFormat, device)) ++ if (!CompareFormat(newFormat, m_sinkFormat) || ++ m_currDevice.compare(device) != 0 || ++ m_settings.driver.compare(driver) != 0) + return true; + + return false; +@@ -1490,40 +1493,6 @@ void CActiveAE::DrainSink() + } + } + +-bool CActiveAE::IsSinkCompatible(const AEAudioFormat &format, const std::string &device) +-{ +- bool compatible = false; +- SinkConfig config; +- config.format = format; +- config.device = &device; +- +- // send message to sink +- Message *reply; +- if (m_sink.m_controlPort.SendOutMessageSync(CSinkControlProtocol::ISCOMPATIBLE, +- &reply, +- 1000, +- &config, sizeof(config))) +- { +- bool success = reply->signal == CSinkControlProtocol::ACC ? true : false; +- if (!success) +- { +- reply->Release(); +- CLog::Log(LOGERROR, "ActiveAE::%s - returned error", __FUNCTION__); +- m_extError = true; +- return false; +- } +- compatible = *(bool*)reply->data; +- reply->Release(); +- } +- else +- { +- CLog::Log(LOGERROR, "ActiveAE::%s - failed to query compatibility", __FUNCTION__); +- m_extError = true; +- return false; +- } +- return compatible; +-} +- + void CActiveAE::UnconfigureSink() + { + // send message to sink +diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h +index 20c8591..8e9afb1 100644 +--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h ++++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h +@@ -250,7 +250,6 @@ class CActiveAE : public IAE, private CThread + bool InitSink(); + void DrainSink(); + void UnconfigureSink(); +- bool IsSinkCompatible(const AEAudioFormat &format, const std::string &device); + void Start(); + void Dispose(); + void LoadSettings(); +@@ -307,6 +306,7 @@ class CActiveAE : public IAE, private CThread + AudioSettings m_settings; + CEngineStats m_stats; + IAEEncoder *m_encoder; ++ std::string m_currDevice; + + // buffers + CActiveAEBufferPoolResample *m_sinkBuffers; +diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp +index a592e69..d0b594a 100644 +--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp ++++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp +@@ -76,13 +76,6 @@ void CActiveAESink::Dispose() + } + } + +-bool CActiveAESink::IsCompatible(const AEAudioFormat &format, const std::string &device) +-{ +- if (!m_sink) +- return false; +- return m_sink->IsCompatible(format, device); +-} +- + bool CActiveAESink::HasVolume() + { + if (!m_sink) +@@ -199,13 +192,6 @@ void CActiveAESink::StateMachine(int signal, Protocol *port, Message *msg) + msg->Reply(CSinkControlProtocol::ACC); + return; + +- case CSinkControlProtocol::ISCOMPATIBLE: +- data = (SinkConfig*)msg->data; +- bool compatible; +- compatible = IsCompatible(data->format, *(data->device)); +- msg->Reply(CSinkControlProtocol::ACC, &compatible, sizeof(bool)); +- return; +- + default: + break; + } +@@ -652,73 +638,58 @@ void CActiveAESink::OpenSink() + if (driver.empty() && m_sink) + driver = m_sink->GetName(); + +- std::string sinkName; ++ CLog::Log(LOGINFO, "CActiveAE::OpenSink - initialize sink"); ++ + if (m_sink) + { +- sinkName = m_sink->GetName(); +- std::transform(sinkName.begin(), sinkName.end(), sinkName.begin(), ::toupper); ++ m_sink->Drain(); ++ m_sink->Deinitialize(); ++ delete m_sink; ++ m_sink = NULL; + } + +- if (!m_sink || sinkName != driver || !m_sink->IsCompatible(m_requestedFormat, device)) +- { +- CLog::Log(LOGINFO, "CActiveAE::OpenSink - sink incompatible, re-starting"); +- +- if (m_sink) +- { +- m_sink->Drain(); +- m_sink->Deinitialize(); +- delete m_sink; +- m_sink = NULL; +- } +- +- // get the display name of the device +- GetDeviceFriendlyName(device); ++ // get the display name of the device ++ GetDeviceFriendlyName(device); + +- // if we already have a driver, prepend it to the device string +- if (!driver.empty()) +- device = driver + ":" + device; ++ // if we already have a driver, prepend it to the device string ++ if (!driver.empty()) ++ device = driver + ":" + device; + +- // WARNING: this changes format and does not use passthrough +- m_sinkFormat = m_requestedFormat; +- CLog::Log(LOGDEBUG, "CActiveAE::OpenSink - trying to open device %s", device.c_str()); +- m_sink = CAESinkFactory::Create(device, m_sinkFormat, passthrough); ++ // WARNING: this changes format and does not use passthrough ++ m_sinkFormat = m_requestedFormat; ++ CLog::Log(LOGDEBUG, "CActiveAE::OpenSink - trying to open device %s", device.c_str()); ++ m_sink = CAESinkFactory::Create(device, m_sinkFormat, passthrough); + +- if (!m_sink) +- { +- CLog::Log(LOGERROR, "CActiveAE::OpenSink - no sink was returned"); +- m_extError = true; +- return; +- } ++ if (!m_sink) ++ { ++ CLog::Log(LOGERROR, "CActiveAE::OpenSink - no sink was returned"); ++ m_extError = true; ++ return; ++ } + +- m_sink->SetVolume(m_volume); ++ m_sink->SetVolume(m_volume); + + #ifdef WORDS_BIGENDIAN +- if (m_sinkFormat.m_dataFormat == AE_FMT_S16BE) +- m_sinkFormat.m_dataFormat = AE_FMT_S16NE; +- else if (m_sinkFormat.m_dataFormat == AE_FMT_S32BE) +- m_sinkFormat.m_dataFormat = AE_FMT_S32NE; ++ if (m_sinkFormat.m_dataFormat == AE_FMT_S16BE) ++ m_sinkFormat.m_dataFormat = AE_FMT_S16NE; ++ else if (m_sinkFormat.m_dataFormat == AE_FMT_S32BE) ++ m_sinkFormat.m_dataFormat = AE_FMT_S32NE; + #else +- if (m_sinkFormat.m_dataFormat == AE_FMT_S16LE) +- m_sinkFormat.m_dataFormat = AE_FMT_S16NE; +- else if (m_sinkFormat.m_dataFormat == AE_FMT_S32LE) +- m_sinkFormat.m_dataFormat = AE_FMT_S32NE; ++ if (m_sinkFormat.m_dataFormat == AE_FMT_S16LE) ++ m_sinkFormat.m_dataFormat = AE_FMT_S16NE; ++ else if (m_sinkFormat.m_dataFormat == AE_FMT_S32LE) ++ m_sinkFormat.m_dataFormat = AE_FMT_S32NE; + #endif + +- CLog::Log(LOGDEBUG, "CActiveAE::OpenSink - %s Initialized:", m_sink->GetName()); +- CLog::Log(LOGDEBUG, " Output Device : %s", m_deviceFriendlyName.c_str()); +- CLog::Log(LOGDEBUG, " Sample Rate : %d", m_sinkFormat.m_sampleRate); +- CLog::Log(LOGDEBUG, " Sample Format : %s", CAEUtil::DataFormatToStr(m_sinkFormat.m_dataFormat)); +- CLog::Log(LOGDEBUG, " Channel Count : %d", m_sinkFormat.m_channelLayout.Count()); +- CLog::Log(LOGDEBUG, " Channel Layout: %s", ((std::string)m_sinkFormat.m_channelLayout).c_str()); +- CLog::Log(LOGDEBUG, " Frames : %d", m_sinkFormat.m_frames); +- CLog::Log(LOGDEBUG, " Frame Samples : %d", m_sinkFormat.m_frameSamples); +- CLog::Log(LOGDEBUG, " Frame Size : %d", m_sinkFormat.m_frameSize); +- } +- else +- CLog::Log(LOGINFO, "CActiveAE::OpenSink - keeping old sink with : %s, %s, %dhz", +- CAEUtil::DataFormatToStr(m_sinkFormat.m_dataFormat), +- ((std::string)m_sinkFormat.m_channelLayout).c_str(), +- m_sinkFormat.m_sampleRate); ++ CLog::Log(LOGDEBUG, "CActiveAE::OpenSink - %s Initialized:", m_sink->GetName()); ++ CLog::Log(LOGDEBUG, " Output Device : %s", m_deviceFriendlyName.c_str()); ++ CLog::Log(LOGDEBUG, " Sample Rate : %d", m_sinkFormat.m_sampleRate); ++ CLog::Log(LOGDEBUG, " Sample Format : %s", CAEUtil::DataFormatToStr(m_sinkFormat.m_dataFormat)); ++ CLog::Log(LOGDEBUG, " Channel Count : %d", m_sinkFormat.m_channelLayout.Count()); ++ CLog::Log(LOGDEBUG, " Channel Layout: %s", ((std::string)m_sinkFormat.m_channelLayout).c_str()); ++ CLog::Log(LOGDEBUG, " Frames : %d", m_sinkFormat.m_frames); ++ CLog::Log(LOGDEBUG, " Frame Samples : %d", m_sinkFormat.m_frameSamples); ++ CLog::Log(LOGDEBUG, " Frame Size : %d", m_sinkFormat.m_frameSize); + + // init sample of silence + SampleConfig config; +diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h +index 807567d..8b6aa05 100644 +--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h ++++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h +@@ -50,7 +50,6 @@ class CSinkControlProtocol : public Protocol + CONFIGURE, + UNCONFIGURE, + SILENCEMODE, +- ISCOMPATIBLE, + VOLUME, + FLUSH, + TIMEOUT, +@@ -101,7 +100,6 @@ class CActiveAESink : private CThread + void GetDeviceFriendlyName(std::string &device); + void OpenSink(); + void ReturnBuffers(); +- bool IsCompatible(const AEAudioFormat &format, const std::string &device); + + unsigned int OutputSamples(CSampleBuffer* samples); + void ConvertInit(CSampleBuffer* samples); +-- +1.8.5.1 + diff --git a/packages/mediacenter/xbmc/patches/xbmc-999.00-service-addons-use-a-wrapper-to-setup-systemd.patch b/packages/mediacenter/xbmc/patches/xbmc-999.00-service-addons-use-a-wrapper-to-setup-systemd.patch new file mode 100644 index 0000000000..d81adcd3f1 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-999.00-service-addons-use-a-wrapper-to-setup-systemd.patch @@ -0,0 +1,97 @@ +From 9c1dea43c9b9b66c48d057d3c0e44cd4a807e4dc Mon Sep 17 00:00:00 2001 +From: Stefan Saraev +Date: Fri, 20 Dec 2013 00:36:34 +0200 +Subject: [PATCH] service addons: use a wrapper to setup systemd + +--- + xbmc/addons/AddonDatabase.cpp | 3 +++ + xbmc/addons/AddonInstaller.cpp | 10 ++++++++++ + xbmc/addons/AddonInstaller.h | 2 ++ + 3 files changed, 15 insertions(+) + +diff --git a/xbmc/addons/AddonDatabase.cpp b/xbmc/addons/AddonDatabase.cpp +index 4202363..105749f 100644 +--- a/xbmc/addons/AddonDatabase.cpp ++++ b/xbmc/addons/AddonDatabase.cpp +@@ -20,6 +20,7 @@ + + #include "AddonDatabase.h" + #include "addons/AddonManager.h" ++#include "addons/AddonInstaller.h" + #include "utils/log.h" + #include "utils/Variant.h" + #include "utils/StringUtils.h" +@@ -581,6 +582,7 @@ bool CAddonDatabase::DisableAddon(const CStdString &addonID, bool disable /* = t + boost::shared_ptr service = boost::dynamic_pointer_cast(addon); + if (service) + service->Stop(); ++ CAddonInstaller::Get().CallOEWrapper(addonID, true); + } + // restart the pvr manager when disabling a pvr add-on with the pvr manager enabled + else if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_PVRDLL, false) && addon && +@@ -601,6 +603,7 @@ bool CAddonDatabase::DisableAddon(const CStdString &addonID, bool disable /* = t + // If the addon is a service, start it + if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_SERVICE, false) && addon && disabled) + { ++ CAddonInstaller::Get().CallOEWrapper(addonID, false); + boost::shared_ptr service = boost::dynamic_pointer_cast(addon); + if (service) + service->Start(); +diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp +index 8c9f241..d2f4610 100644 +--- a/xbmc/addons/AddonInstaller.cpp ++++ b/xbmc/addons/AddonInstaller.cpp +@@ -70,6 +70,13 @@ CAddonInstaller &CAddonInstaller::Get() + return addonInstaller; + } + ++void CAddonInstaller::CallOEWrapper(const std::string& ID, bool disable) ++{ ++ char cmd[255]; ++ snprintf(cmd, sizeof(cmd), "/usr/lib/openelec/systemd-addon-wrapper %s %d", ID.c_str(), disable); ++ system(cmd); ++} ++ + void CAddonInstaller::OnJobComplete(unsigned int jobID, bool success, CJob* job) + { + if (success) +@@ -586,6 +593,7 @@ bool CAddonInstallJob::OnPreInstall() + boost::shared_ptr service = boost::dynamic_pointer_cast(addon); + if (service) + service->Stop(); ++ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true); + CAddonMgr::Get().RemoveAddon(m_addon->ID()); // remove it + return running; + } +@@ -713,6 +721,7 @@ void CAddonInstallJob::OnPostInstall(bool reloadAddon) + AddonPtr addon; + CAddonMgr::Get().GetAddon(m_addon->ID(), addon); + boost::shared_ptr service = boost::dynamic_pointer_cast(addon); ++ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), false); + if (service) + service->Start(); + } +@@ -794,6 +803,7 @@ bool CAddonUnInstallJob::DoWork() + boost::shared_ptr service = boost::dynamic_pointer_cast(m_addon); + if (service) + service->Stop(); ++ CAddonInstaller::Get().CallOEWrapper(m_addon->ID(), true); + } + + AddonPtr repoPtr = CAddonInstallJob::GetRepoForAddon(m_addon); +diff --git a/xbmc/addons/AddonInstaller.h b/xbmc/addons/AddonInstaller.h +index 39cab93..2938c7f 100644 +--- a/xbmc/addons/AddonInstaller.h ++++ b/xbmc/addons/AddonInstaller.h +@@ -29,6 +29,8 @@ class CAddonInstaller : public IJobCallback + public: + static CAddonInstaller &Get(); + ++ void CallOEWrapper(const std::string& ID, bool disable); ++ + bool IsDownloading() const; + void GetInstallList(ADDON::VECADDONS &addons) const; + bool GetProgress(const CStdString &addonID, unsigned int &percent) const; +-- +1.8.3.2 + diff --git a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.stop b/packages/mediacenter/xbmc/scripts/systemd-addon-wrapper similarity index 70% rename from packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.stop rename to packages/mediacenter/xbmc/scripts/systemd-addon-wrapper index 6713e0249c..4daf7d225e 100755 --- a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.stop +++ b/packages/mediacenter/xbmc/scripts/systemd-addon-wrapper @@ -1,5 +1,4 @@ #!/bin/sh - ################################################################################ # This file is part of OpenELEC - http://www.openelec.tv # Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) @@ -20,26 +19,18 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -. /etc/profile - -LOCKDIR="/var/lock/" -LOCKFILE="tvheadend.disabled" -LOCKFILE_SLEEP="tvheadend.sleep" - -ADDON_BIN="tvheadend" - -mkdir -p "$LOCKDIR" -if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then - touch "$LOCKDIR/$LOCKFILE" +if [ ! -d /storage/.config/system.d ] ; then + mkdir -p /storage/.config/system.d fi -if [ "$(pidof $ADDON_BIN)" ] ; then - killall -q $ADDON_BIN - for seq in `seq 1 10` ; do - if [ ! "$(pidof $ADDON_BIN)" ] ; then - break - fi - usleep 200000 - done - killall -q -9 $ADDON_BIN +if [ -f "/storage/.xbmc/addons/$1/system.d/$1.service" ] ; then + if [ $2 -eq 1 ] ; then + # disable = true: cleanup + systemctl stop "$1.service" + systemctl disable "/storage/.xbmc/addons/$1/system.d/$1.service" + else + # disable = false: setup + systemctl enable "/storage/.xbmc/addons/$1/system.d/$1.service" + systemctl start "$1.service" + fi fi diff --git a/packages/multimedia/ffmpeg/patches/ffmpeg-0061-ffmpeg-backport-avcodec-aacdec-default-to-non-wide-7.patch b/packages/multimedia/ffmpeg/patches/ffmpeg-0061-ffmpeg-backport-avcodec-aacdec-default-to-non-wide-7.patch new file mode 100644 index 0000000000..7e2f05bd9b --- /dev/null +++ b/packages/multimedia/ffmpeg/patches/ffmpeg-0061-ffmpeg-backport-avcodec-aacdec-default-to-non-wide-7.patch @@ -0,0 +1,67 @@ +From 59f16d529fdcb4c5db53ce3bd289aa8148a13de4 Mon Sep 17 00:00:00 2001 +From: Anssi Hannula +Date: Tue, 17 Dec 2013 23:04:31 +0200 +Subject: [PATCH] [ffmpeg] - backport - avcodec/aacdec: default to non-wide 7.1 + in non-strict mode + +Upstream commit e10fccf62a36e09b54ad6ea3d5fa6638f298d5ae, for +http://trac.xbmc.org/ticket/13758. + +AAC specification has 7.1(wide) as a default layout for 8-channel +streams (channel config 7). However, at least Nero AAC encoder encodes +non-wide 7.1 streams using the default channel config 7, mapping the +side channels of the original audio stream to the second +AAC_CHANNEL_FRONT pair in the AAC stream. Similarly, e.g. FAAD decodes +the second AAC_CHANNEL_FRONT pair as side channels, therefore decoding +the incorrect streams as if they were correct (and as the encoder +intended). + +FFmpeg currently decodes such files by-the-spec, i.e. after decoding the +original front pair will be in AV_CH_FRONT_x_OF_CENTER and the original +side pair will be in AV_CH_FRONT_x. + +As actual intended 7.1(wide) streams are very rare while misencoded 7.1 +files actually exist in the wild, default to assuming a 7.1 layout was +intended unless in strict mode. + +Fixes playback of e.g. 8_Channel_ID.m4a in samples. + +Signed-off-by: Anssi Hannula +Signed-off-by: Michael Niedermayer +--- + libavcodec/aacdec.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c +index 7a871c4..12dbfcf 100644 +--- a/libavcodec/aacdec.c ++++ b/libavcodec/aacdec.c +@@ -505,6 +505,25 @@ static int set_default_channel_config(AVCodecContext *avctx, + } + *tags = tags_per_config[channel_config]; + memcpy(layout_map, aac_channel_layout_map[channel_config-1], *tags * sizeof(*layout_map)); ++ ++ /* ++ * AAC specification has 7.1(wide) as a default layout for 8-channel streams. ++ * However, at least Nero AAC encoder encodes 7.1 streams using the default ++ * channel config 7, mapping the side channels of the original audio stream ++ * to the second AAC_CHANNEL_FRONT pair in the AAC stream. Similarly, e.g. FAAD ++ * decodes the second AAC_CHANNEL_FRONT pair as side channels, therefore decoding ++ * the incorrect streams as if they were correct (and as the encoder intended). ++ * ++ * As actual intended 7.1(wide) streams are very rare, default to assuming a ++ * 7.1 layout was intended. ++ */ ++ if (channel_config == 7 && avctx->strict_std_compliance < FF_COMPLIANCE_STRICT) { ++ av_log(avctx, AV_LOG_INFO, "Assuming an incorrectly encoded 7.1 channel layout" ++ " instead of a spec-compliant 7.1(wide) layout, use -strict %d to decode" ++ " according to the specification instead.\n", FF_COMPLIANCE_STRICT); ++ layout_map[2][2] = AAC_CHANNEL_SIDE; ++ } ++ + return 0; + } + +-- +1.8.1.5 + diff --git a/packages/oem/ARCTIC_MC/install b/packages/oem/ARCTIC_MC/install deleted file mode 100755 index 0b15fa2eed..0000000000 --- a/packages/oem/ARCTIC_MC/install +++ /dev/null @@ -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 - -$SCRIPTS/create_addon tvheadend - -OEM_ADDON_DIR="$INSTALL/usr/lib/xbmc/addons/" - -mkdir -p $OEM_ADDON_DIR - cp -PR $BUILD/addons/tvheadend/service.multimedia.tvheadend $OEM_ADDON_DIR diff --git a/packages/sysutils/busybox/package.mk b/packages/sysutils/busybox/package.mk index 20570653cc..81566d27e9 100644 --- a/packages/sysutils/busybox/package.mk +++ b/packages/sysutils/busybox/package.mk @@ -26,7 +26,7 @@ PKG_LICENSE="GPL" PKG_SITE="http://www.busybox.net" PKG_URL="http://busybox.net/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS_HOST="" -PKG_DEPENDS_TARGET="hdparm dosfstools e2fsprogs speedcontrol zip pciutils usbutils parted" +PKG_DEPENDS_TARGET="hdparm dosfstools e2fsprogs speedcontrol zip unzip pciutils usbutils parted" PKG_DEPENDS_INIT="" PKG_BUILD_DEPENDS_HOST="toolchain" PKG_BUILD_DEPENDS_TARGET="toolchain busybox:host" @@ -200,7 +200,6 @@ makeinstall_target() { post_install() { ROOT_PWD="`$ROOT/$TOOLCHAIN/bin/cryptpw -m sha512 $ROOT_PASSWORD`" - USER_PWD="`$ROOT/$TOOLCHAIN/bin/cryptpw -m sha512 $USER_PASSWORD`" echo "chmod 4755 $INSTALL/bin/busybox" >> $FAKEROOT_SCRIPT echo "chmod 000 $INSTALL/etc/shadow" >> $FAKEROOT_SCRIPT @@ -209,9 +208,6 @@ post_install() { add_group root 0 add_group users 100 - add_user $USER_NAME "$USER_PWD" 1000 1000 "User" "/storage" "/bin/sh" - add_group $USER_GROUP 1000 - enable_service debug-shell.service enable_service shell.service enable_service show-version.service diff --git a/packages/sysutils/systemd/package.mk b/packages/sysutils/systemd/package.mk index 47ef303eaf..e7f6118ef4 100644 --- a/packages/sysutils/systemd/package.mk +++ b/packages/sysutils/systemd/package.mk @@ -189,8 +189,6 @@ post_makeinstall_target() { mkdir -p $INSTALL/usr/config cp -PR $PKG_DIR/config/* $INSTALL/usr/config - rm -rf $INSTALL/etc/systemd/system - ln -sf /storage/.config/system.d $INSTALL/etc/systemd/system rm -rf $INSTALL/etc/modules-load.d ln -sf /storage/.config/modules-load.d $INSTALL/etc/modules-load.d rm -rf $INSTALL/etc/sysctl.d diff --git a/packages/sysutils/systemd/patches/systemd-07_move-etc-systemd-system-to-storage-.config-system.d.patch b/packages/sysutils/systemd/patches/systemd-07_move-etc-systemd-system-to-storage-.config-system.d.patch new file mode 100644 index 0000000000..d84aafa5f2 --- /dev/null +++ b/packages/sysutils/systemd/patches/systemd-07_move-etc-systemd-system-to-storage-.config-system.d.patch @@ -0,0 +1,57 @@ +From 3bda4f376063971ad068f9c26edbec9029cfa7e6 Mon Sep 17 00:00:00 2001 +From: Stefan Saraev +Date: Thu, 19 Dec 2013 11:21:13 +0200 +Subject: [PATCH] move /etc/systemd/system to /storage/.config/system.d + +--- + Makefile.am | 4 ++-- + Makefile.in | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 8d9c587..93e9c6d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -144,7 +144,7 @@ udevlibexec_PROGRAMS = + AM_CPPFLAGS = \ + -include $(top_builddir)/config.h \ + -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \ +- -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \ ++ -DSYSTEM_CONFIG_UNIT_PATH=\"/storage/.config/system.d\" \ + -DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \ + -DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \ + -DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \ +@@ -4209,7 +4209,7 @@ substitutions = \ + '|SYSTEMCTL=$(rootbindir)/systemctl|' \ + '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \ + '|pkgsysconfdir=$(pkgsysconfdir)|' \ +- '|SYSTEM_CONFIG_UNIT_PATH=$(pkgsysconfdir)/system|' \ ++ '|SYSTEM_CONFIG_UNIT_PATH=/storage/.config/system.d|' \ + '|USER_CONFIG_UNIT_PATH=$(pkgsysconfdir)/user|' \ + '|pkgdatadir=$(pkgdatadir)|' \ + '|systemunitdir=$(systemunitdir)|' \ +diff --git a/Makefile.in b/Makefile.in +index 6f3d475..66c4c22 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -3744,7 +3744,7 @@ manual_tests = test-engine test-ns test-loopback test-hostname \ + AM_CPPFLAGS = \ + -include $(top_builddir)/config.h \ + -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \ +- -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \ ++ -DSYSTEM_CONFIG_UNIT_PATH=\"/storage/.config/system.d\" \ + -DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \ + -DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \ + -DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \ +@@ -6269,7 +6269,7 @@ substitutions = \ + '|SYSTEMCTL=$(rootbindir)/systemctl|' \ + '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \ + '|pkgsysconfdir=$(pkgsysconfdir)|' \ +- '|SYSTEM_CONFIG_UNIT_PATH=$(pkgsysconfdir)/system|' \ ++ '|SYSTEM_CONFIG_UNIT_PATH=/storage/.config/system.d|' \ + '|USER_CONFIG_UNIT_PATH=$(pkgsysconfdir)/user|' \ + '|pkgdatadir=$(pkgdatadir)|' \ + '|systemunitdir=$(systemunitdir)|' \ +-- +1.7.2.5 + diff --git a/projects/ARCTIC_MC/options b/projects/ARCTIC_MC/options index 4794cede5d..7c02c0d47b 100755 --- a/projects/ARCTIC_MC/options +++ b/projects/ARCTIC_MC/options @@ -20,15 +20,6 @@ # Root password to integrate in the target system ROOT_PASSWORD="openelec" -# User to integrate in the target system - USER_NAME="openelec" - -# User group to integrate in the target system - USER_GROUP="openelec" - -# User password to integrate in the target system - USER_PASSWORD="openelec" - # The TARGET_CPU variable controls which processor should be targeted for # generated code. case $TARGET_ARCH in @@ -330,7 +321,7 @@ TESTING="no" # OEM packages for OEM's (yes / no) - OEM_SUPPORT="yes" + OEM_SUPPORT="no" # build and install nano text editor (yes / no) NANO_EDITOR="yes" diff --git a/projects/ATV/options b/projects/ATV/options index 604b980ee1..28e2fb9697 100755 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -20,15 +20,6 @@ # Root password to integrate in the target system ROOT_PASSWORD="openelec" -# User to integrate in the target system - USER_NAME="openelec" - -# User group to integrate in the target system - USER_GROUP="openelec" - -# User password to integrate in the target system - USER_PASSWORD="openelec" - # The TARGET_CPU variable controls which processor should be targeted for # generated code. case $TARGET_ARCH in diff --git a/projects/Generic/options b/projects/Generic/options index c814b6812c..2dd063bd88 100755 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -20,15 +20,6 @@ # Root password to integrate in the target system ROOT_PASSWORD="openelec" -# User to integrate in the target system - USER_NAME="openelec" - -# User group to integrate in the target system - USER_GROUP="openelec" - -# User password to integrate in the target system - USER_PASSWORD="openelec" - # The TARGET_CPU variable controls which processor should be targeted for # generated code. case $TARGET_ARCH in diff --git a/projects/RPi/options b/projects/RPi/options index c7e1724ed9..5606865582 100755 --- a/projects/RPi/options +++ b/projects/RPi/options @@ -20,15 +20,6 @@ # Root password to integrate in the target system ROOT_PASSWORD="openelec" -# User to integrate in the target system - USER_NAME="openelec" - -# User group to integrate in the target system - USER_GROUP="openelec" - -# User password to integrate in the target system - USER_PASSWORD="openelec" - # The TARGET_CPU variable controls which processor should be targeted for # generated code. case $TARGET_ARCH in diff --git a/projects/Virtual/options b/projects/Virtual/options index 52c79d39ac..6bf7617990 100755 --- a/projects/Virtual/options +++ b/projects/Virtual/options @@ -20,15 +20,6 @@ # Root password to integrate in the target system ROOT_PASSWORD="openelec" -# User to integrate in the target system - USER_NAME="openelec" - -# User group to integrate in the target system - USER_GROUP="openelec" - -# User password to integrate in the target system - USER_PASSWORD="openelec" - # The TARGET_CPU variable controls which processor should be targeted for # generated code. case $TARGET_ARCH in