From: Felix Domke Date: Sun, 10 May 2009 12:04:19 +0000 (+0200) Subject: fix pid change unfreeze X-Git-Tag: 2.6.0~321 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/a012dfc95def3f4043f5b0bb319f1f4073592543 fix pid change unfreeze --- diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp index eb5258d3..0280fe52 100644 --- a/lib/dvb/decoder.cpp +++ b/lib/dvb/decoder.cpp @@ -1000,7 +1000,7 @@ int eTSMPEGDecoder::setState() } #endif - if (m_changed & changeState) + if (m_changed & (changeState|changeVideo|changeAudio)) { /* play, slowmotion, fast-forward */ int state_table[6][4] = @@ -1013,7 +1013,7 @@ int eTSMPEGDecoder::setState() /* [stateSlowMotion] = */ {1, m_ff_sm_ratio, 0} }; int *s = state_table[m_state]; - if (m_video) + if (m_changed & (changeState|changeVideo) && m_video) { m_video->setSlowMotion(s[1]); m_video->setFastForward(s[2]); @@ -1022,7 +1022,7 @@ int eTSMPEGDecoder::setState() else m_video->freeze(); } - if (m_audio) + if (m_changed & (changeState|changeAudio) && m_audio) { if (s[0]) m_audio->unfreeze();