aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-07-12 11:03:52 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-07-12 11:03:52 +0000
commit9e0783f71e37ee01c3e4861392234221cec323ce (patch)
tree7fcb1b2567f37d8dd7e2eb04d41f0868125a54e2 /lib
parent633c730e5feed206333c5174d53c6384c08047b2 (diff)
downloadenigma2-9e0783f71e37ee01c3e4861392234221cec323ce.tar.gz
enigma2-9e0783f71e37ee01c3e4861392234221cec323ce.zip
fix non working timeshift stop when press the TV Button
Diffstat (limited to 'lib')
-rw-r--r--lib/python/Screens/InfoBar.py2
-rw-r--r--lib/python/Screens/InfoBarGenerics.py14
-rw-r--r--lib/service/servicedvb.cpp6
-rw-r--r--lib/service/servicedvb.h1
4 files changed, 13 insertions, 10 deletions
diff --git a/lib/python/Screens/InfoBar.py b/lib/python/Screens/InfoBar.py
index 5d6e32a5..9d3e327c 100644
--- a/lib/python/Screens/InfoBar.py
+++ b/lib/python/Screens/InfoBar.py
@@ -45,7 +45,7 @@ class InfoBar(InfoBarShowHide,
"showMovies": (self.showMovies, _("Play recorded movies...")),
"showRadio": (self.showRadio, _("Show the radio player...")),
"showTv": (self.showTv, _("Show the tv player...")),
- })
+ }, prio=2)
for x in HelpableScreen, \
InfoBarShowHide, \
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 99819fae..7f9cafee 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -903,9 +903,9 @@ class InfoBarTimeshift:
print "enable timeshift"
ts = self.getTimeshift()
if ts is None:
- self.session.open(MessageBox, _("Timeshift not possible!"), MessageBox.TYPE_ERROR)
- print "no ts interface"
- return
+# self.session.open(MessageBox, _("Timeshift not possible!"), MessageBox.TYPE_ERROR)
+# print "no ts interface"
+ return 0;
if self.timeshift_enabled:
print "hu, timeshift already enabled?"
@@ -913,7 +913,7 @@ class InfoBarTimeshift:
if not ts.startTimeshift():
import time
self.timeshift_enabled = 1
-
+
# we remove the "relative time" for now.
#self.pvrStateDialog["timeshift"].setRelative(time.time())
@@ -928,11 +928,11 @@ class InfoBarTimeshift:
def stopTimeshift(self):
if not self.timeshift_enabled:
- return
+ return 0
print "disable timeshift"
ts = self.getTimeshift()
if ts is None:
- return
+ return 0
self.session.openWithCallback(self.stopTimeshiftConfirmed, MessageBox, _("Stop Timeshift?"), MessageBox.TYPE_YESNO)
def stopTimeshiftConfirmed(self, confirmed):
@@ -1187,7 +1187,7 @@ class InfoBarInstantRecord:
except:
self.session.open(MessageBox, _("No HDD found or HDD not initialized!"), MessageBox.TYPE_ERROR)
return
-
+
if self.isInstantRecordRunning():
self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, title=_("A recording is currently running.\nWhat do you want to do?"), list=[(_("stop recording"), "stop"), (_("change recording (duration)"), "changeduration"), (_("add recording (indefinitely)"), "indefinitely"), (_("add recording (stop after current event)"), "event"), (_("add recording (enter recording duration)"), "manualduration"), (_("do nothing"), "no")])
else:
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index 7d737c22..8f288982 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -630,7 +630,7 @@ RESULT eServiceFactoryDVB::lookupService(ePtr<eDVBService> &service, const eServ
}
eDVBServicePlay::eDVBServicePlay(const eServiceReference &ref, eDVBService *service):
- m_reference(ref), m_dvb_service(service), m_is_paused(0)
+ m_reference(ref), m_dvb_service(service), m_have_video_pid(0), m_is_paused(0)
{
m_is_primary = 1;
m_is_pvr = !m_reference.path.empty();
@@ -1031,7 +1031,8 @@ RESULT eDVBServicePlay::subServices(ePtr<iSubserviceList> &ptr)
RESULT eDVBServicePlay::timeshift(ePtr<iTimeshiftService> &ptr)
{
ptr = 0;
- if (m_timeshift_enabled || !m_is_pvr)
+ if (m_have_video_pid && // HACK !!! FIXMEE !! temporary no timeshift on radio services !!
+ (m_timeshift_enabled || !m_is_pvr))
{
if (!m_timeshift_enabled)
{
@@ -1774,6 +1775,7 @@ void eDVBServicePlay::updateDecoder()
m_dvb_service->setCacheEntry(eDVBService::cTPID, tpid);
}
}
+ m_have_video_pid = (vpid > 0 && vpid < 0x2000);
}
void eDVBServicePlay::loadCuesheet()
diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h
index 29cff4d3..8026d655 100644
--- a/lib/service/servicedvb.h
+++ b/lib/service/servicedvb.h
@@ -161,6 +161,7 @@ private:
ePtr<iTSMPEGDecoder> m_decoder;
int m_is_primary;
+ int m_have_video_pid;
/* in timeshift mode, we essentially have two channels, and thus pmt handlers. */
eDVBServicePMTHandler m_service_handler_timeshift;