X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fservice%2Fservicedvb.cpp;h=c7bb5d992fb27b0cd04264832888b6bfaf89030d;hp=64545227a0eca414458e6c4dabfcaaa19c0b9bb6;hb=c9fe35f9b262f930740fe08ff82de53e486cd910;hpb=734c3316b09f9dab14338d66ea2400dd734a0080 diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 6454522..c7bb5d9 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -2303,6 +2303,7 @@ void eDVBServicePlay::switchToTimeshift() void eDVBServicePlay::updateDecoder(bool sendSeekableStateChanged) { int vpid = -1, vpidtype = -1, pcrpid = -1, tpid = -1, achannel = -1, ac3_delay=-1, pcm_delay=-1; + bool mustPlay = false; eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler; @@ -2383,11 +2384,10 @@ void eDVBServicePlay::updateDecoder(bool sendSeekableStateChanged) Py_DECREF(subs); } } - m_decoder->play(); /* pids will be set later */ } if (m_cue) m_cue->setDecodingDemux(m_decode_demux, m_decoder); - m_decoder->play(); /* pids will be set later. */ + mustPlay = true; } m_timeshift_changed = 0; @@ -2453,7 +2453,11 @@ void eDVBServicePlay::updateDecoder(bool sendSeekableStateChanged) m_decoder->setRadioPic(radio_pic); } - m_decoder->set(); + if (mustPlay) + m_decoder->play(); + else + m_decoder->set(); + m_decoder->setAudioChannel(achannel); /* don't worry about non-existing services, nor pvr services */