diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-03-03 03:13:13 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-03-03 03:13:13 +0000 |
| commit | 8ef240801bf66e543cdea9df3b32fc09cebcc7e5 (patch) | |
| tree | 5518ec66c8b24014faa47659591f0d47f8816155 /lib/dvb/dvb.cpp | |
| parent | 13e74ce7d8fcccc12bed3ce65c4f35987f206799 (diff) | |
| download | enigma2-8ef240801bf66e543cdea9df3b32fc09cebcc7e5.tar.gz enigma2-8ef240801bf66e543cdea9df3b32fc09cebcc7e5.zip | |
enable playback of multifile (split) movies
Diffstat (limited to 'lib/dvb/dvb.cpp')
| -rw-r--r-- | lib/dvb/dvb.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 3bceebb0..f8f95276 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1008,14 +1008,6 @@ RESULT eDVBChannel::playFile(const char *file) return -ENODEV; } - m_pvr_fd_src = open(file, O_RDONLY|O_LARGEFILE); - if (m_pvr_fd_src < 0) - { - eDebug("can't open PVR m_pvr_fd_src file %s (%m)", file); - close(m_pvr_fd_dst); - return -ENOENT; - } - m_state = state_ok; m_stateChanged(this); @@ -1023,7 +1015,13 @@ RESULT eDVBChannel::playFile(const char *file) m_pvr_thread->enablePVRCommit(1); m_pvr_thread->setScatterGather(this); - m_pvr_thread->start(m_pvr_fd_src, m_pvr_fd_dst); + if (m_pvr_thread->start(file, m_pvr_fd_dst)) + { + delete m_pvr_thread; + m_pvr_thread = 0; + eDebug("can't open PVR file %s (%m)", file); + return -ENOENT; + } CONNECT(m_pvr_thread->m_event, eDVBChannel::pvrEvent); return 0; @@ -1034,7 +1032,6 @@ void eDVBChannel::stopFile() if (m_pvr_thread) { m_pvr_thread->stop(); - ::close(m_pvr_fd_src); ::close(m_pvr_fd_dst); delete m_pvr_thread; m_pvr_thread = 0; |
