Skip to content
Permalink
Browse files

Bump nightly build

  • Loading branch information...
StormTrooper committed Mar 8, 2019
1 parent f064824 commit aac86f7015289076cd13e4f846e5cd93c57b68c4
@@ -20,7 +20,7 @@ API_VERSION="18"

#use xbmc top of tree for vero builds
else
pull_source "https://github.com/xbmc/xbmc/archive/847f1e88573e5d821993667f79d414a6a68a33cd.tar.gz" "$(pwd)/src"
pull_source "https://github.com/xbmc/xbmc/archive/386045c3c60c02f31de824781e68e9096a0c3ce1.tar.gz" "$(pwd)/src"
API_VERSION="18"
fi
if [ $? != 0 ]; then echo -e "Error fetching Kodi source" && exit 1; fi
@@ -359,7 +359,7 @@ game.libretro.vbam game.libretro.yabause game.libretro.genplus"
# Remove game.libretro.mame game.libretro.bsnes-mercury-accuracy game.libretro.mupen64plus game.libretro.pcsx-rearmed
ADDONS_PVR="pvr.sledovanitv.cz pvr.argustv pvr.mythtv pvr.hts pvr.pctv pvr.stalker pvr.filmon pvr.octonet pvr.zattoo pvr.vbox pvr.wmc pvr.nextpvr pvr.njoy pvr.teleboy pvr.vdr.vnsi pvr.vuplus pvr.dvbviewer pvr.dvblink pvr.hdhomerun pvr.iptvsimple pvr.demo pvr.mediaportal.tvserver vfs.libarchive vfs.rar vfs.sftp"
ADDONS_SCREENSAVERS="screensaver.asteroids screensaver.biogenesis screensaver.greynetic screensaver.matrixtrails screensaver.pingpong screensaver.pyro screensavers.rsxs screensaver.stars screensaver.shadertoy"
ADDONS_VISUALIZATIONS="visualization.projectm visualization.shadertoy visualization.spectrum visualization.waveform"
#ADDONS_VISUALIZATIONS="visualization.projectm visualization.shadertoy visualization.spectrum visualization.waveform"
#ADDONS_GLES_EXCL="screensaver.shadertoy visualization.shadertoy"
if [ "$1" == "rbp1" ] || [ "$1" == "rbp2" ]
then
@@ -0,0 +1,57 @@
From d54af0a09c3a017101d5bc2322ff3cc1265865f8 Mon Sep 17 00:00:00 2001
From: Michael Brehm <djp952@gmail.com>
Date: Sat, 23 Feb 2019 14:51:18 -0500
Subject: [PATCH] Use audio stream to determine start time of MPEG-TS programs
with no video streams

---
.../DVDDemuxers/DVDDemuxFFmpeg.cpp | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
index dec7d0456767..11af64a251b7 100644
--- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
@@ -2078,6 +2078,21 @@ bool CDVDDemuxFFmpeg::IsVideoReady()
hasVideo = true;
}
}
+ // Workaround for live audio-only MPEG-TS streams: If there are no elementary video streams
+ // present attempt to set the start time from the first available elementary audio stream instead
+ if (!hasVideo && !m_startTime)
+ {
+ for (unsigned int i = 0; i < m_pFormatContext->programs[m_program]->nb_stream_indexes; i++)
+ {
+ int idx = m_pFormatContext->programs[m_program]->stream_index[i];
+ st = m_pFormatContext->streams[idx];
+ if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ m_startTime = static_cast<double>(av_rescale(st->cur_dts, st->time_base.num, st->time_base.den));
+ break;
+ }
+ }
+ }
}
else
{
@@ -2095,6 +2110,20 @@ bool CDVDDemuxFFmpeg::IsVideoReady()
hasVideo = true;
}
}
+ // Workaround for live audio-only MPEG-TS streams: If there are no elementary video streams
+ // present attempt to set the start time from the first available elementary audio stream instead
+ if (!hasVideo && !m_startTime)
+ {
+ for (unsigned int i = 0; i < m_pFormatContext->nb_streams; i++)
+ {
+ st = m_pFormatContext->streams[i];
+ if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ m_startTime = static_cast<double>(av_rescale(st->cur_dts, st->time_base.num, st->time_base.den));
+ break;
+ }
+ }
+ }
}
return !hasVideo;
}
@@ -0,0 +1,22 @@
From b4a6ec50af7122c0bf939e6410a505b1bb5e7c22 Mon Sep 17 00:00:00 2001
From: Kai Sommerfeld <kai.sommerfeld@gmx.com>
Date: Wed, 6 Mar 2019 10:01:37 +0100
Subject: [PATCH] [PVR] Speedup close of Guide window.

---
xbmc/pvr/windows/GUIWindowPVRGuide.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xbmc/pvr/windows/GUIWindowPVRGuide.cpp b/xbmc/pvr/windows/GUIWindowPVRGuide.cpp
index cf652564ad38..0473c5f9a9f4 100644
--- a/xbmc/pvr/windows/GUIWindowPVRGuide.cpp
+++ b/xbmc/pvr/windows/GUIWindowPVRGuide.cpp
@@ -104,7 +104,7 @@ void CGUIWindowPVRGuideBase::OnDeinitWindow(int nextWindowID)
{
// speedup: save a copy of current items for reuse when re-opening the window
m_newTimeline.reset(new CFileItemList);
- m_newTimeline->Copy(*m_vecItems);
+ m_newTimeline->Assign(*m_vecItems);
}
}

@@ -0,0 +1,118 @@
From 09bddcec59911fac1d5bff67e32bd7b48e860e50 Mon Sep 17 00:00:00 2001
From: phunkyfish <phunkyfish@gmail.com>
Date: Wed, 6 Mar 2019 23:28:49 +0000
Subject: [PATCH 1/3] Don't display Activate/Deactivate in timer context menu
if timer state is PVR_TIMER_STATE_ERROR

---
xbmc/pvr/PVRContextMenus.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xbmc/pvr/PVRContextMenus.cpp b/xbmc/pvr/PVRContextMenus.cpp
index efbf89ac2c3d..653b5f3e4981 100644
--- a/xbmc/pvr/PVRContextMenus.cpp
+++ b/xbmc/pvr/PVRContextMenus.cpp
@@ -363,7 +363,7 @@ namespace PVR
bool ToggleTimerState::IsVisible(const CFileItem &item) const
{
const CPVRTimerInfoTagPtr timer(item.GetPVRTimerInfoTag());
- if (!timer || URIUtils::PathEquals(item.GetPath(), CPVRTimersPath::PATH_ADDTIMER))
+ if (!timer || URIUtils::PathEquals(item.GetPath(), CPVRTimersPath::PATH_ADDTIMER) || timer->IsBroken())
return false;

const CPVRTimerTypePtr timerType(timer->GetTimerType());

From b0ebcbb3abefde6c5308abd6e50e72c59da16a12 Mon Sep 17 00:00:00 2001
From: phunkyfish <phunkyfish@gmail.com>
Date: Wed, 6 Mar 2019 23:30:09 +0000
Subject: [PATCH 2/3] Don't display enabled toggle in timer settings dialog if
timer state is PVR_TIMER_STATE_ERROR

---
xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp b/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp
index 7f7da080c1a6..db2e4a729406 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp
@@ -1125,7 +1125,7 @@ bool CGUIDialogPVRTimerSettings::TypeReadOnlyCondition(const std::string &condit
}

/* Always enable enable/disable, if supported by the timer type. */
- if (pThis->m_timerType->SupportsEnableDisable())
+ if (pThis->m_timerType->SupportsEnableDisable() && !pThis->m_timerInfoTag->IsBroken())
{
if (cond == SETTING_TMR_ACTIVE)
return true;

From 32087f1c06e7403595e749409310e3a007aeb89c Mon Sep 17 00:00:00 2001
From: phunkyfish <phunkyfish@gmail.com>
Date: Wed, 6 Mar 2019 23:31:03 +0000
Subject: [PATCH 3/3] Don't include timer in active or recording lists if timer
state is PVR_TIMER_STATE_ERROR

---
xbmc/pvr/timers/PVRTimers.cpp | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/xbmc/pvr/timers/PVRTimers.cpp b/xbmc/pvr/timers/PVRTimers.cpp
index ddc6267decdd..1fcda74243b4 100644
--- a/xbmc/pvr/timers/PVRTimers.cpp
+++ b/xbmc/pvr/timers/PVRTimers.cpp
@@ -412,7 +412,7 @@ std::vector<CFileItemPtr> CPVRTimers::GetActiveTimers(void) const
for (VecTimerInfoTag::const_iterator timerIt = it->second.begin(); timerIt != it->second.end(); ++timerIt)
{
CPVRTimerInfoTagPtr current = *timerIt;
- if (current->IsActive() && !current->IsTimerRule())
+ if (current->IsActive() && !current->IsTimerRule() && !current->IsBroken())
{
CFileItemPtr fileItem(new CFileItem(current));
tags.push_back(fileItem);
@@ -434,7 +434,8 @@ int CPVRTimers::AmountActiveTimers(const TimerKind &eKind) const
{
if (KindMatchesTag(eKind, timersEntry) &&
timersEntry->IsActive() &&
- !timersEntry->IsTimerRule())
+ !timersEntry->IsTimerRule() &&
+ !timersEntry->IsBroken())
++iReturn;
}
}
@@ -468,7 +469,8 @@ std::vector<CFileItemPtr> CPVRTimers::GetActiveRecordings(const TimerKind &eKind
{
if (KindMatchesTag(eKind, timersEntry) &&
timersEntry->IsRecording() &&
- !timersEntry->IsTimerRule())
+ !timersEntry->IsTimerRule() &&
+ !timersEntry->IsBroken())
{
CFileItemPtr fileItem(new CFileItem(timersEntry));
tags.push_back(fileItem);
@@ -505,7 +507,8 @@ int CPVRTimers::AmountActiveRecordings(const TimerKind &eKind) const
{
if (KindMatchesTag(eKind, timersEntry) &&
timersEntry->IsRecording() &&
- !timersEntry->IsTimerRule())
+ !timersEntry->IsTimerRule() &&
+ !timersEntry->IsBroken())
++iReturn;
}
}
@@ -533,7 +536,7 @@ bool CPVRTimers::HasActiveTimers(void) const
CSingleLock lock(m_critSection);
for (MapTags::const_iterator it = m_tags.begin(); it != m_tags.end(); ++it)
for (VecTimerInfoTag::const_iterator timerIt = it->second.begin(); timerIt != it->second.end(); ++timerIt)
- if ((*timerIt)->IsActive() && !(*timerIt)->IsTimerRule())
+ if ((*timerIt)->IsActive() && !(*timerIt)->IsTimerRule() && !(*timerIt)->IsBroken())
return true;

return false;
@@ -795,6 +798,7 @@ CPVRTimerInfoTagPtr CPVRTimers::GetRecordingTimerForRecording(const CPVRRecordin
{
if (timersEntry->IsRecording() &&
!timersEntry->IsTimerRule() &&
+ !timersEntry->IsBroken() &&
timersEntry->m_iClientId == recording.ClientID() &&
timersEntry->m_iClientChannelUid == recording.ChannelUid())
{

0 comments on commit aac86f7

Please sign in to comment.
You can’t perform that action at this time.