X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4b1d2e8d5bf0f73579dc1b385a4d66316b62c418..ad2bab318ec1271ae520606259c962382a519f0d:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index b91d0d6f..61221ecb 100644 --- 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); + m_event((iPlayableService*)this, evSeekableStatusChanged); return 0; } @@ -598,6 +599,9 @@ RESULT eDVBServicePlay::connectEvent(const Slot2 &ev RESULT eDVBServicePlay::pause(ePtr &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; @@ -834,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 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(); @@ -1003,7 +1007,7 @@ RESULT eDVBServicePlay::startTimeshift() if (m_timeshift_fd < 0) { - delete m_record; + m_record = 0; return -4; } @@ -1027,12 +1031,11 @@ RESULT eDVBServicePlay::stopTimeshift() m_timeshift_enabled = 0; m_record->stop(); - delete m_record; + m_record = 0; close(m_timeshift_fd); remove(m_timeshift_file.c_str()); - eDebug("timeshift disabled"); return 0; } @@ -1105,7 +1108,6 @@ void eDVBServicePlay::updateTimeshiftPids() void eDVBServicePlay::switchToLive() { - eDebug("SwitchToLive"); if (!m_timeshift_active) return; @@ -1122,7 +1124,6 @@ void eDVBServicePlay::switchToLive() void eDVBServicePlay::switchToTimeshift() { - eDebug("SwitchToTimeshift"); if (m_timeshift_active) return; @@ -1136,7 +1137,6 @@ void eDVBServicePlay::switchToTimeshift() 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 */ }