diff --git a/installer/noobs/os-pi1.json b/installer/noobs/os-pi1.json
index 4df2eb8a8d53..9ba11e44c37e 100644
--- a/installer/noobs/os-pi1.json
+++ b/installer/noobs/os-pi1.json
@@ -1,8 +1,8 @@
{
"name": "OSMC_Pi1",
"url": "https://osmc.tv",
- "version": "2019.04-1",
- "release_date": "2019-04-21",
+ "version": "2019.05-1",
+ "release_date": "2019-05-19",
"kernel": "4.14.78",
"description": "A fast and feature filled open source media center",
"username": "osmc",
diff --git a/installer/noobs/os-pi2.json b/installer/noobs/os-pi2.json
index cec10048c783..17dd5448c039 100644
--- a/installer/noobs/os-pi2.json
+++ b/installer/noobs/os-pi2.json
@@ -1,8 +1,8 @@
{
"name": "OSMC_Pi2",
"url": "https://osmc.tv",
- "version": "2019.04-1",
- "release_date": "2019-04-21",
+ "version": "2019.05-1",
+ "release_date": "2019-05-19",
"kernel": "4.14.78",
"description": "A fast and feature filled open source media center",
"username": "osmc",
diff --git a/installer/target/patches/all-012-bump-automake-version.patch b/installer/target/patches/all-012-bump-automake-version.patch
new file mode 100644
index 000000000000..743d61584a9e
--- /dev/null
+++ b/installer/target/patches/all-012-bump-automake-version.patch
@@ -0,0 +1,12 @@
+--- b/package/automake/automake.mk 2019-04-22 18:55:25.525608073 +0100
++++ b/package/automake/automake.mk 2019-04-22 18:55:33.545636039 +0100
+@@ -4,7 +4,7 @@
+ #
+ ################################################################################
+
+-AUTOMAKE_VERSION = 1.14.1
++AUTOMAKE_VERSION = 1.16.1
+ AUTOMAKE_SOURCE = automake-$(AUTOMAKE_VERSION).tar.xz
+ AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake
+ AUTOMAKE_LICENSE = GPLv2+
+
diff --git a/installer/target/qt_target/qt_target_installer/extractworker.cpp b/installer/target/qt_target/qt_target_installer/extractworker.cpp
old mode 100755
new mode 100644
index 9f79eb28cf82..0870999343d1
--- a/installer/target/qt_target/qt_target_installer/extractworker.cpp
+++ b/installer/target/qt_target/qt_target_installer/extractworker.cpp
@@ -17,15 +17,20 @@ ExtractWorker::ExtractWorker(QString sourcename, QString targetname, Logger *log
void ExtractWorker::extract()
{
- logger->addLine("Starting extract progress...");
+ logger->addLine("Starting extract process ...");
process = new QProcess();
connect(process, SIGNAL(readyReadStandardOutput()), this, SLOT(readFromStdOut()));
connect(process, SIGNAL(readyReadStandardError()), this, SLOT(readFromStdErr()));
if (sourceName.endsWith("xz"))
+ {
+ logger->addLine("Extracting from " + sourceName);
process->start("/bin/sh -c \"/usr/bin/pv -n " + sourceName + " | tar xJf - -C " + destName + "\"");
+ }
else
- process->start("/bin/sh -c \"/usr/bin/pv -n " + sourceName + " | tar xf - -C " + destName + "\"");
-
+ {
+ logger->addLine("Running " + sourceName);
+ process->start("/bin/sh -c \"" + sourceName + "\"");
+ }
process->waitForFinished(-1);
if (process->exitCode() != 0)
{
diff --git a/installer/target/qt_target/qt_target_installer/mainwindow.cpp b/installer/target/qt_target/qt_target_installer/mainwindow.cpp
old mode 100755
new mode 100644
index 9775fef5b1f0..5c967222149a
--- a/installer/target/qt_target/qt_target_installer/mainwindow.cpp
+++ b/installer/target/qt_target/qt_target_installer/mainwindow.cpp
@@ -104,17 +104,18 @@ void MainWindow::install()
haltInstall("could not mount bootfs");
return;
}
- /* Sanity check: need filesystem.tar.xz or filesystem.tar */
+ /* Sanity check: need filesystem.tar.xz or filesystem.sh */
QFile fileSystem(QString(MNT_BOOT) + "/filesystem.tar.xz");
if (! fileSystem.exists())
{
- QFile fileSystem(QString(MNT_BOOT) + "/filesystem.tar");
+ fileSystem.setFileName(QString(MNT_BOOT) + "/filesystem.sh");
if (! fileSystem.exists())
{
haltInstall("no filesystem found");
return;
}
}
+ logger->addLine("Filesystem defined by " + fileSystem.fileName());
/* Load in preseeded values */
preseed = new PreseedParser();
if (preseed->isLoaded())
diff --git a/package/base-files-osmc/files/DEBIAN/control b/package/base-files-osmc/files/DEBIAN/control
index 959168cd4b44..3e8d7b5daca2 100644
--- a/package/base-files-osmc/files/DEBIAN/control
+++ b/package/base-files-osmc/files/DEBIAN/control
@@ -1,6 +1,6 @@
Origin: OSMC
Package: base-files-osmc
-Version: 2.7.6
+Version: 2.7.8
Section: admin
Priority: required
Architecture: all
diff --git a/package/base-files-osmc/files/etc/os-release b/package/base-files-osmc/files/etc/os-release
index 191fdda13768..8b90224fa223 100644
--- a/package/base-files-osmc/files/etc/os-release
+++ b/package/base-files-osmc/files/etc/os-release
@@ -1,7 +1,7 @@
PRETTY_NAME="Open Source Media Center"
NAME="OSMC"
-VERSION="April 2019"
-VERSION_ID="2019.04-1"
+VERSION="May 2019"
+VERSION_ID="2019.05-2"
ID=osmc
ID_LIKE=debian
diff --git a/package/eventlircd-osmc/build.sh b/package/eventlircd-osmc/build.sh
index e8f97c028417..341a4b49849a 100755
--- a/package/eventlircd-osmc/build.sh
+++ b/package/eventlircd-osmc/build.sh
@@ -24,7 +24,7 @@ then
sed '/Package/d' -i files/DEBIAN/control
sed '/Depends/d' -i files/DEBIAN/control
echo "Package: ${1}-eventlircd-osmc" >> files/DEBIAN/control
- echo "Depends: ${1}-lirc-osmc, udev" >> files/DEBIAN/control
+ echo "Depends: ${1}-lirc-osmc, udev, ir-keytable" >> files/DEBIAN/control
pushd src/eventlircd*
sed -i 's/\s\-Werror//' configure.ac # Disable warnings being errors
autoreconf -vif
diff --git a/package/eventlircd-osmc/files/DEBIAN/control b/package/eventlircd-osmc/files/DEBIAN/control
index 08c47cb8e7a4..f30447bda49e 100644
--- a/package/eventlircd-osmc/files/DEBIAN/control
+++ b/package/eventlircd-osmc/files/DEBIAN/control
@@ -1,5 +1,5 @@
Origin: OSMC
-Version: 1.3.4
+Version: 1.3.9
Section: utils
Essential: No
Priority: optional
diff --git a/package/eventlircd-osmc/files/DEBIAN/postinst b/package/eventlircd-osmc/files/DEBIAN/postinst
index 8c774368a21c..a773c1938922 100755
--- a/package/eventlircd-osmc/files/DEBIAN/postinst
+++ b/package/eventlircd-osmc/files/DEBIAN/postinst
@@ -17,6 +17,8 @@ if [ "$1" = "configure" ]; then
systemctl daemon-reload
systemctl enable eventlircd.service >/dev/null 2>&1
if ischroot; then exit 0; fi
+ udevadm control --reload
+ udevadm trigger --subsystem-match=input
systemctl start eventlircd.service >/dev/null 2>&1
exit 0
fi
diff --git a/package/eventlircd-osmc/files/lib/systemd/system/eventlircd.service b/package/eventlircd-osmc/files/lib/systemd/system/eventlircd.service
index 39a5d9380405..35b06f11a832 100644
--- a/package/eventlircd-osmc/files/lib/systemd/system/eventlircd.service
+++ b/package/eventlircd-osmc/files/lib/systemd/system/eventlircd.service
@@ -5,7 +5,7 @@ Before = mediacenter.service
[Service]
Type = simple
ExecStartPre = /bin/mkdir -p /var/run/lirc
-ExecStart = /usr/sbin/eventlircd --evmap=/etc/eventlircd.d --socket=/var/run/lirc/lircd --repeat-filter --release=_UP -f
+ExecStart = /usr/sbin/eventlircd --evmap=/etc/eventlircd.d --socket=/var/run/lirc/lircd -f
ExecStartPost = /bin/sh -c "for f in /var/run/lirc/lircd-*.sh; do if [ -e $f ]; then s=$(basename $f .sh | sed 's/lircd-//g'); systemctl start lircd_helper@$s; fi; done"
Restart = on-abort
diff --git a/package/eventlircd-osmc/files/lib/udev/rules.d/70-input-repeat.rules b/package/eventlircd-osmc/files/lib/udev/rules.d/70-input-repeat.rules
new file mode 100644
index 000000000000..4df88d1e4a12
--- /dev/null
+++ b/package/eventlircd-osmc/files/lib/udev/rules.d/70-input-repeat.rules
@@ -0,0 +1,16 @@
+ACTION=="add|change", SUBSYSTEM=="input", KERNEL=="event[0-9]*", GOTO="start"
+GOTO="end"
+LABEL="start"
+
+ATTRS{name}=="lircd", GOTO="lircd"
+
+# set default repeat delay to 500ms like rc remotes
+RUN+="/usr/bin/ir-keytable --delay=500 --period=50 --device=$devnode"
+
+GOTO="end"
+
+LABEL="lircd"
+# longer repeat delay for lircd remotes as lircd is slow to recognise button up
+RUN+="/usr/bin/ir-keytable --delay=700 --period=50 --device=$devnode"
+
+LABEL="end"
diff --git a/package/kernel-osmc/build.sh b/package/kernel-osmc/build.sh
index bc2d30ebafa7..41a603d0dbcf 100755
--- a/package/kernel-osmc/build.sh
+++ b/package/kernel-osmc/build.sh
@@ -14,7 +14,7 @@ test $1 == rbp1 && VERSION="4.14.78" && REV="4" && FLAGS_INITRAMFS=$(($INITRAMFS
test $1 == rbp2 && VERSION="4.14.78" && REV="4" && FLAGS_INITRAMFS=$(($INITRAMFS_BUILD + $INITRAMFS_EMBED)) && IMG_TYPE="zImage"
test $1 == vero2 && VERSION="3.10.105" && REV="12" && FLAGS_INITRAMFS=$(($INITRAMFS_BUILD)) && IMG_TYPE="uImage"
test $1 == pc && VERSION="4.2.3" && REV="16" && FLAGS_INITRAMFS=$(($INITRAMFS_BUILD + $INITRAMFS_EMBED)) && IMG_TYPE="zImage"
-test $1 == vero364 && VERSION="3.14.29" && REV="143" && FLAGS_INITRAMFS=$(($INITRAMFS_BUILD)) && IMG_TYPE="zImage"
+test $1 == vero364 && VERSION="3.14.29" && REV="144" && FLAGS_INITRAMFS=$(($INITRAMFS_BUILD)) && IMG_TYPE="zImage"
if [ $1 == "rbp1" ] || [ $1 == "rbp2" ] || [ $1 == "pc" ]
then
if [ -z $VERSION ]; then echo "Don't have a defined kernel version for this target!" && exit 1; fi
diff --git a/package/kernel-osmc/files/DEBIAN/control b/package/kernel-osmc/files/DEBIAN/control
index fa77f8bab52a..8853590fa41e 100644
--- a/package/kernel-osmc/files/DEBIAN/control
+++ b/package/kernel-osmc/files/DEBIAN/control
@@ -1,5 +1,5 @@
Origin: OSMC
-Version: 3.9.136
+Version: 3.9.137
Section: kernel
Essential: No
Priority: required
diff --git a/package/kernel-osmc/patches/vero364-000-add-kernel-config.patch b/package/kernel-osmc/patches/vero364-000-add-kernel-config.patch
index 39af4d28d098..aec52dc70b91 100644
--- a/package/kernel-osmc/patches/vero364-000-add-kernel-config.patch
+++ b/package/kernel-osmc/patches/vero364-000-add-kernel-config.patch
@@ -1,6 +1,6 @@
---- /dev/null 2019-01-01 21:52:11.567126521 +0000
-+++ b/.config 2019-01-03 07:25:44.977964524 +0000
-@@ -0,0 +1,3744 @@
+--- /dev/null 2019-03-25 09:36:08.447153074 +0000
++++ b/.config 2019-06-04 14:39:20.656815873 +0100
+@@ -0,0 +1,3752 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm64 3.14.29 Kernel Configuration
@@ -488,6 +488,7 @@
+CONFIG_IP_MULTIPLE_TABLES=y
+# CONFIG_IP_ROUTE_MULTIPATH is not set
+# CONFIG_IP_ROUTE_VERBOSE is not set
++CONFIG_IP_ROUTE_CLASSID=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
@@ -553,15 +554,16 @@
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
-+# CONFIG_NETFILTER_NETLINK_ACCT is not set
-+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
++CONFIG_NETFILTER_NETLINK_ACCT=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
-+# CONFIG_NF_CONNTRACK_MARK is not set
++CONFIG_NF_CONNTRACK_MARK=y
+# CONFIG_NF_CONNTRACK_PROCFS is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
++CONFIG_NF_CONNTRACK_LABELS=y
+# CONFIG_NF_CT_PROTO_DCCP is not set
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CT_PROTO_UDPLITE is not set
@@ -578,6 +580,7 @@
+# CONFIG_NF_CONNTRACK_TFTP is not set
+CONFIG_NF_CT_NETLINK=m
+# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
++# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+# CONFIG_NF_NAT_AMANDA is not set
@@ -591,77 +594,78 @@
+#
+# Xtables combined modules
+#
-+# CONFIG_NETFILTER_XT_MARK is not set
-+# CONFIG_NETFILTER_XT_CONNMARK is not set
++CONFIG_NETFILTER_XT_MARK=m
++CONFIG_NETFILTER_XT_CONNMARK=m
+
+#
+# Xtables targets
+#
-+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-+# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
-+# CONFIG_NETFILTER_XT_TARGET_HMARK is not set
-+# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
-+# CONFIG_NETFILTER_XT_TARGET_LED is not set
-+# CONFIG_NETFILTER_XT_TARGET_LOG is not set
-+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-+# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set
-+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-+# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set
-+# CONFIG_NETFILTER_XT_TARGET_TEE is not set
-+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_HMARK=m
++CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
++CONFIG_NETFILTER_XT_TARGET_LED=m
++CONFIG_NETFILTER_XT_TARGET_LOG=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NETMAP=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++CONFIG_NETFILTER_XT_TARGET_RATEEST=m
++CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
++CONFIG_NETFILTER_XT_TARGET_TEE=m
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-+# CONFIG_NETFILTER_XT_MATCH_BPF is not set
-+# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
-+# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
-+# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set
-+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
-+# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
++CONFIG_NETFILTER_XT_MATCH_BPF=m
++CONFIG_NETFILTER_XT_MATCH_CGROUP=m
++CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
++CONFIG_NETFILTER_XT_MATCH_COMMENT=m
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-+# CONFIG_NETFILTER_XT_MATCH_CPU is not set
-+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-+# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
-+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-+# CONFIG_NETFILTER_XT_MATCH_ECN is not set
-+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
-+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
-+# CONFIG_NETFILTER_XT_MATCH_HL is not set
-+# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
++CONFIG_NETFILTER_XT_MATCH_CPU=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ECN=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++CONFIG_NETFILTER_XT_MATCH_HL=m
++CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-+# CONFIG_NETFILTER_XT_MATCH_IPVS is not set
-+# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
-+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-+# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
-+# CONFIG_NETFILTER_XT_MATCH_OSF is not set
++CONFIG_NETFILTER_XT_MATCH_IPVS=m
++CONFIG_NETFILTER_XT_MATCH_L2TP=m
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++CONFIG_NETFILTER_XT_MATCH_NFACCT=m
++CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
-+# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
-+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-+# CONFIG_NETFILTER_XT_MATCH_QUOTA2 is not set
-+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-+# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA2=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
++CONFIG_NETFILTER_XT_MATCH_RATEEST=m
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++CONFIG_NETFILTER_XT_MATCH_RECENT=m
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
-+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++CONFIG_NETFILTER_XT_MATCH_TIME=m
++CONFIG_NETFILTER_XT_MATCH_U32=m
+# CONFIG_IP_SET is not set
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
@@ -807,7 +811,7 @@
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+# CONFIG_CGROUP_NET_PRIO is not set
-+# CONFIG_CGROUP_NET_CLASSID is not set
++CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_NET_FLOW_LIMIT=y
@@ -3729,6 +3733,10 @@
+CONFIG_REED_SOLOMON=y
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_DMA=y
diff --git a/package/libsqlite-osmc/build.sh b/package/libsqlite-osmc/build.sh
index 47afea457e9f..9a7909cb2e76 100644
--- a/package/libsqlite-osmc/build.sh
+++ b/package/libsqlite-osmc/build.sh
@@ -5,7 +5,7 @@
. ../common.sh
-pull_source "https://www.sqlite.org/2017/sqlite-autoconf-3260000.tar.gz" "$(pwd)/src"
+pull_source "https://sqlite.org/2019/sqlite-autoconf-3280000.tar.gz" "$(pwd)/src"
if [ $? != 0 ]; then echo -e "Error downloading" && exit 1; fi
# Build in native environment
build_in_env "${1}" $(pwd) "libsqlite-osmc"
diff --git a/package/libsqlite-osmc/files/DEBIAN/control b/package/libsqlite-osmc/files/DEBIAN/control
index a0b41dbeade4..81d3f1540068 100644
--- a/package/libsqlite-osmc/files/DEBIAN/control
+++ b/package/libsqlite-osmc/files/DEBIAN/control
@@ -1,5 +1,5 @@
Origin: OSMC
-Version: 3.26.0-1
+Version: 3.28.0-1
Section: libs
Essential: No
Priority: optional
diff --git a/package/mediacenter-addon-osmc/files/DEBIAN/control b/package/mediacenter-addon-osmc/files/DEBIAN/control
index 0b6cb8c06017..78668baf27f6 100644
--- a/package/mediacenter-addon-osmc/files/DEBIAN/control
+++ b/package/mediacenter-addon-osmc/files/DEBIAN/control
@@ -1,6 +1,6 @@
Origin: OSMC
Package: mediacenter-addon-osmc
-Version: 3.0.671
+Version: 3.0.673
Section: utils
Essential: No
Priority: optional
diff --git a/package/mediacenter-addon-osmc/files/usr/bin/readgui b/package/mediacenter-addon-osmc/files/usr/bin/readgui
new file mode 120000
index 000000000000..05d5d9f910b9
--- /dev/null
+++ b/package/mediacenter-addon-osmc/files/usr/bin/readgui
@@ -0,0 +1 @@
+/usr/share/kodi/addons/script.module.osmcsetting.logging/resources/lib/readgui.py
\ No newline at end of file
diff --git a/package/mediacenter-addon-osmc/src/script.module.osmcsetting.logging/resources/lib/readgui.py b/package/mediacenter-addon-osmc/src/script.module.osmcsetting.logging/resources/lib/readgui.py
old mode 100644
new mode 100755
index a219c281844a..b01c485a5b1c
--- a/package/mediacenter-addon-osmc/src/script.module.osmcsetting.logging/resources/lib/readgui.py
+++ b/package/mediacenter-addon-osmc/src/script.module.osmcsetting.logging/resources/lib/readgui.py
@@ -32,6 +32,8 @@
('videoplayer', 'useamcodecmpeg2'),
('videoplayer', 'useamcodecmpeg4'),
('videoplayer', 'useamcodech264'),
+ ("videoscreen", "force422"),
+ ("videoscreen", "screenmode"),
]
class GuiParser(object):
@@ -119,6 +121,9 @@ def parse_settings(self, *args, **kwargs):
system_settings[_id]['options'] = {}
for o in options:
system_settings[_id]['options'][o.text] = o.attrib['label']
+ default = setting.find('default')
+ if default is not None:
+ system_settings[_id]['default'] = default.text
self.system_settings = system_settings
@@ -170,7 +175,17 @@ def parse(self, *args, **kwargs):
else:
t = setting.text
- self.parsed_values.append('{}: {}'.format(lb, t))
+ setting_formatted = "{}: {}".format(lb, t)
+ if self.system_settings[sj]['default'] != setting.text:
+ try:
+ setting_formatted += " ===> Default: {}".format(
+ self.system_strings[
+ section['options'][
+ self.system_settings[sj]['default']
+ ]])
+ except Exception:
+ setting_formatted += "" # Unknown default value
+ self.parsed_values.append(setting_formatted)
return self.parsed_values
diff --git a/package/mediacenter-addon-osmc/src/script.module.osmcsetting.networking/resources/skins/Default/1080i/network_gui.xml b/package/mediacenter-addon-osmc/src/script.module.osmcsetting.networking/resources/skins/Default/1080i/network_gui.xml
index 412ccc83af7c..14c6026e5c09 100644
--- a/package/mediacenter-addon-osmc/src/script.module.osmcsetting.networking/resources/skins/Default/1080i/network_gui.xml
+++ b/package/mediacenter-addon-osmc/src/script.module.osmcsetting.networking/resources/skins/Default/1080i/network_gui.xml
@@ -1594,7 +1594,7 @@
- Control.IsEnabled(10510) + SubString(Control.GetLabel(10510),*)
+ Control.IsEnabled(10510) + String.Contains(Control.GetLabel(10510),*)
75
180
@@ -1877,7 +1877,7 @@
- Control.IsEnabled(10510) + SubString(Control.GetLabel(10510),*)
+ Control.IsEnabled(10510) + String.Contains(Control.GetLabel(10510),*)
0
460
@@ -1904,7 +1904,7 @@
10520
- Control.IsEnabled(10510) + SubString(Control.GetLabel(10510),*)
+ Control.IsEnabled(10510) + String.Contains(Control.GetLabel(10510),*)
Enable MySQL Video Database
0
@@ -1963,7 +1963,7 @@
- Control.IsEnabled(10520) + SubString(Control.GetLabel(10520),*)
+ Control.IsEnabled(10520) + String.Contains(Control.GetLabel(10520),*)
34
750
180
diff --git a/package/mediacenter-addon-osmc/src/script.module.osmcsetting.networking/resources/skins/Default/1080i/network_gui_720.xml b/package/mediacenter-addon-osmc/src/script.module.osmcsetting.networking/resources/skins/Default/1080i/network_gui_720.xml
index 910d3e6e8d0d..7d36c12469e5 100644
--- a/package/mediacenter-addon-osmc/src/script.module.osmcsetting.networking/resources/skins/Default/1080i/network_gui_720.xml
+++ b/package/mediacenter-addon-osmc/src/script.module.osmcsetting.networking/resources/skins/Default/1080i/network_gui_720.xml
@@ -1594,7 +1594,7 @@
- Control.IsEnabled(10510) + SubString(Control.GetLabel(10510),*)
+ Control.IsEnabled(10510) + String.Contains(Control.GetLabel(10510),*)
75
180
@@ -1877,7 +1877,7 @@
- Control.IsEnabled(10510) + SubString(Control.GetLabel(10510),*)
+ Control.IsEnabled(10510) + String.Contains(Control.GetLabel(10510),*)
0
460
@@ -1904,7 +1904,7 @@
10520
- Control.IsEnabled(10510) + SubString(Control.GetLabel(10510),*)
+ Control.IsEnabled(10510) + String.Contains(Control.GetLabel(10510),*)
Enable MySQL Video Database
0
@@ -1963,7 +1963,7 @@
- Control.IsEnabled(10520) + SubString(Control.GetLabel(10520),*)
+ Control.IsEnabled(10520) + String.Contains(Control.GetLabel(10520),*)
34
750
180
diff --git a/package/mediacenter-osmc/build.sh b/package/mediacenter-osmc/build.sh
index 88e784343536..fab71f5985ca 100755
--- a/package/mediacenter-osmc/build.sh
+++ b/package/mediacenter-osmc/build.sh
@@ -6,7 +6,7 @@
. ../common.sh
if [ "$1" == "rbp1" ] || [ "$1" == "rbp2" ] || [ "$1" == "pc" ] || [ "$1" == "vero2" ] || [ "$1" == "vero3" ]
then
-pull_source "https://github.com/xbmc/xbmc/archive/f985f24e2c01f0fa21f472989854bca4e57982ad.tar.gz" "$(pwd)/src"
+pull_source "https://github.com/xbmc/xbmc/archive/5b87b2addf4000488e4b659c74f1e9fafed17823.tar.gz" "$(pwd)/src"
API_VERSION="18"
else
pull_source "https://github.com/xbmc/xbmc/archive/master.tar.gz" "$(pwd)/kodi"
diff --git a/package/mediacenter-osmc/files/DEBIAN/control b/package/mediacenter-osmc/files/DEBIAN/control
index 4737b8735ee6..253cc05d9e53 100644
--- a/package/mediacenter-osmc/files/DEBIAN/control
+++ b/package/mediacenter-osmc/files/DEBIAN/control
@@ -1,5 +1,5 @@
Origin: OSMC
-Version: 18.2.0-6
+Version: 18.2.0-13
Section: video
Essential: No
Priority: required
diff --git a/package/mediacenter-osmc/patches/all-118-fix-skin-loading-with-profiles.patch b/package/mediacenter-osmc/patches/all-118-fix-skin-loading-with-profiles.patch
new file mode 100644
index 000000000000..96b8dc02fe6f
--- /dev/null
+++ b/package/mediacenter-osmc/patches/all-118-fix-skin-loading-with-profiles.patch
@@ -0,0 +1,101 @@
+From be025d2b3946b7126fab63989d658f94e83af348 Mon Sep 17 00:00:00 2001
+From: Sam Nazarko
+Date: Sat, 4 May 2019 18:53:14 +0100
+Subject: [PATCH 1/3] Add support for discerning between UI ready notification
+ from Kodi and profile manager
+
+Signed-off-by: Sam Nazarko
+---
+ xbmc/guilib/GUIMessage.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/xbmc/guilib/GUIMessage.h b/xbmc/guilib/GUIMessage.h
+index 730c7ff..186117c 100644
+--- a/xbmc/guilib/GUIMessage.h
++++ b/xbmc/guilib/GUIMessage.h
+@@ -159,6 +159,7 @@
+ */
+ #define GUI_MSG_SUBTITLE_DOWNLOADED 52
+
++#define GUI_MSG_UI_READY_PROFILE 53
+
+ #define GUI_MSG_USER 1000
+
+--
+2.7.4
+
+
+From 88d4a572f5c13dcd95d87c84f375213d9ea7cc57 Mon Sep 17 00:00:00 2001
+From: Sam Nazarko
+Date: Sat, 4 May 2019 18:54:36 +0100
+Subject: [PATCH 2/3] Signal when reload should occur from ProfileManager
+
+Signed-off-by: Sam Nazarko
+---
+ xbmc/profiles/ProfileManager.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/xbmc/profiles/ProfileManager.cpp b/xbmc/profiles/ProfileManager.cpp
+index 59e8d04..0e732b3 100644
+--- a/xbmc/profiles/ProfileManager.cpp
++++ b/xbmc/profiles/ProfileManager.cpp
+@@ -423,12 +423,14 @@ void CProfileManager::FinalizeLoadProfile()
+ // the startup window is considered part of the initialization as it most likely switches to the final window
+ bool uiInitializationFinished = firstWindow != WINDOW_STARTUP_ANIM;
+
++ uiInitializationFinished = true;
++
+ CServiceBroker::GetGUI()->GetWindowManager().ChangeActiveWindow(firstWindow);
+
+ // if the user interfaces has been fully initialized let everyone know
+ if (uiInitializationFinished)
+ {
+- CGUIMessage msg(GUI_MSG_NOTIFY_ALL, 0, 0, GUI_MSG_UI_READY);
++ CGUIMessage msg(GUI_MSG_NOTIFY_ALL, 0, 0, GUI_MSG_UI_READY_PROFILE);
+ CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg);
+ }
+ }
+--
+2.7.4
+
+
+From 1230bcbdcbbd21ff538d23da20299eab7a191dc2 Mon Sep 17 00:00:00 2001
+From: Sam Nazarko
+Date: Sat, 4 May 2019 19:02:28 +0100
+Subject: [PATCH 3/3] Ensure menu items are visible when profiles are used. If
+ profiles are active, we also know our walkthrough has run
+
+Signed-off-by: Sam Nazarko
+---
+ xbmc/Application.cpp | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
+index 1c4f5df..3dc528b 100644
+--- a/xbmc/Application.cpp
++++ b/xbmc/Application.cpp
+@@ -3721,7 +3721,7 @@ bool CApplication::OnMessage(CGUIMessage& message)
+ if (m_itemCurrentFile->IsOnDVD())
+ StopPlaying();
+ }
+- else if (message.GetParam1() == GUI_MSG_UI_READY)
++ else if (message.GetParam1() == GUI_MSG_UI_READY || message.GetParam1() == GUI_MSG_UI_READY_PROFILE)
+ {
+ // remove splash window
+ CServiceBroker::GetGUI()->GetWindowManager().Delete(WINDOW_SPLASH);
+@@ -3742,6 +3742,12 @@ bool CApplication::OnMessage(CGUIMessage& message)
+ ShowAppMigrationMessage();
+
+ m_bInitializing = false;
++
++ if (message.GetParam1() == GUI_MSG_UI_READY_PROFILE) {
++ g_application.SetOSMCWalkthroughState(g_application.OSMC_WALKTHROUGH_ISDONE);
++ g_application.ReloadSkin(false);
++ }
++
+ }
+ else if (message.GetParam1() == GUI_MSG_UPDATE_ITEM && message.GetItem())
+ {
+--
+2.7.4
+
diff --git a/package/mediacenter-osmc/patches/all-119-fix-playback-of-m3u-internet-streams.patch b/package/mediacenter-osmc/patches/all-119-fix-playback-of-m3u-internet-streams.patch
new file mode 100644
index 000000000000..2980d6c25d7d
--- /dev/null
+++ b/package/mediacenter-osmc/patches/all-119-fix-playback-of-m3u-internet-streams.patch
@@ -0,0 +1,26 @@
+From e5c42a8590ba6f8c6bd55c07d1c046497d6e061f Mon Sep 17 00:00:00 2001
+From: Sam Nazarko
+Date: Thu, 16 May 2019 17:39:35 +0100
+Subject: [PATCH 1/2] Fix playback of M3U internet streams
+
+Signed-off-by: Sam Nazarko
+---
+ xbmc/playlists/PlayListFactory.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xbmc/playlists/PlayListFactory.cpp b/xbmc/playlists/PlayListFactory.cpp
+index f98c230..273d3bf 100644
+--- a/xbmc/playlists/PlayListFactory.cpp
++++ b/xbmc/playlists/PlayListFactory.cpp
+@@ -118,7 +118,7 @@ bool CPlayListFactory::IsPlaylist(const CFileItem& item)
+ */
+
+ // online m3u8 files are hls:// -- do not treat as playlist
+- if (item.IsInternetStream() && item.IsType(".m3u8"))
++ if (item.IsInternetStream() && (item.IsType(".m3u8") || item.IsType("m3u")))
+ return false;
+
+ if(strMimeType == "audio/x-pn-realaudio"
+--
+2.7.4
+
diff --git a/package/mediacenter-osmc/patches/all-120-re-add-support-for-KEY_STOP.patch b/package/mediacenter-osmc/patches/all-120-re-add-support-for-KEY_STOP.patch
new file mode 100644
index 000000000000..9a0ddb4acf8b
--- /dev/null
+++ b/package/mediacenter-osmc/patches/all-120-re-add-support-for-KEY_STOP.patch
@@ -0,0 +1,27 @@
+From 3ca62524188b131291de8ade8f6cdf5357b2ecdd Mon Sep 17 00:00:00 2001
+From: Sam Nazarko
+Date: Tue, 16 Apr 2019 19:28:34 +0100
+Subject: [PATCH] LibInputKeyboard: re-add support for KEY_STOP as we had in
+ CLinuxInputDevices
+
+Signed-off-by: Sam Nazarko
+---
+ xbmc/platform/linux/input/LibInputKeyboard.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xbmc/platform/linux/input/LibInputKeyboard.cpp b/xbmc/platform/linux/input/LibInputKeyboard.cpp
+index 270f574..9bbc9de 100644
+--- a/xbmc/platform/linux/input/LibInputKeyboard.cpp
++++ b/xbmc/platform/linux/input/LibInputKeyboard.cpp
+@@ -137,7 +137,7 @@ static const std::map xkbMap =
+
+ // Media keys
+ { XKB_KEY_XF86Eject, XBMCK_EJECT },
+- // XBMCK_STOP clashes with XBMCK_MEDIA_STOP
++ { XKB_KEY_Cancel, XBMCK_STOP },
+ { XKB_KEY_XF86AudioRecord, XBMCK_RECORD },
+ // XBMCK_REWIND clashes with XBMCK_MEDIA_REWIND
+ { XKB_KEY_XF86Phone, XBMCK_PHONE },
+--
+2.7.4
+
diff --git a/package/mediacenter-osmc/patches/all-121-prefer-higher-res-at-framerate.patch b/package/mediacenter-osmc/patches/all-121-prefer-higher-res-at-framerate.patch
new file mode 100644
index 000000000000..38499c26807f
--- /dev/null
+++ b/package/mediacenter-osmc/patches/all-121-prefer-higher-res-at-framerate.patch
@@ -0,0 +1,155 @@
+From 41b2a8772045039962a1fee8dff114ada4844fd0 Mon Sep 17 00:00:00 2001
+From: Graham Horner
+Date: Thu, 16 May 2019 17:05:12 +0100
+Subject: [PATCH] Sort whitelist lowres to highres and match exact framerate at
+ higher resolutions
+
+---
+ xbmc/settings/DisplaySettings.cpp | 2 +-
+ xbmc/utils/Variant.cpp | 24 ++++++++++++++++++++++++
+ xbmc/utils/Variant.h | 1 +
+ xbmc/windowing/Resolution.cpp | 37 ++++++++++++++++++++++++++++++++++---
+ 4 files changed, 60 insertions(+), 4 deletions(-)
+
+diff --git a/xbmc/settings/DisplaySettings.cpp b/xbmc/settings/DisplaySettings.cpp
+index 9d09dc2e14..ed530829d4 100644
+--- a/xbmc/settings/DisplaySettings.cpp
++++ b/xbmc/settings/DisplaySettings.cpp
+@@ -682,7 +682,7 @@ RESOLUTION CDisplaySettings::GetResolutionForScreen()
+
+ static inline bool ModeSort(StringSettingOption i,StringSettingOption j)
+ {
+- return (i.value > j.value);
++ return (i.value < j.value);
+ }
+
+ void CDisplaySettings::SettingOptionsModesFiller(std::shared_ptr setting, std::vector &list, std::string ¤t, void *data)
+diff --git a/xbmc/utils/Variant.cpp b/xbmc/utils/Variant.cpp
+index 66ab15ef7d..8b091e82a9 100644
+--- a/xbmc/utils/Variant.cpp
++++ b/xbmc/utils/Variant.cpp
+@@ -682,6 +682,30 @@ bool CVariant::operator==(const CVariant &rhs) const
+ return false;
+ }
+
++bool CVariant::operator<(const CVariant &rhs) const
++{
++ if (m_type == rhs.m_type)
++ {
++ switch (m_type)
++ {
++ case VariantTypeInteger:
++ return m_data.integer < rhs.m_data.integer;
++ case VariantTypeUnsignedInteger:
++ return m_data.unsignedinteger < rhs.m_data.unsignedinteger;
++ case VariantTypeDouble:
++ return m_data.dvalue < rhs.m_data.dvalue;
++ case VariantTypeString:
++ return *m_data.string < *rhs.m_data.string;
++ case VariantTypeWideString:
++ return *m_data.wstring < *rhs.m_data.wstring;
++ default:
++ break;
++ }
++ }
++
++ return false;
++}
++
+ void CVariant::push_back(const CVariant &variant)
+ {
+ if (m_type == VariantTypeNull)
+diff --git a/xbmc/utils/Variant.h b/xbmc/utils/Variant.h
+index fc5e06fcfe..08f6d16b08 100644
+--- a/xbmc/utils/Variant.h
++++ b/xbmc/utils/Variant.h
+@@ -101,6 +101,7 @@ public:
+ CVariant &operator=(CVariant &&rhs);
+ bool operator==(const CVariant &rhs) const;
+ bool operator!=(const CVariant &rhs) const { return !(*this == rhs); }
++ bool operator<(const CVariant &rhs) const;
+
+ void push_back(const CVariant &variant);
+ void push_back(CVariant &&variant);
+diff --git a/xbmc/windowing/Resolution.cpp b/xbmc/windowing/Resolution.cpp
+index 19a2dde602..d538d3d5bd 100644
+--- a/xbmc/windowing/Resolution.cpp
++++ b/xbmc/windowing/Resolution.cpp
+@@ -70,6 +70,11 @@ RESOLUTION CResolutionUtils::ChooseBestResolution(float fps, int width, int heig
+ return res;
+ }
+
++static inline bool ModeSort(CVariant i, CVariant j)
++{
++ return (i < j);
++}
++
+ void CResolutionUtils::FindResolutionFromWhitelist(float fps, int width, int height, bool is3D, RESOLUTION &resolution)
+ {
+ RESOLUTION_INFO curr = CServiceBroker::GetWinSystem()->GetGfxContext().GetResInfo(resolution);
+@@ -103,6 +108,8 @@ void CResolutionUtils::FindResolutionFromWhitelist(float fps, int width, int hei
+ }
+ }
+
++ std::sort(indexList.begin(), indexList.end(), ModeSort);
++
+ CLog::Log(LOGDEBUG, "Trying to find exact refresh rate");
+
+ for (const auto& mode : indexList)
+@@ -163,7 +170,8 @@ void CResolutionUtils::FindResolutionFromWhitelist(float fps, int width, int hei
+ }
+ }
+
+- CLog::Log(LOGDEBUG, "No 3:2 pullback refresh rate whitelisted resolution matched, trying current resolution");
++ CLog::Log(LOGDEBUG, "No 3:2 pullback whitelisted resolution matched, trying current resolution %s (%d)",
++ curr.strMode.c_str(), resolution);
+
+ if (width <= curr.iScreenWidth
+ && height <= curr.iScreenHeight
+@@ -174,10 +182,33 @@ void CResolutionUtils::FindResolutionFromWhitelist(float fps, int width, int hei
+ return;
+ }
+
+- CLog::Log(LOGDEBUG, "Current resolution doesn't match, trying default resolution");
++ /* Prefer upscaling at the correct framerate if available and specifically whitelisted
++ * eg for displays with 2160p25/50 but no 1080p25/50
++ */
++ if (HasWhitelist())
++ {
++ CLog::Log(LOGDEBUG, "Current resolution doesn't match, trying higher resolutions");
++ for (const auto& mode : indexList)
++ {
++ auto i = CDisplaySettings::GetInstance().GetResFromString(mode.asString());
++ const RESOLUTION_INFO info = CServiceBroker::GetWinSystem()->GetGfxContext().GetResInfo(i);
++
++ // pick the lowest resolution that has a matching refresh rate
++ if ((info.iScreenHeight >= height || info.iScreenWidth >= width) &&
++ (info.dwFlags & D3DPRESENTFLAG_MODEMASK) == (curr.dwFlags & D3DPRESENTFLAG_MODEMASK) &&
++ MathUtils::FloatEquals(info.fRefreshRate, fps, 0.01f))
++ {
++ resolution = i;
++ CLog::Log(LOGDEBUG, "Matched fuzzy whitelisted Resolution %s (%d)", info.strMode.c_str(), i);
++ return;
++ }
++ }
++ }
+
+ const RESOLUTION_INFO desktop_info = CServiceBroker::GetWinSystem()->GetGfxContext().GetResInfo(CDisplaySettings::GetInstance().GetCurrentResolution());
+
++ CLog::Log(LOGDEBUG, "Current resolution doesn't match, trying default resolution %s", desktop_info.strMode.c_str());
++
+ for (const auto& mode : indexList)
+ {
+ auto i = CDisplaySettings::GetInstance().GetResFromString(mode.asString());
+@@ -194,7 +225,7 @@ void CResolutionUtils::FindResolutionFromWhitelist(float fps, int width, int hei
+ }
+ }
+
+- CLog::Log(LOGDEBUG, "Default resolution doesn't provide reqired refreshrate, trying default resolution with double refreshrate");
++ CLog::Log(LOGDEBUG, "Default resolution doesn't provide required refreshrate, trying default resolution with double refreshrate");
+
+ for (const auto& mode : indexList)
+ {
+--
+2.11.0
+
diff --git a/package/mediacenter-osmc/patches/rbp-000-backports.patch b/package/mediacenter-osmc/patches/rbp-000-backports.patch
index cec3540fbe0e..3afa0b49d857 100644
--- a/package/mediacenter-osmc/patches/rbp-000-backports.patch
+++ b/package/mediacenter-osmc/patches/rbp-000-backports.patch
@@ -1,4 +1,4 @@
-From 7c0a2cc27678aed721972053d6ad9b63bb711a59 Mon Sep 17 00:00:00 2001
+From 60660d8d492c4644df682292f332c6a0ccf4a8f6 Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Tue, 4 Nov 2014 18:50:00 +0000
Subject: [PATCH 01/49] Temp - more logging
@@ -56,7 +56,7 @@ index 1691c0f..410841a 100644
2.7.4
-From d5bef957eb413b0f396d287808d6bba98c2329de Mon Sep 17 00:00:00 2001
+From ff81459ed08556f08cb33b2171030edfbdc37059 Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Mon, 7 Apr 2014 18:19:32 +0100
Subject: [PATCH 02/49] When opening a stream don't try to update gui so often
@@ -85,7 +85,7 @@ index a0ed9fd..111e52e 100644
2.7.4
-From 9d44525fa4bc6eac1dd6353a021a90ac07e2c4f6 Mon Sep 17 00:00:00 2001
+From 8ebc7b213ed59f450b9b609ae1093851473263f1 Mon Sep 17 00:00:00 2001
From: Ben Avison
Date: Thu, 1 May 2014 16:28:39 +0100
Subject: [PATCH 03/49] Improved file buffering in CArchive
@@ -151,7 +151,7 @@ index e6bf427..185f22c 100644
2.7.4
-From 6db49754e801ee2c2328d4795f684257d07b8053 Mon Sep 17 00:00:00 2001
+From c461d3a4be3991f69a45be3b64ba9bf0822ae7c3 Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Mon, 27 Oct 2014 13:06:57 +0000
Subject: [PATCH 04/49] Make cachemembuffersize default depend on memory size
@@ -217,7 +217,7 @@ index aaddd14..c7859fc 100644
void Deinitialize();
int GetArmMem() { return m_arm_mem; }
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
-index 35b0921..4c314a3 100644
+index 11cbbf1..8603ba4 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -38,6 +38,9 @@
@@ -258,7 +258,7 @@ index 35b0921..4c314a3 100644
2.7.4
-From f53cf910d8be22591e4ab518f026d88b95976b81 Mon Sep 17 00:00:00 2001
+From 960c09256352b424dedb453e10cfab9812e62bee Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Mon, 27 Oct 2014 15:23:51 +0000
Subject: [PATCH 05/49] Default extract thumbnails to false
@@ -290,7 +290,7 @@ index f6c2282..4ebf63e 100644
2.7.4
-From 922c44eebd9fda80461261f06795d6cfa574e364 Mon Sep 17 00:00:00 2001
+From 571bae8ca4277a36120260ac407d9d342fc1e8b9 Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Thu, 27 Nov 2014 16:31:56 +0000
Subject: [PATCH 06/49] Reduce priority of python threads
@@ -322,7 +322,7 @@ index c1000e2..ba04024 100644
2.7.4
-From 5bb420b7bcb3be1fd57b08712b19b85d36df5110 Mon Sep 17 00:00:00 2001
+From a1194c5c3f633541970814aa5b23f44d93866e7f Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Sat, 29 Nov 2014 15:25:16 +0000
Subject: [PATCH 07/49] hack: wait for splash to complete before changing hdmi
@@ -411,7 +411,7 @@ index 743a7fc..116b3bf 100644
2.7.4
-From 71f971153c209e8dbd64c7fc7210db074af65878 Mon Sep 17 00:00:00 2001
+From 7b852d3ad118e880a86eb2160ac55680170bd919 Mon Sep 17 00:00:00 2001
From: anaconda
Date: Thu, 11 Sep 2014 21:30:43 +0200
Subject: [PATCH 08/49] Disable autoscrolling while on screensaver and while
@@ -427,10 +427,10 @@ Subject: [PATCH 08/49] Disable autoscrolling while on screensaver and while
6 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
-index 6e87c6f..3704fa3 100644
+index f156ea0..e67f949 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
-@@ -4878,3 +4878,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const
+@@ -4888,3 +4888,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const
return false;
}
@@ -547,7 +547,7 @@ index d838213..96996fa 100644
2.7.4
-From d8ab5027babe37cead09426b757a4c21653859a0 Mon Sep 17 00:00:00 2001
+From 771b43f4d162b2e4573fe6f4e34060286297788e Mon Sep 17 00:00:00 2001
From: anaconda
Date: Wed, 25 Feb 2015 18:22:21 +0100
Subject: [PATCH 09/49] Load OSD dialogs on startup.
@@ -648,7 +648,7 @@ index 71b0e16..4db077e 100644
2.7.4
-From b0dfc810932cb1ff7ea97b1c51dd021daae991e9 Mon Sep 17 00:00:00 2001
+From 370c1fccd7901bba51657fcb7b0282715d2e353c Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Tue, 14 Apr 2015 20:51:14 +0100
Subject: [PATCH 10/49] Also limit GUI updates when in non full-screen video
@@ -659,7 +659,7 @@ Subject: [PATCH 10/49] Also limit GUI updates when in non full-screen video
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
-index 3704fa3..d6c8b0a 100644
+index e67f949..d94429d 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -2434,7 +2434,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI)
@@ -675,7 +675,7 @@ index 3704fa3..d6c8b0a 100644
2.7.4
-From 87856e1ddd21a6ab2ffec15a63e2272a2d8f94cd Mon Sep 17 00:00:00 2001
+From a72eacf7868448c1f52fef23db514241e8dcd7d3 Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Tue, 5 May 2015 23:58:06 +0100
Subject: [PATCH 11/49] Leave GUI contents available for screensaver
@@ -710,7 +710,7 @@ index 3b1e63d..137ee2a 100644
2.7.4
-From 8d6a9a6f7e377ac13527511f55cf46e48345c508 Mon Sep 17 00:00:00 2001
+From 7252d6d59d934e8ebc33b267937ba4313421a2ad Mon Sep 17 00:00:00 2001
From: Claudio-Sjo
Date: Mon, 16 Feb 2015 14:51:26 +0100
Subject: [PATCH 12/49] - allow reads < CDIO_CD_FRAMESIZE_RAW by using a buffer
@@ -908,7 +908,7 @@ index 61bfac2..d421053 100644
2.7.4
-From 2c799d266ad58618681a70b4a73236364eda0343 Mon Sep 17 00:00:00 2001
+From 54492aeff79084ef87f9fd957b254326ecdff9b1 Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Fri, 24 Jun 2016 19:38:13 +0100
Subject: [PATCH 13/49] codecoverlay: Include codec name in overlay
@@ -1008,7 +1008,7 @@ index f184cd0..ba6a9e9 100644
2.7.4
-From ea16edb1bef162cd1fbf3a96f8860ce409f24428 Mon Sep 17 00:00:00 2001
+From 7f2637e9f9c33cebe45703d0bcbb87b9541a6562 Mon Sep 17 00:00:00 2001
From: Anton Fedchin
Date: Tue, 8 Mar 2016 21:20:58 +0300
Subject: [PATCH 14/49] Add cpu usage info.
@@ -1175,7 +1175,7 @@ index f5120a6..487024f 100644
2.7.4
-From 0f3ddf690ac863ae5f7b8d2edded42dbf881ecb0 Mon Sep 17 00:00:00 2001
+From afd8989e469c7d2ec4662d7b049abdd108586425 Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Wed, 16 Sep 2015 19:05:12 +0100
Subject: [PATCH 15/49] Make MVC a valid 3D filename tag
@@ -1207,7 +1207,7 @@ index 89c9a69..839f453 100644
}
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
-index 4c314a3..1207bc9 100644
+index 8603ba4..28e660a 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -448,6 +448,7 @@ void CAdvancedSettings::Initialize()
@@ -1242,7 +1242,7 @@ index 1de3b00..627ba21 100644
2.7.4
-From 1c1dde418f7ac97e3f06cc155a2eae0d90e99bb2 Mon Sep 17 00:00:00 2001
+From fea0beedebc9fc8ac324bdf4bd867c5bb3d8c52d Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Mon, 5 Oct 2015 14:58:05 +0100
Subject: [PATCH 16/49] Swap top/bottom sides of GUI
@@ -1268,7 +1268,7 @@ index 1ced496..47036f8 100644
2.7.4
-From ccd50c3b68964696667268dda8c60c0e90647d3a Mon Sep 17 00:00:00 2001
+From 6728de614641dcd10656eabc7f2a0d633c8c1cac Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Mon, 21 Dec 2015 22:17:25 +0000
Subject: [PATCH 17/49] Fall back to arm jpeg encode/decode when gpu is busy
@@ -1516,7 +1516,7 @@ index 55c85bd..46064d4 100644
2.7.4
-From 40589c89747b24c831d49057832e3279a875458f Mon Sep 17 00:00:00 2001
+From 690c4a19e62797e215c0618d6f84a5ff8508d9ce Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Fri, 19 Sep 2014 11:54:49 +0100
Subject: [PATCH 18/49] Add pi specific option to maintain vsync with pll
@@ -1541,7 +1541,7 @@ or drop/dupe audio packets which is normally required.
12 files changed, 145 insertions(+), 21 deletions(-)
diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po
-index 41aaa8a..22a9aca 100644
+index 3614374..5fc3a34 100644
--- a/addons/resource.language.en_gb/resources/strings.po
+++ b/addons/resource.language.en_gb/resources/strings.po
@@ -21712,3 +21712,36 @@ msgstr ""
@@ -1964,7 +1964,7 @@ index c7859fc..af835cf 100644
2.7.4
-From 013937d88e1d76541875b3a2a0780bb977877093 Mon Sep 17 00:00:00 2001
+From 6b877ace2f465bad9505a90c324e7a8ddf157c5a Mon Sep 17 00:00:00 2001
From: popcornmix
Date: Thu, 7 May 2015 15:35:43 +0100
Subject: [PATCH 19/49] rbp: Support zero copy interface with hevc acceleration
@@ -2014,7 +2014,7 @@ index 2cf3575..3c452be 100644
2.7.4
-From beae7c78ba5b4a8706137661eb0013b044046be2 Mon Sep 17 00:00:00 2001
+From b00c88cff0a22e5ab9cf3d44154e913099e1e793 Mon Sep 17 00:00:00 2001
From: Anton Fedchin
Date: Fri, 29 Jan 2016 17:18:50 +0300
Subject: [PATCH 20/49] Settings: Added setting to enable/disable MVC decoder.
@@ -2049,7 +2049,7 @@ index 095a627..29b7d70 100644
2.7.4
-From fa7fbd2f57d5c4a77c82b8c705d6eb3adbe5721f Mon Sep 17 00:00:00 2001
+From 5690680e30005d75524086cb28299aa11ebd641c Mon Sep 17 00:00:00 2001
From: Anton Fedchin
Date: Wed, 20 Jan 2016 17:02:16 +0300
Subject: [PATCH 21/49] DemuxFFmpeg: Properly demuxing h264_mvc streams.
@@ -2117,7 +2117,7 @@ index ce559f0..539615a 100644
2.7.4
-From a8a6380d1a9d0f64b239906191c5b09cfc1b5e86 Mon Sep 17 00:00:00 2001
+From f0ac4814f2b3e0b473d7e841b373f65e9abe08db Mon Sep 17 00:00:00 2001
From: Anton Fedchin
Date: Thu, 25 Feb 2016 11:21:25 +0300
Subject: [PATCH 22/49] Added block_lr and block_rl to supported modes.
@@ -2172,7 +2172,7 @@ index 839f453..d04458f 100644
2.7.4
-From 93f247d80d8afb42d24c1011bfca9c2c21650dbc Mon Sep 17 00:00:00 2001
+From b24fd5a785fd06c6134f9d80e431892bfbe69559 Mon Sep 17 00:00:00 2001
From: Anton Fedchin
Date: Sat, 23 Jan 2016 10:21:32 +0300
Subject: [PATCH 23/49] Fix possible wrong aspect.
@@ -2198,7 +2198,7 @@ index c5404c3..7f414fa 100644
2.7.4
-From a0e464110244c1097aad2606c0a6393f828220cb Mon Sep 17 00:00:00 2001
+From b0ad32af0e8151e9ed3db75a32d69867d16dbe06 Mon Sep 17 00:00:00 2001
From: Anton Fedchin
Date: Fri, 22 Jan 2016 18:18:33 +0300
Subject: [PATCH 24/49] DemuxFFmpeg: ssif remux
@@ -2219,8 +2219,7 @@ fix for compiling with libbluray disabled
xbmc/cores/VideoPlayer/IVideoPlayer.h | 1 +
xbmc/cores/VideoPlayer/VideoPlayer.cpp | 4 +
xbmc/cores/VideoPlayer/VideoPlayerVideo.h | 1 +
- xbmc/settings/AdvancedSettings.cpp | 2 +-
- 15 files changed, 874 insertions(+), 16 deletions(-)
+ 14 files changed, 873 insertions(+), 15 deletions(-)
create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DemuxMVC.cpp
create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DemuxMVC.h
create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DemuxStreamSSIF.cpp
@@ -3515,24 +3514,11 @@ index 689948c..83d4bb0 100644
// classes
CDVDOverlayContainer* m_pOverlayContainer;
-diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
-index 1207bc9..b45b4b4 100644
---- a/xbmc/settings/AdvancedSettings.cpp
-+++ b/xbmc/settings/AdvancedSettings.cpp
-@@ -437,7 +437,7 @@ void CAdvancedSettings::Initialize()
-
- m_pictureExtensions = ".png|.jpg|.jpeg|.bmp|.gif|.ico|.tif|.tiff|.tga|.pcx|.cbz|.zip|.rss|.webp|.jp2|.apng";
- m_musicExtensions = ".nsv|.m4a|.flac|.aac|.strm|.pls|.rm|.rma|.mpa|.wav|.wma|.ogg|.mp3|.mp2|.m3u|.gdm|.imf|.m15|.sfx|.uni|.ac3|.dts|.cue|.aif|.aiff|.wpl|.xspf|.ape|.mac|.mpc|.mp+|.mpp|.shn|.zip|.wv|.dsp|.xsp|.xwav|.waa|.wvs|.wam|.gcm|.idsp|.mpdsp|.mss|.spt|.rsd|.sap|.cmc|.cmr|.dmc|.mpt|.mpd|.rmt|.tmc|.tm8|.tm2|.oga|.url|.pxml|.tta|.rss|.wtv|.mka|.tak|.opus|.dff|.dsf|.m4b";
-- m_videoExtensions = ".m4v|.3g2|.3gp|.nsv|.tp|.ts|.ty|.strm|.pls|.rm|.rmvb|.mpd|.m3u|.m3u8|.ifo|.mov|.qt|.divx|.xvid|.bivx|.vob|.nrg|.img|.iso|.udf|.pva|.wmv|.asf|.asx|.ogm|.m2v|.avi|.bin|.dat|.mpg|.mpeg|.mp4|.mkv|.mk3d|.avc|.vp3|.svq3|.nuv|.viv|.dv|.fli|.flv|.001|.wpl|.xspf|.zip|.vdr|.dvr-ms|.xsp|.mts|.m2t|.m2ts|.evo|.ogv|.sdp|.avs|.rec|.url|.pxml|.vc1|.h264|.rcv|.rss|.mpls|.webm|.bdmv|.wtv|.trp|.f4v";
-+ m_videoExtensions = ".m4v|.3g2|.3gp|.nsv|.tp|.ts|.ty|.strm|.pls|.rm|.rmvb|.mpd|.m3u|.m3u8|.ifo|.mov|.qt|.divx|.xvid|.bivx|.vob|.nrg|.img|.iso|.udf|.pva|.wmv|.asf|.asx|.ogm|.m2v|.avi|.bin|.dat|.mpg|.mpeg|.mp4|.mkv|.mk3d|.avc|.vp3|.svq3|.nuv|.viv|.dv|.fli|.flv|.001|.wpl|.xspf|.zip|.vdr|.dvr-ms|.xsp|.mts|.m2t|.m2ts|.evo|.ogv|.sdp|.avs|.rec|.url|.pxml|.vc1|.h264|.rcv|.rss|.mpls|.webm|.bdmv|.wtv|.trp|.f4v|.ssif";
- m_subtitlesExtensions = ".utf|.utf8|.utf-8|.sub|.srt|.smi|.rt|.txt|.ssa|.text|.ssa|.aqt|.jss|.ass|.idx|.ifo|.zip";
- m_discStubExtensions = ".disc";
- // internal music extensions
--
2.7.4
-From 0e37f5b7a23d1f8257d8d68ab8965b5641cad1c5 Mon Sep 17 00:00:00 2001
+From d84af4d3e16ee6eaf21e10255de0dda41d8e0124 Mon Sep 17 00:00:00 2001
From: Anton Fedchin
Date: Fri, 11 Mar 2016 16:58:53 +0300
Subject: [PATCH 25/49] HasVideo returns true if video stream exists. This
@@ -3559,7 +3545,7 @@ index 339c985..063f57f 100644
2.7.4
-From 3386e6eef7565f9803023e779e6451e08149bec7 Mon Sep 17 00:00:00 2001
+From e2ef350b601b3244e8ab09c1cf4e2b320b435652 Mon Sep 17 00:00:00 2001
From: Anton Fedchin
Date: Fri, 16 Sep 2016 11:37:48 +0300
Subject: [PATCH 26/49] move SETTING_VIDEOPLAYER_SUPPORTMVC from platform
@@ -3591,7 +3577,7 @@ index 56ef2b5..6e3dba4 100644