summaryrefslogtreecommitdiff
path: root/package/xbmc
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-02-05 07:58:08 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-02-05 07:58:08 +0100
commit8abe85c5a6920e3cea42c75193d22669285b84c7 (patch)
tree6985f1e5342581bccc8820424228195604dab923 /package/xbmc
parentb43e909de4cbeb1393db9116296b4683d0ae25d7 (diff)
parentc5ad4bdcdb9f3e0591e8943fe8b5302b76637b71 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/xbmc')
-rw-r--r--package/xbmc/Makefile5
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayer_cpp17
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXPlayer_cpp18
-rw-r--r--package/xbmc/src/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp56
-rw-r--r--package/xbmc/src/xbmc/powermanagement/linux/LinuxPowerSyscall.h45
5 files changed, 140 insertions, 1 deletions
diff --git a/package/xbmc/Makefile b/package/xbmc/Makefile
index 05026e12b..a4dd831c7 100644
--- a/package/xbmc/Makefile
+++ b/package/xbmc/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= xbmc
PKG_VERSION:= 12.3
-PKG_RELEASE:= 2
+PKG_RELEASE:= 4
PKG_MD5SUM:= 7ae385ebf8e5cfcb917393235e6efbdb
PKG_DESCR:= software media player
PKG_SECTION:= multimedia
@@ -58,6 +58,9 @@ CONFIGURE_ENV+= DESTDIR='${WRKINST}' \
TEXTUREPACKER_NATIVE_ROOT='$(STAGING_HOST_DIR)/usr'
CONFIGURE_ARGS+= --disable-optical-drive \
--disable-mysql \
+ --enable-mid \
+ --enable-libmp3lame \
+ --enable-libvorbisenc \
--enable-samba \
--enable-ssh \
--enable-nfs \
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayer_cpp b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayer_cpp
new file mode 100644
index 000000000..a8f2af5d8
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayer_cpp
@@ -0,0 +1,17 @@
+--- xbmc-12.3-Frodo.orig/xbmc/cores/dvdplayer/DVDPlayer.cpp 2013-12-12 22:47:49.000000000 +0100
++++ xbmc-12.3-Frodo/xbmc/cores/dvdplayer/DVDPlayer.cpp 2014-01-31 17:45:02.259066528 +0100
+@@ -2897,6 +2897,14 @@ bool CDVDPlayer::OpenVideoStream(int iSt
+ if(m_CurrentVideo.id < 0
+ || m_CurrentVideo.hint != hint)
+ {
++ // For audio files, don't open (M)JPEG artwork as video
++ if (m_pInputStream->GetContent().substr(0, 6) == "audio/" && hint.codec == AV_CODEC_ID_MJPEG || hint.codec == AV_CODEC_ID_MJPEGB || hint.codec == AV_CODEC_ID_PNG)
++ {
++ CLog::Log(LOGINFO, "%s - Ignoring video (art) in audio file %s", __FUNCTION__, m_filename.c_str());
++ pStream->disabled = true;
++ pStream->SetDiscard(AVDISCARD_ALL);
++ return false;
++ }
+ if (!m_dvdPlayerVideo.OpenStream(hint))
+ {
+ /* mark stream as disabled, to disallaw further attempts */
diff --git a/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXPlayer_cpp b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXPlayer_cpp
new file mode 100644
index 000000000..c519df088
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXPlayer_cpp
@@ -0,0 +1,18 @@
+--- xbmc-12.3-Frodo.orig/xbmc/cores/omxplayer/OMXPlayer.cpp 2013-12-12 22:47:49.000000000 +0100
++++ xbmc-12.3-Frodo/xbmc/cores/omxplayer/OMXPlayer.cpp 2014-01-31 18:05:09.353171156 +0100
+@@ -3007,7 +3007,14 @@ bool COMXPlayer::OpenVideoStream(int iSt
+ if(m_CurrentVideo.id < 0
+ || m_CurrentVideo.hint != hint)
+ {
+- if (!m_player_video.OpenStream(hint))
++ // for music file, don't open artwork as video
++ bool disabled = false;
++ if (m_pInputStream->GetContent().substr(0, 6) == "audio/" && hint.codec == AV_CODEC_ID_MJPEG || hint.codec == AV_CODEC_ID_MJPEGB || hint.codec == AV_CODEC_ID_PNG)
++ {
++ CLog::Log(LOGINFO, "%s - Ignoring video in audio filetype:%s", __FUNCTION__, m_filename.c_str());
++ disabled = true;
++ }
++ if (disabled || !m_player_video.OpenStream(hint))
+ {
+ /* mark stream as disabled, to disallaw further attempts */
+ CLog::Log(LOGWARNING, "%s - Unsupported stream %d. Stream disabled.", __FUNCTION__, iStream);
diff --git a/package/xbmc/src/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp b/package/xbmc/src/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp
new file mode 100644
index 000000000..4b8b25efb
--- /dev/null
+++ b/package/xbmc/src/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2014 Team XBMC
+ * http://www.xbmc.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XBMC; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#if defined (_LINUX)
+
+#include <stdlib.h>
+#include "LinuxPowerSyscall.h"
+#include "utils/log.h"
+
+CLinuxPowerSyscall::CLinuxPowerSyscall()
+{
+ CLog::Log(LOGINFO, "Selected LinuxPower as PowerSyscall");
+}
+
+CLinuxPowerSyscall::~CLinuxPowerSyscall()
+{ }
+
+bool CLinuxPowerSyscall::Powerdown()
+{
+ system("/sbin/poweroff -F");
+ return 0;
+}
+
+bool CLinuxPowerSyscall::Reboot()
+{
+ system("/sbin/reboot -F");
+ return 0;
+}
+
+int CLinuxPowerSyscall::BatteryLevel(void)
+{ }
+
+bool CLinuxPowerSyscall::PumpPowerEvents(IPowerEventsCallback *callback)
+{
+ return true;
+}
+
+#endif
+
diff --git a/package/xbmc/src/xbmc/powermanagement/linux/LinuxPowerSyscall.h b/package/xbmc/src/xbmc/powermanagement/linux/LinuxPowerSyscall.h
new file mode 100644
index 000000000..959a8119b
--- /dev/null
+++ b/package/xbmc/src/xbmc/powermanagement/linux/LinuxPowerSyscall.h
@@ -0,0 +1,45 @@
+#pragma once
+/*
+ * Copyright (C) 2014 Team XBMC
+ * http://www.xbmc.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XBMC; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#if defined (_LINUX)
+#include "powermanagement/IPowerSyscall.h"
+
+class CLinuxPowerSyscall : public CPowerSyscallWithoutEvents
+{
+public:
+ CLinuxPowerSyscall();
+ ~CLinuxPowerSyscall();
+
+ virtual bool Powerdown();
+ virtual bool Suspend(void) { return false; }
+ virtual bool Hibernate(void) { return false; }
+ virtual bool Reboot();
+
+ virtual bool CanPowerdown(void) { return true; }
+ virtual bool CanSuspend(void) { return false; }
+ virtual bool CanHibernate(void) { return false; }
+ virtual bool CanReboot(void) { return true; }
+ virtual int BatteryLevel(void);
+
+ virtual bool PumpPowerEvents(IPowerEventsCallback *callback);
+};
+#endif
+