X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fservice%2Fservicedvbrecord.cpp;h=d0da074a0dfe29b7c1fb053fd9bae8522d430645;hb=e7bc6dda564f72ea1ed33a4d420cbce75b37879c;hp=e150ae1d3428d6f73b4d48e97d5b9d0aa6ba7937;hpb=5f45eb94454f5787d87725c9d2a73cecc84eda11;p=vuplus_dvbapp diff --git a/lib/service/servicedvbrecord.cpp b/lib/service/servicedvbrecord.cpp index e150ae1..d0da074 100644 --- 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_target_fd = -1; } void eDVBServiceRecord::serviceEvent(int event) @@ -108,6 +109,11 @@ RESULT eDVBServiceRecord::stop() { if (m_record) m_record->stop(); + if (m_target_fd >= 0) + { + ::close(m_target_fd); + m_target_fd = -1; + } m_state = statePrepared; } @@ -170,6 +176,7 @@ int eDVBServiceRecord::doRecord() } m_record->setTargetFD(fd); m_record->setTargetFilename(m_filename.c_str()); + m_target_fd = fd; } eDebug("starting recording..");