eDVBResourceManager: remove capHoldDecodeReference
authorAthanasios Oikonomou <athoik@gmail.com>
Mon, 9 Nov 2015 20:39:42 +0000 (22:39 +0200)
committerErik Slagter <erik@openpli.org>
Tue, 10 Nov 2015 14:40:14 +0000 (15:40 +0100)
capHoldDecodeReference was required for all boxes except DM7025, now that DM7025 code is removed we don't need it.
Since we hold decode reference we can also remove (incorect) comments, they don't apply any more.

(cherry picked from commit 020a79a8e9fc0b1884b2f69aff44ce58e1c8c65a)
Signed-off-by: Erik Slagter <erik@openpli.org>

lib/dvb/dvb.cpp

index dd6966e..5a622b6 100644 (file)
@@ -856,8 +856,6 @@ alloc_fe_by_id_not_possible:
        return err;
 }
 
-#define capHoldDecodeReference 64
-
 RESULT eDVBResourceManager::allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBAllocatedDemux> &demux, int &cap)
 {
                /* find first unused demux which is on same adapter as frontend (or any, if PVR)
@@ -874,7 +872,6 @@ RESULT eDVBResourceManager::allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBA
 
        iDVBAdapter *adapter = fe ? fe->m_adapter : m_adapter.begin(); /* look for a demux on the same adapter as the frontend, or the first adapter for dvr playback */
        int source = fe ? fe->m_frontend->getDVBID() : -1;
-       cap |= capHoldDecodeReference; // this is checked in eDVBChannel::getDemux
        if (!fe && !(cap & iDVBChannel::capDecode))
        {
                eDebug("[eDVBResourceManager] pvr playback, start with last demux");
@@ -1951,18 +1948,6 @@ RESULT eDVBChannel::getDemux(ePtr<iDVBDemux> &demux, int cap)
                        return -1;
 
                demux = *our_demux;
-
-               /* don't hold a reference to the decoding demux, we don't need it. */
-
-               /* FIXME: by dropping the 'allocated demux' in favour of the 'iDVBDemux',
-                  the refcount is lost. thus, decoding demuxes are never allocated.
-
-                  this poses a big problem for PiP. */
-
-               if (cap & capHoldDecodeReference) // this is set in eDVBResourceManager::allocateDemux for non DM7025 boxes
-                       ;
-               else if (cap & capDecode)
-                       our_demux = 0;
        }
        else
                demux = *our_demux;