fix record/stream AC3 logic

This commit is contained in:
TangoCash
2021-04-04 10:19:51 +02:00
committed by Thilo Graf
parent 13d636b3ba
commit 1630e2e2db
3 changed files with 8 additions and 12 deletions

View File

@@ -148,11 +148,7 @@ void CGenPsi::addPid(uint16_t pid, uint16_t pidtype, short isAC3, const char *da
break;
case EN_TYPE_AUDIO:
apid[nba]=pid;
#if HAVE_CST_HARDWARE
atypes[nba]=isAC3;
#else
atypes[nba]=!isAC3;
#endif
if(data != NULL){
apid_lang[nba][0] = data[0];
apid_lang[nba][1] = data[1];

View File

@@ -231,16 +231,16 @@ record_error_msg_t CRecordInstance::Start(CZapitChannel * channel)
apids[numpids++] = recMovieInfo->audioPids[i].AudioPid;
switch (channel->getAudioChannel(i)->audioChannelType) {
case CZapitAudioChannel::EAC3:
psi.addPid(recMovieInfo->audioPids[i].AudioPid, EN_TYPE_AUDIO_EAC3, recMovieInfo->audioPids[i].atype, channel->getAudioChannel(i)->description.c_str());
psi.addPid(recMovieInfo->audioPids[i].AudioPid, EN_TYPE_AUDIO_EAC3, 0, channel->getAudioChannel(i)->description.c_str());
break;
case CZapitAudioChannel::AAC:
psi.addPid(recMovieInfo->audioPids[i].AudioPid, EN_TYPE_AUDIO_AAC, recMovieInfo->audioPids[i].atype, channel->getAudioChannel(i)->description.c_str());
psi.addPid(recMovieInfo->audioPids[i].AudioPid, EN_TYPE_AUDIO_AAC, 0, channel->getAudioChannel(i)->description.c_str());
break;
case CZapitAudioChannel::AACPLUS:
psi.addPid(recMovieInfo->audioPids[i].AudioPid, EN_TYPE_AUDIO_AACP, recMovieInfo->audioPids[i].atype, channel->getAudioChannel(i)->description.c_str());
psi.addPid(recMovieInfo->audioPids[i].AudioPid, EN_TYPE_AUDIO_AACP, 0, channel->getAudioChannel(i)->description.c_str());
break;
default:
psi.addPid(recMovieInfo->audioPids[i].AudioPid, EN_TYPE_AUDIO, recMovieInfo->audioPids[i].atype, channel->getAudioChannel(i)->description.c_str());
psi.addPid(recMovieInfo->audioPids[i].AudioPid, EN_TYPE_AUDIO, (recMovieInfo->audioPids[i].atype == CZapitAudioChannel::AC3), channel->getAudioChannel(i)->description.c_str());
break;
}

View File

@@ -486,13 +486,13 @@ void CStreamManager::AddPids(int fd, CZapitChannel *channel, stream_pids_t &pids
CZapitAudioChannel::ZapitAudioChannelType atype = channel->getAudioChannel(i)->audioChannelType;
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());
psi.addPid(*it, EN_TYPE_AUDIO_EAC3, 0, 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());
psi.addPid(*it, EN_TYPE_AUDIO_AAC, 0, 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());
psi.addPid(*it, EN_TYPE_AUDIO_AACP, 0, channel->getAudioChannel(i)->description.c_str());
} else {
psi.addPid(*it, EN_TYPE_AUDIO, atype, channel->getAudioChannel(i)->description.c_str());
psi.addPid(*it, EN_TYPE_AUDIO, (atype == CZapitAudioChannel::AC3), channel->getAudioChannel(i)->description.c_str());
}
}
}