From 1f3788c5e1a47fa9b0412902acba38c86b53bb63 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Sun, 14 May 2006 12:23:23 +0000 Subject: remove unneeded caching of caids, use an array for pidcache instead of std::map (safe memory) prepare for different video stream types.. (H264) ( NOT for dm7025 ) --- lib/service/servicedvb.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib/service/servicedvb.cpp') diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 192d3a64..742d60ee 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -1559,7 +1559,7 @@ void eDVBServicePlay::switchToTimeshift() void eDVBServicePlay::updateDecoder() { - int vpid = -1, apid = -1, apidtype = -1, pcrpid = -1, tpid = -1; + int vpid = -1, vpidtype = -1, apid = -1, apidtype = -1, pcrpid = -1, tpid = -1; eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler; bool defaultac3=false; @@ -1582,7 +1582,10 @@ void eDVBServicePlay::updateDecoder() i != program.videoStreams.end(); ++i) { if (vpid == -1) + { vpid = i->pid; + vpidtype = i->type; + } if (i != program.videoStreams.begin()) eDebugNoNewLine(", "); eDebugNoNewLine("%04x", i->pid); @@ -1631,7 +1634,7 @@ void eDVBServicePlay::updateDecoder() if (m_decoder) { - m_decoder->setVideoPID(vpid); + m_decoder->setVideoPID(vpid, vpidtype); m_current_audio_stream = 0; m_decoder->setAudioPID(apid, apidtype); if (!(m_is_pvr || m_timeshift_active || !m_is_primary)) @@ -1666,6 +1669,7 @@ void eDVBServicePlay::updateDecoder() m_dvb_service->setCachePID(eDVBService::cAC3PID, apid); } m_dvb_service->setCachePID(eDVBService::cVPID, vpid); + m_dvb_service->setCachePID(eDVBService::cVTYPE, vpidtype); m_dvb_service->setCachePID(eDVBService::cPCRPID, pcrpid); m_dvb_service->setCachePID(eDVBService::cTPID, tpid); } -- cgit v1.2.3