X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/03582d8351bdcbbb1482d937e3d03667ff8d63b8..457ccb7da5d147837110a6be85b7f2d041e1dcba:/lib/nav/core.cpp diff --git a/lib/nav/core.cpp b/lib/nav/core.cpp index 9f537d35..edc63c18 100644 --- a/lib/nav/core.cpp +++ b/lib/nav/core.cpp @@ -9,23 +9,7 @@ void eNavigation::serviceEvent(iPlayableService* service, int event) return; } - switch (event) - { - case iPlayableService::evEnd: -// m_event(this, ev); - break; - case iPlayableService::evStart: - m_event(this, evNewService); - break; - case iPlayableService::evUpdatedEventInfo: - m_event(this, evUpdatedEventInfo); - break; - case iPlayableService::evUpdatedInfo: - m_event(this, evUpdatedInfo); - break; - default: - break; - } + m_event(this, event); } RESULT eNavigation::playService(const eServiceReference &service) @@ -60,8 +44,9 @@ RESULT eNavigation::stopService(void) if (!m_runningService) return 1; /* send stop event */ - m_event(this, evStopService); + m_event(this, iPlayableService::evEnd); + m_runningService->stop(); /* kill service. */ m_runningService = 0; m_service_event_conn = 0; @@ -99,6 +84,7 @@ eNavigation::eNavigation(iServiceHandler *serviceHandler) eNavigation::~eNavigation() { + stopService(); } DEFINE_REF(eNavigation);