diff --git a/src/driver/genpsi.cpp b/src/driver/genpsi.cpp index d921b98f0..924a6a0ad 100644 --- a/src/driver/genpsi.cpp +++ b/src/driver/genpsi.cpp @@ -102,6 +102,10 @@ CGenPsi::CGenPsi() memset(dvbsubpid, 0, sizeof(dvbsubpid)); neac3 = 0; memset(eac3_pid, 0, sizeof(eac3_pid)); + naac = 0; + memset(aac_pid, 0, sizeof(aac_pid)); + naacp = 0; + memset(aacp_pid, 0, sizeof(aacp_pid)); } uint32_t CGenPsi::calc_crc32psi(uint8_t *dst, const uint8_t *src, uint32_t len) diff --git a/src/driver/streamts.cpp b/src/driver/streamts.cpp index cb260ca88..bdd6a6541 100644 --- a/src/driver/streamts.cpp +++ b/src/driver/streamts.cpp @@ -472,6 +472,10 @@ void CStreamManager::AddPids(int fd, CZapitChannel *channel, stream_pids_t &pids printf("CStreamManager::AddPids: genpsi apid %x (%d)\n", *it, atype); if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::EAC3) { psi.addPid(*it, EN_TYPE_AUDIO_EAC3, atype, channel->getAudioChannel(i)->description.c_str()); + } else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AAC) { + psi.addPid(*it, EN_TYPE_AUDIO_AAC, atype, channel->getAudioChannel(i)->description.c_str()); + } else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AACPLUS) { + psi.addPid(*it, EN_TYPE_AUDIO_AACP, atype, channel->getAudioChannel(i)->description.c_str()); } else { psi.addPid(*it, EN_TYPE_AUDIO, atype, channel->getAudioChannel(i)->description.c_str()); }