don't keep unused references
authorFelix Domke <tmbinc@elitedvb.net>
Fri, 14 Apr 2006 07:23:26 +0000 (07:23 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Fri, 14 Apr 2006 07:23:26 +0000 (07:23 +0000)
lib/dvb/esection.h
lib/dvb/pmt.cpp
lib/service/servicedvb.cpp

index af5c012bc22ff687778ae35e91a0a2f9284dff18..6c1683fe40e6e158978f128caa1814a1d035fc73 100644 (file)
@@ -104,6 +104,7 @@ public:
        void stop()
        {
                current = next = 0;
+               m_demux = 0;
        }
        
        int begin(eMainloop *m, const eDVBTableSpec &spec, ePtr<iDVBDemux> demux)
index 679d7a8f09dcd3235d2355c4b4442a98245b9da8..5ea47467a5a596e60513d2f6271545b3a0c803cf 100644 (file)
@@ -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);
                
index 6f52c1290dd4d205670e11772b0849f808a13d01..a6f4eec7c2fcae1413f4f08f0b2671a80038b41b 100644 (file)
@@ -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 */
 }