From b8f5ce238d6307c1030956c470e550b711493f3c Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Fri, 14 Apr 2006 07:23:26 +0000 Subject: [PATCH] don't keep unused references --- lib/dvb/esection.h | 1 + lib/dvb/pmt.cpp | 2 +- lib/service/servicedvb.cpp | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/dvb/esection.h b/lib/dvb/esection.h index af5c012b..6c1683fe 100644 --- a/lib/dvb/esection.h +++ b/lib/dvb/esection.h @@ -104,6 +104,7 @@ public: void stop() { current = next = 0; + m_demux = 0; } int begin(eMainloop *m, const eDVBTableSpec &spec, ePtr demux) diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp index 679d7a8f..5ea47467 100644 --- a/lib/dvb/pmt.cpp +++ b/lib/dvb/pmt.cpp @@ -36,7 +36,7 @@ void eDVBServicePMTHandler::channelStateChanged(iDVBChannel *channel) { if (m_channel) if (m_channel->getDemux(m_demux, (!m_use_decode_demux) ? 0 : iDVBChannel::capDecode)) - eDebug("Allocating a demux for now tuned-in channel failed."); + eDebug("Allocating %s-decoding a demux for now tuned-in channel failed.", m_use_decode_demux ? "" : "non-"); serviceEvent(eventTuned); diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 6f52c129..a6f4eec7 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -676,7 +676,8 @@ RESULT eDVBServicePlay::start() /* in pvr mode, we only want to use one demux. in tv mode, we're using two (one for decoding, one for data source), as we must be prepared to start recording from the data demux. */ - m_cue = new eCueSheet(); + if (m_is_pvr) + m_cue = new eCueSheet(); m_first_program_info = 1; eServiceReferenceDVB &service = (eServiceReferenceDVB&)m_reference; @@ -1446,6 +1447,7 @@ void eDVBServicePlay::switchToLive() if (!m_timeshift_active) return; + m_cue = 0; m_decoder = 0; m_decode_demux = 0; /* free the timeshift service handler, we need the resources */ @@ -1472,6 +1474,7 @@ void eDVBServicePlay::switchToTimeshift() eServiceReferenceDVB r = (eServiceReferenceDVB&)m_reference; r.path = m_timeshift_file; + m_cue = new eCueSheet(); m_service_handler_timeshift.tune(r, 1, m_cue); /* use the decoder demux for everything */ updateDecoder(); /* mainly to switch off PCR */ } -- 2.30.2