X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/cc273e51a15dfbfd0f79f58cdb6fc1e115ceee81..457ccb7da5d147837110a6be85b7f2d041e1dcba:/lib/nav/core.cpp diff --git a/lib/nav/core.cpp b/lib/nav/core.cpp index 9bb43615..edc63c18 100644 --- a/lib/nav/core.cpp +++ b/lib/nav/core.cpp @@ -9,26 +9,7 @@ void eNavigation::serviceEvent(iPlayableService* service, int event) return; } - switch (event) - { - case iPlayableService::evEnd: - m_event(this, evEnd); - 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; - case iPlayableService::evSeekableStatusChanged: - m_event(this, evSeekableStatusChanged); - break; - default: - break; - } + m_event(this, event); } RESULT eNavigation::playService(const eServiceReference &service) @@ -63,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; @@ -102,6 +84,7 @@ eNavigation::eNavigation(iServiceHandler *serviceHandler) eNavigation::~eNavigation() { + stopService(); } DEFINE_REF(eNavigation);