diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-05-04 15:57:32 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-05-04 15:57:32 +0000 |
| commit | 1d7e5720b3e8653604323b981e37af1f6aa61709 (patch) | |
| tree | 0f021854a6676f6e98e3c99fddbe26a1237020cf /lib/nav | |
| parent | 07fe46ca847778b88745244d6c8113ee6ba3de14 (diff) | |
| download | enigma2-1d7e5720b3e8653604323b981e37af1f6aa61709.tar.gz enigma2-1d7e5720b3e8653604323b981e37af1f6aa61709.zip | |
- improve record support
Diffstat (limited to 'lib/nav')
| -rw-r--r-- | lib/nav/core.cpp | 23 | ||||
| -rw-r--r-- | lib/nav/core.h | 5 | ||||
| -rw-r--r-- | lib/nav/pcore.cpp | 9 | ||||
| -rw-r--r-- | lib/nav/pcore.h | 3 |
4 files changed, 8 insertions, 32 deletions
diff --git a/lib/nav/core.cpp b/lib/nav/core.cpp index 2dfe630d..45771f15 100644 --- a/lib/nav/core.cpp +++ b/lib/nav/core.cpp @@ -115,31 +115,16 @@ RESULT eNavigation::stopService(void) return 0; } -RESULT eNavigation::recordService(const eServiceReference &service) +RESULT eNavigation::recordService(const eServiceReference &ref, ePtr<iRecordableService> &service) { - if (m_recordingService) - endRecording(); - assert(m_servicehandler); - RESULT res = m_servicehandler->record(service, m_recordingService); - if (m_recordingService) - { - res = m_recordingService->start(); - } + RESULT res = m_servicehandler->record(ref, service); + eDebug("record: %d", res); if (res) - m_recordingService = 0; + service = 0; return res; } -RESULT eNavigation::endRecording() -{ - if (!m_recordingService) - return -1; - m_recordingService->stop(); - m_recordingService = 0; - return 0; -} - RESULT eNavigation::pause(int dop) { if (!m_runningService) diff --git a/lib/nav/core.h b/lib/nav/core.h index c4306e39..8b9502d3 100644 --- a/lib/nav/core.h +++ b/lib/nav/core.h @@ -12,8 +12,6 @@ class eNavigation: public iObject, public Object private: ePtr<iPlayableService> m_runningService; - ePtr<iRecordableService> m_recordingService; - ePtr<iServiceHandler> m_servicehandler; Signal2<void,eNavigation*,int> m_event; ePtr<eConnection> m_service_event_conn; @@ -38,8 +36,7 @@ public: RESULT getPlaylist(ePtr<ePlaylist> &playlist); RESULT stopService(void); - RESULT recordService(const eServiceReference &service); - RESULT endRecording(); + RESULT recordService(const eServiceReference &ref, ePtr<iRecordableService> &service); RESULT pause(int p); eNavigation(iServiceHandler *serviceHandler); diff --git a/lib/nav/pcore.cpp b/lib/nav/pcore.cpp index 23df0030..6a849f89 100644 --- a/lib/nav/pcore.cpp +++ b/lib/nav/pcore.cpp @@ -21,14 +21,9 @@ RESULT pNavigation::playService(const eServiceReference &service) return m_core->playService(service); } -RESULT pNavigation::recordService(const eServiceReference &service) +RESULT pNavigation::recordService(const eServiceReference &ref, ePtr<iRecordableService> &service) { - return m_core->recordService(service); -} - -RESULT pNavigation::endRecording() -{ - return m_core->endRecording(); + return m_core->recordService(ref, service); } RESULT pNavigation::enqueueService(const eServiceReference &service) diff --git a/lib/nav/pcore.h b/lib/nav/pcore.h index 018209bc..5da59d08 100644 --- a/lib/nav/pcore.h +++ b/lib/nav/pcore.h @@ -24,8 +24,7 @@ public: pNavigation(); RESULT playService(const eServiceReference &service); - RESULT recordService(const eServiceReference &service); - RESULT endRecording(); + RESULT recordService(const eServiceReference &ref, ePtr<iRecordableService> &service); RESULT enqueueService(const eServiceReference &service); RESULT getCurrentService(ePtr<iPlayableService> &service); |
