don't keep unused references
[enigma2.git] / lib / service / servicedvb.cpp
index 2494efc5de90cf4efed17497c72a62b61d3ad557..a6f4eec7c2fcae1413f4f08f0b2671a80038b41b 100644 (file)
@@ -569,13 +569,6 @@ eDVBServicePlay::eDVBServicePlay(const eServiceReference &ref, eDVBService *serv
        m_reference(ref), m_dvb_service(service), m_is_paused(0)
 {
        m_is_primary = 1;
-               /* HACK!!! */
-       if (m_reference.path == "s")
-       {
-               m_reference.path = "";
-               m_is_primary = 0;
-       }
-       
        m_is_pvr = !m_reference.path.empty();
        
        m_timeshift_enabled = m_timeshift_active = 0;
@@ -683,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;
@@ -735,6 +729,12 @@ RESULT eDVBServicePlay::stop()
        return 0;
 }
 
+RESULT eDVBServicePlay::setTarget(int target)
+{
+       m_is_primary = !target;
+       return 0;
+}
+
 RESULT eDVBServicePlay::connectEvent(const Slot2<void,iPlayableService*,int> &event, ePtr<eConnection> &connection)
 {
        connection = new eConnection((iPlayableService*)this, m_event.connect(event));
@@ -1447,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 */
@@ -1473,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 */
 }