From 961f33b8fa7a02154a5da9504ca0056990b424bd Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 10 Nov 2010 20:29:15 +0100 Subject: [PATCH] eDVBChannel: invalidate iDataSource in stopSource call --- lib/dvb/dvb.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 640f327..c980ac5 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1764,7 +1764,7 @@ RESULT eDVBChannel::playFile(const char *file) return playSource(source, file); } -RESULT eDVBChannel::playSource(ePtr &source, const char *priv) +RESULT eDVBChannel::playSource(ePtr &source, const char *streaminfo_file) { ASSERT(!m_frontend); if (m_pvr_thread) @@ -1774,7 +1774,13 @@ RESULT eDVBChannel::playSource(ePtr &source, const char *priv) m_pvr_thread = 0; } - m_tstools.setSource(source, priv); + if (!source->valid()) + { + eDebug("PVR source is not valid!"); + return -ENOENT; + } + + m_tstools.setSource(source, streaminfo_file); /* DON'T EVEN THINK ABOUT FIXING THIS. FIX THE ATI SOURCES FIRST, THEN DO A REAL FIX HERE! */ @@ -1820,6 +1826,8 @@ void eDVBChannel::stopSource() } if (m_pvr_fd_dst >= 0) ::close(m_pvr_fd_dst); + ePtr d; + m_tstools.setSource(d); } void eDVBChannel::stopFile() -- 2.7.4