diff options
Diffstat (limited to 'lib/service/servicedvb.cpp')
| -rw-r--r-- | lib/service/servicedvb.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 7beb6c25..650b609e 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -712,7 +712,7 @@ RESULT eDVBServicePlay::setFastForward(int ratio) RESULT eDVBServicePlay::seek(ePtr<iSeekableService> &ptr) { - if (m_is_pvr || m_timeshift_active) + if (m_is_pvr || m_timeshift_enabled) { ptr = this; return 0; @@ -722,15 +722,13 @@ RESULT eDVBServicePlay::seek(ePtr<iSeekableService> &ptr) return -1; } + /* TODO: when timeshift is enabled but not active, this doesn't work. */ RESULT eDVBServicePlay::getLength(pts_t &len) { ePtr<iDVBPVRChannel> pvr_channel; - if (m_service_handler.getPVRChannel(pvr_channel)) - { - eDebug("getPVRChannel failed!"); + if ((m_timeshift_enabled ? m_service_handler_timeshift : m_service_handler).getPVRChannel(pvr_channel)) return -1; - } return pvr_channel->getLength(len); } @@ -815,6 +813,11 @@ RESULT eDVBServicePlay::setTrickmode(int trick) return 0; } +RESULT eDVBServicePlay::isCurrentlySeekable() +{ + return m_is_pvr || m_timeshift_active; +} + RESULT eDVBServicePlay::frontendStatusInfo(ePtr<iFrontendStatusInformation> &ptr) { ptr = this; @@ -1140,6 +1143,7 @@ RESULT eDVBServicePlay::stopTimeshift() m_record = 0; close(m_timeshift_fd); + eDebug("remove timeshift file"); remove(m_timeshift_file.c_str()); return 0; |
