X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/da4b044a4c350e307bf3e8ee5a211eda4a6ebac6..13b86c205e12d0237a8134e25b2d5e145ac01730:/lib/dvb/decoder.cpp diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp index 30a80d10..6845602d 100644 --- a/lib/dvb/decoder.cpp +++ b/lib/dvb/decoder.cpp @@ -198,6 +198,9 @@ int eDVBAudio::startPid(int pid, int type) case aAACHE: bypass = 9; break; + case aLPCM: + bypass = 6; + break; } eDebugNoNewLine("AUDIO_SET_BYPASS(%d) - ", bypass); @@ -860,7 +863,7 @@ int eTSMPEGDecoder::setState() const char *decoder_states[] = {"stop", "pause", "play", "decoderfastforward", "trickmode", "slowmotion"}; eDebug("decoder state: %s, vpid=%d, apid=%d", decoder_states[m_state], m_vpid, m_apid); - bool changed = !!m_changed; + bool changed = m_changed; #if HAVE_DVB_API_VERSION < 3 bool checkAVSync = m_changed & (changeAudio|changeVideo|changePCR); if (m_changed & changeAudio && m_audio) @@ -1002,7 +1005,7 @@ int eTSMPEGDecoder::setState() } #endif - if (m_changed & (changeState|changeVideo|changeAudio)) + if (changed & (changeState|changeVideo|changeAudio)) { /* play, slowmotion, fast-forward */ int state_table[6][4] = @@ -1015,7 +1018,7 @@ int eTSMPEGDecoder::setState() /* [stateSlowMotion] = */ {1, m_ff_sm_ratio, 0} }; int *s = state_table[m_state]; - if (m_changed & (changeState|changeVideo) && m_video) + if (changed & (changeState|changeVideo) && m_video) { m_video->setSlowMotion(s[1]); m_video->setFastForward(s[2]); @@ -1024,7 +1027,7 @@ int eTSMPEGDecoder::setState() else m_video->freeze(); } - if (m_changed & (changeState|changeAudio) && m_audio) + if (changed & (changeState|changeAudio) && m_audio) { if (s[0]) m_audio->unfreeze(); @@ -1175,10 +1178,7 @@ RESULT eTSMPEGDecoder::play() { if (!m_changed) return 0; - } -// else -/* commented out because the changeState is needed to unfreeze decoders in decoder::setState... needed by normal pmt changes -tmbinc please recheck this! */ + } else { m_state = statePlay; m_changed |= changeState;