xbmc: update to xbmc-13.alpha-15bb590

This commit is contained in:
Stefan Saraev 2013-12-09 18:55:30 +02:00
parent 1ae28b47d9
commit 10cad8e040
6 changed files with 1334 additions and 906 deletions

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="xbmc-theme-Confluence"
PKG_VERSION="13.alpha-d68300f"
PKG_VERSION="13.alpha-15bb590"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="xbmc"
PKG_VERSION="13.alpha-d68300f"
PKG_VERSION="13.alpha-15bb590"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,7 +1,7 @@
From 7e27055debe5e9851e6a9b8707253a4b5c926a28 Mon Sep 17 00:00:00 2001
From 0de5c323cee26d565fcd84eda803d3c92b4e6b37 Mon Sep 17 00:00:00 2001
From: BtbN <btbn@btbn.de>
Date: Thu, 3 Oct 2013 14:49:38 +0200
Subject: [PATCH 2/2] VAAPI: Integrate VPP into existing vaapi code
Subject: [PATCH] VAAPI: Integrate VPP into existing vaapi code
---
language/English/strings.po | 27 +-
@ -15,48 +15,48 @@ Subject: [PATCH 2/2] VAAPI: Integrate VPP into existing vaapi code
8 files changed, 513 insertions(+), 40 deletions(-)
diff --git a/language/English/strings.po b/language/English/strings.po
index 15cee63..4495364 100755
index bab2c12..ea38e13 100755
--- a/language/English/strings.po
+++ b/language/English/strings.po
@@ -7129,7 +7129,32 @@ msgctxt "#16325"
msgid "VDPAU - Bob"
@@ -7150,7 +7150,32 @@ msgctxt "#16326"
msgid "DXVA-HD"
msgstr ""
-#empty strings from id 16326 to 16399
-#empty strings from id 16327 to 16399
+#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
+msgctxt "#16326"
+msgctxt "#16327"
+msgid "VAAPI Auto"
+msgstr ""
+
+#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
+msgctxt "#16327"
+msgctxt "#16328"
+msgid "VAAPI Weave"
+msgstr ""
+
+#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
+msgctxt "#16328"
+msgctxt "#16329"
+msgid "VAAPI Bob"
+msgstr ""
+
+#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
+msgctxt "#16329"
+msgctxt "#16330"
+msgid "VAAPI Motion Adaptive"
+msgstr ""
+
+#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
+msgctxt "#16330"
+msgctxt "#16331"
+msgid "VAAPI Motion Compensated"
+msgstr ""
+
+#empty strings from id 16331 to 16399
+#empty strings from id 16332 to 16399
#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
msgctxt "#16400"
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
index 600ffa7..375af79 100644
index aa52f72..c4a7455 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -3480,6 +3480,26 @@ bool CLinuxRendererGL::Supports(EINTERLACEMETHOD method)
@@ -3488,6 +3488,26 @@ bool CLinuxRendererGL::Supports(EINTERLACEMETHOD method)
if(m_renderMethod & RENDER_VAAPI)
{
#ifdef HAVE_LIBVA
@ -83,7 +83,7 @@ index 600ffa7..375af79 100644
VAAPI::CDisplayPtr disp = m_buffers[m_iYV12RenderBuffer].vaapi.display;
if(disp)
{
@@ -3567,6 +3587,14 @@ EINTERLACEMETHOD CLinuxRendererGL::AutoInterlaceMethod()
@@ -3575,6 +3595,14 @@ EINTERLACEMETHOD CLinuxRendererGL::AutoInterlaceMethod()
if(m_renderMethod & RENDER_VDPAU)
return VS_INTERLACEMETHOD_NONE;
@ -132,7 +132,7 @@ index 3facfce..e7304e0 100644
return display;
}
@@ -151,6 +154,9 @@ CSurfaceGL::~CSurfaceGL()
@@ -151,6 +154,9 @@ static CDisplayPtr GetGlobalDisplay()
CDecoder::CDecoder()
{
@ -728,7 +728,7 @@ index a520e42..684b8d0 100644
class CDecoder
: public CDVDVideoCodecFFmpeg::IHardwareDecoder
{
@@ -113,22 +174,26 @@ public:
@@ -113,22 +174,26 @@ class CDecoder
virtual int Decode (AVCodecContext* avctx, AVFrame* frame);
virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
virtual int Check (AVCodecContext* avctx);
@ -756,7 +756,7 @@ index a520e42..684b8d0 100644
int m_refs;
std::list<CSurfacePtr> m_surfaces_used;
std::list<CSurfacePtr> m_surfaces_free;
@@ -139,7 +204,23 @@ protected:
@@ -139,7 +204,23 @@ class CDecoder
vaapi_context *m_hwaccel;
@ -781,7 +781,7 @@ index a520e42..684b8d0 100644
}
+
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
index 614e869..3667806 100644
index 79ce315..414f6dc 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -167,6 +167,7 @@ void CAdvancedSettings::Initialize()
@ -830,21 +830,21 @@ index 293f363..199290f 100644
};
diff --git a/xbmc/video/dialogs/GUIDialogVideoSettings.cpp b/xbmc/video/dialogs/GUIDialogVideoSettings.cpp
index 5218a83..6eca774 100644
index 5218a83..3fe91d8 100644
--- a/xbmc/video/dialogs/GUIDialogVideoSettings.cpp
+++ b/xbmc/video/dialogs/GUIDialogVideoSettings.cpp
@@ -116,6 +116,11 @@ void CGUIDialogVideoSettings::CreateSettings()
entries.push_back(make_pair(VS_INTERLACEMETHOD_DXVA_BOB , 16320));
entries.push_back(make_pair(VS_INTERLACEMETHOD_DXVA_BEST , 16321));
entries.push_back(make_pair(VS_INTERLACEMETHOD_AUTO_ION , 16325));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_AUTO , 16326));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_WEAVE , 16327));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_BOB , 16328));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_MOTION_ADAPTIVE , 16329));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_MOTION_COMPENSATED , 16330));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_AUTO , 16327));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_WEAVE , 16328));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_BOB , 16329));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_MOTION_ADAPTIVE , 16330));
+ entries.push_back(make_pair(VS_INTERLACEMETHOD_VAAPI_MOTION_COMPENSATED , 16331));
/* remove unsupported methods */
for(vector<pair<int, int> >::iterator it = entries.begin(); it != entries.end();)
--
1.8.3.2
1.8.5.1

View File

@ -1,29 +0,0 @@
From d6a8898b3bffd0960806eed84efe0ce438ba7b84 Mon Sep 17 00:00:00 2001
From: fritsch <Peter.Fruehberger@gmail.com>
Date: Mon, 2 Dec 2013 19:00:44 +0100
Subject: [PATCH] Revert "Ensure that the decoder is init once only."
This reverts commit 6d637d4801095acfe5b6a7e56f446aa2e4602bfa.
---
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 5 -----
1 file changed, 5 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
index 09551c4..5692faf 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
@@ -107,11 +107,6 @@ enum PixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx
if(*cur == PIX_FMT_VAAPI_VLD && CSettings::Get().GetBool("videoplayer.usevaapi")
&& (avctx->codec_id != AV_CODEC_ID_MPEG4 || g_advancedSettings.m_videoAllowMpeg4VAAPI))
{
- if (ctx->GetHardware() != NULL)
- {
- ctx->SetHardware(NULL);
- }
-
VAAPI::CDecoder* dec = new VAAPI::CDecoder();
if(dec->Open(avctx, *cur, ctx->m_uSurfacesCount))
{
--
1.8.3.2

View File

@ -0,0 +1,131 @@
From 8553aa315efff535e51c4f91024a7e2f8a6ecb4a Mon Sep 17 00:00:00 2001
From: xhaggi <sascha.woo@gmail.com>
Date: Mon, 9 Dec 2013 15:25:11 +0100
Subject: [PATCH] [pvr] observe PVRManager state to trigger epg create
---
xbmc/pvr/PVRManager.cpp | 3 +++
xbmc/pvr/PVRManager.h | 3 ++-
xbmc/pvr/channels/PVRChannelGroupInternal.cpp | 16 +++++++++++++++-
xbmc/pvr/channels/PVRChannelGroupInternal.h | 5 ++++-
xbmc/utils/Observer.h | 1 +
5 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/xbmc/pvr/PVRManager.cpp b/xbmc/pvr/PVRManager.cpp
index 81d81c2..6080507 100644
--- a/xbmc/pvr/PVRManager.cpp
+++ b/xbmc/pvr/PVRManager.cpp
@@ -395,6 +395,9 @@ void CPVRManager::SetState(ManagerState state)
{
CSingleLock lock(m_managerStateMutex);
m_managerState = state;
+ SetChanged();
+
+ NotifyObservers(ObservableMessageManagerStateChanged);
}
void CPVRManager::Process(void)
diff --git a/xbmc/pvr/PVRManager.h b/xbmc/pvr/PVRManager.h
index 7038410..5359c05 100644
--- a/xbmc/pvr/PVRManager.h
+++ b/xbmc/pvr/PVRManager.h
@@ -26,6 +26,7 @@
#include "threads/Event.h"
#include "threads/Thread.h"
#include "utils/JobManager.h"
+#include "utils/Observer.h"
class CGUIDialogProgressBarHandle;
class CStopWatch;
@@ -83,7 +84,7 @@
typedef boost::shared_ptr<PVR::CPVRChannelGroup> CPVRChannelGroupPtr;
- class CPVRManager : public ISettingCallback, private CThread
+ class CPVRManager : public ISettingCallback, private CThread, public Observable
{
friend class CPVRClients;
diff --git a/xbmc/pvr/channels/PVRChannelGroupInternal.cpp b/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
index 0bb07d2..1d292c9 100644
--- a/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
+++ b/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
@@ -53,6 +53,8 @@
CPVRChannelGroupInternal::~CPVRChannelGroupInternal(void)
{
Unload();
+ if (Observer::IsObserving(g_PVRManager))
+ g_PVRManager.UnregisterObserver(this);
}
bool CPVRChannelGroupInternal::Load(void)
@@ -60,7 +62,10 @@ bool CPVRChannelGroupInternal::Load(void)
if (CPVRChannelGroup::Load())
{
UpdateChannelPaths();
- g_PVRManager.TriggerEpgsCreate();
+
+ if (!Observer::IsObserving(g_PVRManager))
+ g_PVRManager.RegisterObserver(this);
+
return true;
}
@@ -385,3 +390,12 @@ bool CPVRChannelGroupInternal::CreateChannelEpgs(bool bForce /* = false */)
return true;
}
+
+void CPVRChannelGroupInternal::Notify(const Observable &obs, const ObservableMessage msg)
+{
+ if (msg == ObservableMessageManagerStateChanged)
+ {
+ if(g_PVRManager.IsStarted())
+ g_PVRManager.TriggerEpgsCreate();
+ }
+}
diff --git a/xbmc/pvr/channels/PVRChannelGroupInternal.h b/xbmc/pvr/channels/PVRChannelGroupInternal.h
index cba4180..10f728a 100644
--- a/xbmc/pvr/channels/PVRChannelGroupInternal.h
+++ b/xbmc/pvr/channels/PVRChannelGroupInternal.h
@@ -21,6 +21,7 @@
*/
#include "PVRChannelGroup.h"
+#include "utils/Observer.h"
namespace PVR
{
@@ -29,7 +30,7 @@
/** XBMC's internal group, the group containing all channels */
- class CPVRChannelGroupInternal : public CPVRChannelGroup
+ class CPVRChannelGroupInternal : public CPVRChannelGroup, public Observer
{
friend class CPVRChannelGroups;
friend class CPVRDatabase;
@@ -45,6 +46,8 @@
virtual ~CPVRChannelGroupInternal(void);
+ virtual void Notify(const Observable &obs, const ObservableMessage msg);
+
/**
* @brief The amount of channels in this container.
* @return The amount of channels in this container.
diff --git a/xbmc/utils/Observer.h b/xbmc/utils/Observer.h
index 291d86b..3ac032a 100644
--- a/xbmc/utils/Observer.h
+++ b/xbmc/utils/Observer.h
@@ -40,6 +40,7 @@
ObservableMessageTimersReset,
ObservableMessageRecordings,
ObservableMessagePeripheralsChanged,
+ ObservableMessageManagerStateChanged
} ObservableMessage;
class Observer
--
1.8.5.1