git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
prevent endless loop
[enigma2.git]
/
lib
/
service
/
servicedvbrecord.cpp
diff --git
a/lib/service/servicedvbrecord.cpp
b/lib/service/servicedvbrecord.cpp
index e150ae1d3428d6f73b4d48e97d5b9d0aa6ba7937..4c41b5edef539d82e28d9fc70d0822fdeaf685ba 100644
(file)
--- a/
lib/service/servicedvbrecord.cpp
+++ b/
lib/service/servicedvbrecord.cpp
@@
-12,6
+12,7
@@
eDVBServiceRecord::eDVBServiceRecord(const eServiceReferenceDVB &ref): m_ref(ref
m_state = stateIdle;
m_want_record = 0;
m_tuned = 0;
m_state = stateIdle;
m_want_record = 0;
m_tuned = 0;
+ m_target_fd = -1;
}
void eDVBServiceRecord::serviceEvent(int event)
}
void eDVBServiceRecord::serviceEvent(int event)
@@
-108,6
+109,11
@@
RESULT eDVBServiceRecord::stop()
{
if (m_record)
m_record->stop();
{
if (m_record)
m_record->stop();
+ if (m_target_fd >= 0)
+ {
+ ::close(m_target_fd);
+ m_target_fd = -1;
+ }
m_state = statePrepared;
}
m_state = statePrepared;
}
@@
-170,6
+176,7
@@
int eDVBServiceRecord::doRecord()
}
m_record->setTargetFD(fd);
m_record->setTargetFilename(m_filename.c_str());
}
m_record->setTargetFD(fd);
m_record->setTargetFilename(m_filename.c_str());
+ m_target_fd = fd;
}
eDebug("starting recording..");
}
eDebug("starting recording..");
@@
-269,3
+276,9
@@
int eDVBServiceRecord::doRecord()
}
return 0;
}
}
return 0;
}
+
+RESULT eDVBServiceRecord::frontendInfo(ePtr<iFrontendInformation> &ptr)
+{
+ ptr = this;
+ return 0;
+}