git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
filepush: scatter/gather support
[enigma2.git]
/
lib
/
service
/
servicedvb.cpp
diff --git
a/lib/service/servicedvb.cpp
b/lib/service/servicedvb.cpp
index 85647ff751e764171d2061954e8535bb34a75065..61221ecb7ac39de62cd687a376175a67363612be 100644
(file)
--- a/
lib/service/servicedvb.cpp
+++ b/
lib/service/servicedvb.cpp
@@
-582,6
+582,7
@@
RESULT eDVBServicePlay::start()
to start recording from the data demux. */
r = m_service_handler.tune((eServiceReferenceDVB&)m_reference, m_is_pvr);
m_event(this, evStart);
to start recording from the data demux. */
r = m_service_handler.tune((eServiceReferenceDVB&)m_reference, m_is_pvr);
m_event(this, evStart);
+ m_event((iPlayableService*)this, evSeekableStatusChanged);
return 0;
}
return 0;
}
@@
-598,6
+599,9
@@
RESULT eDVBServicePlay::connectEvent(const Slot2<void,iPlayableService*,int> &ev
RESULT eDVBServicePlay::pause(ePtr<iPauseableService> &ptr)
{
RESULT eDVBServicePlay::pause(ePtr<iPauseableService> &ptr)
{
+ /* note: we check for timeshift to be enabled,
+ not neccessary active. if you pause when timeshift
+ is not active, you should activate it when unpausing */
if ((!m_is_pvr) && (!m_timeshift_enabled))
{
ptr = 0;
if ((!m_is_pvr) && (!m_timeshift_enabled))
{
ptr = 0;
@@
-758,6
+762,11
@@
RESULT eDVBServicePlay::timeshift(ePtr<iTimeshiftService> &ptr)
RESULT eDVBServicePlay::getName(std::string &name)
{
RESULT eDVBServicePlay::getName(std::string &name)
{
+ if (m_is_pvr)
+ {
+ ePtr<iStaticServiceInformation> i = new eStaticServiceDVBPVRInformation(m_reference);
+ return i->getName(m_reference, name);
+ }
if (m_dvb_service)
{
m_dvb_service->getName(m_reference, name);
if (m_dvb_service)
{
m_dvb_service->getName(m_reference, name);
@@
-829,7
+838,7
@@
int eDVBServicePlay::getInfo(int w)
case sAudioPID: if (program.audioStreams.empty()) return -1; return program.audioStreams[m_current_audio_stream].pid;
case sPCRPID: return program.pcrPid;
case sPMTPID: return program.pmtPid;
case sAudioPID: if (program.audioStreams.empty()) return -1; return program.audioStreams[m_current_audio_stream].pid;
case sPCRPID: return program.pcrPid;
case sPMTPID: return program.pmtPid;
- case sTXTPID: return
-1
;
+ case sTXTPID: return
program.textPid
;
case sSID: return ((const eServiceReferenceDVB&)m_reference).getServiceID().get();
case sONID: return ((const eServiceReferenceDVB&)m_reference).getOriginalNetworkID().get();
case sTSID: return ((const eServiceReferenceDVB&)m_reference).getTransportStreamID().get();
case sSID: return ((const eServiceReferenceDVB&)m_reference).getServiceID().get();
case sONID: return ((const eServiceReferenceDVB&)m_reference).getOriginalNetworkID().get();
case sTSID: return ((const eServiceReferenceDVB&)m_reference).getTransportStreamID().get();
@@
-998,7
+1007,7
@@
RESULT eDVBServicePlay::startTimeshift()
if (m_timeshift_fd < 0)
{
if (m_timeshift_fd < 0)
{
-
delete m_record
;
+
m_record = 0
;
return -4;
}
return -4;
}
@@
-1022,12
+1031,11
@@
RESULT eDVBServicePlay::stopTimeshift()
m_timeshift_enabled = 0;
m_record->stop();
m_timeshift_enabled = 0;
m_record->stop();
-
delete m_record
;
+
m_record = 0
;
close(m_timeshift_fd);
remove(m_timeshift_file.c_str());
close(m_timeshift_fd);
remove(m_timeshift_file.c_str());
- eDebug("timeshift disabled");
return 0;
}
return 0;
}
@@
-1100,7
+1108,6
@@
void eDVBServicePlay::updateTimeshiftPids()
void eDVBServicePlay::switchToLive()
{
void eDVBServicePlay::switchToLive()
{
- eDebug("SwitchToLive");
if (!m_timeshift_active)
return;
if (!m_timeshift_active)
return;
@@
-1117,7
+1124,6
@@
void eDVBServicePlay::switchToLive()
void eDVBServicePlay::switchToTimeshift()
{
void eDVBServicePlay::switchToTimeshift()
{
- eDebug("SwitchToTimeshift");
if (m_timeshift_active)
return;
if (m_timeshift_active)
return;
@@
-1131,7
+1137,6
@@
void eDVBServicePlay::switchToTimeshift()
eServiceReferenceDVB r = (eServiceReferenceDVB&)m_reference;
r.path = m_timeshift_file;
eServiceReferenceDVB r = (eServiceReferenceDVB&)m_reference;
r.path = m_timeshift_file;
- eDebug("ok, re-tuning to %s", r.toString().c_str());
m_service_handler_timeshift.tune(r, 1); /* use the decoder demux for everything */
}
m_service_handler_timeshift.tune(r, 1); /* use the decoder demux for everything */
}