aboutsummaryrefslogtreecommitdiff
path: root/lib/nav
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-05-04 15:57:32 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-05-04 15:57:32 +0000
commit1d7e5720b3e8653604323b981e37af1f6aa61709 (patch)
tree0f021854a6676f6e98e3c99fddbe26a1237020cf /lib/nav
parent07fe46ca847778b88745244d6c8113ee6ba3de14 (diff)
downloadenigma2-1d7e5720b3e8653604323b981e37af1f6aa61709.tar.gz
enigma2-1d7e5720b3e8653604323b981e37af1f6aa61709.zip
- improve record support
Diffstat (limited to 'lib/nav')
-rw-r--r--lib/nav/core.cpp23
-rw-r--r--lib/nav/core.h5
-rw-r--r--lib/nav/pcore.cpp9
-rw-r--r--lib/nav/pcore.h3
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);