From 2e040db07e6ec3008ada9520b3be2db3235fa43e Mon Sep 17 00:00:00 2001 From: Dimitar Tsenev Date: Wed, 2 Oct 2024 18:48:25 +0300 Subject: [PATCH] [Fixed] Exclude SR services from seek and pause --- lib/service/servicedvb.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index d6601a3dc3..b7a81a73df 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -1509,10 +1509,12 @@ RESULT eDVBServicePlay::connectEvent(const sigc::slot &ptr) { + eServiceReferenceDVB sRelayOrigSref; + bool isSRService = ((const eServiceReferenceDVB&)m_reference).getSROriginal(sRelayOrigSref); /* 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) && m_reference.path.empty()) + if ((!m_is_pvr) && (!m_timeshift_enabled) && (m_reference.path.empty() || isSRService)) { ptr = nullptr; return -1; @@ -1617,7 +1619,9 @@ RESULT eDVBServicePlay::setFastForward_internal(int ratio, bool final_seek) RESULT eDVBServicePlay::seek(ePtr &ptr) { - if (m_is_pvr || m_timeshift_enabled || !m_reference.path.empty()) + eServiceReferenceDVB sRelayOrigSref; + bool isSRService = ((const eServiceReferenceDVB&)m_reference).getSROriginal(sRelayOrigSref); + if (m_is_pvr || m_timeshift_enabled || (!m_reference.path.empty() && !isSRService)) { ptr = this; return 0;