aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicedvb.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-09-22 11:47:48 +0200
committerghost <andreas.monzner@multimedia-labs.de>2009-09-22 11:47:48 +0200
commit913cbe91fcba552dc14d6123572398415b40eb40 (patch)
tree37ce8cc59ead87cc5f9d463ce7520727259388c5 /lib/service/servicedvb.cpp
parenta16d36a784dbe6a2f3a812407113f5983e911903 (diff)
downloadenigma2-913cbe91fcba552dc14d6123572398415b40eb40.tar.gz
enigma2-913cbe91fcba552dc14d6123572398415b40eb40.zip
fix wrong encoding of event description during pvr playback.. when info button is pressed
Diffstat (limited to 'lib/service/servicedvb.cpp')
-rw-r--r--lib/service/servicedvb.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index 06285190..1a28fbdd 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -1061,22 +1061,30 @@ void eDVBServicePlay::serviceEventTimeshift(int event)
RESULT eDVBServicePlay::start()
{
- int r;
+ eServiceReferenceDVB service = (eServiceReferenceDVB&)m_reference;
+
/* in pvr mode, we only want to use one demux. in tv mode, we're using
two (one for decoding, one for data source), as we must be prepared
to start recording from the data demux. */
if (m_is_pvr)
+ {
+ eDVBMetaParser meta;
+ if (!meta.parseFile(m_reference.path))
+ {
+ service = meta.m_ref;
+ service.path = m_reference.path;
+ }
m_cue = new eCueSheet();
+ }
else
m_event(this, evStart);
m_first_program_info = 1;
- eServiceReferenceDVB &service = (eServiceReferenceDVB&)m_reference;
- r = m_service_handler.tune(service, m_is_pvr, m_cue, false, m_dvb_service);
+ m_service_handler.tune(service, m_is_pvr, m_cue, false, m_dvb_service);
- /* inject EIT if there is a stored one */
if (m_is_pvr)
{
+ /* inject EIT if there is a stored one */
std::string filename = service.path;
filename.erase(filename.length()-2, 2);
filename+="eit";
@@ -1087,10 +1095,6 @@ RESULT eDVBServicePlay::start()
m_event_handler.inject(event, 0);
m_event_handler.inject(empty, 1);
}
- }
-
- if (m_is_pvr)
- {
loadCuesheet();
m_event(this, evStart);
}