X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/734c3316b09f9dab14338d66ea2400dd734a0080..c9fe35f9b262f930740fe08ff82de53e486cd910:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 64545227..c7bb5d99 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 */