mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 07:51:19 +02:00
supplemental to c188e9e29c
Signed-off-by: Thilo Graf <dbt@novatux.de> commit was: rework audio_bypass / audio process
This commit is contained in:
@@ -526,10 +526,24 @@ void CRemoteControl::processAPIDnames()
|
|||||||
if(g_settings.audio_DolbyDigital && (ac3_found < 0))
|
if(g_settings.audio_DolbyDigital && (ac3_found < 0))
|
||||||
ac3_found = count;
|
ac3_found = count;
|
||||||
}
|
}
|
||||||
|
else if ( current_PIDs.APIDs[count].is_eac3 )
|
||||||
|
{
|
||||||
|
if(!strstr(current_PIDs.APIDs[count].desc, " (EAC3)"))
|
||||||
|
tmp_desc += " (EAC3)";
|
||||||
|
has_ac3 = true;
|
||||||
|
if(g_settings.audio_DolbyDigital && (ac3_found < 0))
|
||||||
|
ac3_found = count;
|
||||||
|
}
|
||||||
else if (current_PIDs.APIDs[count].is_aac && !strstr(current_PIDs.APIDs[count].desc, " (AAC)"))
|
else if (current_PIDs.APIDs[count].is_aac && !strstr(current_PIDs.APIDs[count].desc, " (AAC)"))
|
||||||
tmp_desc += " (AAC)";
|
tmp_desc += " (AAC)";
|
||||||
else if (current_PIDs.APIDs[count].is_eac3 && !strstr(current_PIDs.APIDs[count].desc, " (EAC3)"))
|
else if (current_PIDs.APIDs[count].is_aache && !strstr(current_PIDs.APIDs[count].desc, " (AACP)"))
|
||||||
tmp_desc += " (EAC3)";
|
tmp_desc += " (AACP)";
|
||||||
|
else if (current_PIDs.APIDs[count].is_dts && !strstr(current_PIDs.APIDs[count].desc, " (DTS)"))
|
||||||
|
tmp_desc += " (DTS)";
|
||||||
|
else if (current_PIDs.APIDs[count].is_dtshd && !strstr(current_PIDs.APIDs[count].desc, " (DTSHD)"))
|
||||||
|
tmp_desc += " (DTSHD)";
|
||||||
|
else if (current_PIDs.APIDs[count].is_lpcm && !strstr(current_PIDs.APIDs[count].desc, " (LPCM)"))
|
||||||
|
tmp_desc += " (LPCM)";
|
||||||
|
|
||||||
if(!tmp_desc.empty()){
|
if(!tmp_desc.empty()){
|
||||||
strncpy(current_PIDs.APIDs[count].desc, tmp_desc.c_str(), DESC_MAX_LEN -1);
|
strncpy(current_PIDs.APIDs[count].desc, tmp_desc.c_str(), DESC_MAX_LEN -1);
|
||||||
|
@@ -443,13 +443,21 @@ void CRecordInstance::GetPids(CZapitChannel * channel)
|
|||||||
CZapitClient::responseGetAPIDs response;
|
CZapitClient::responseGetAPIDs response;
|
||||||
response.pid = channel->getAudioPid(i);
|
response.pid = channel->getAudioPid(i);
|
||||||
strncpy(response.desc, channel->getAudioChannel(i)->description.c_str(), DESC_MAX_LEN - 1);
|
strncpy(response.desc, channel->getAudioChannel(i)->description.c_str(), DESC_MAX_LEN - 1);
|
||||||
response.is_ac3 = response.is_aac = response.is_eac3 = 0;
|
response.is_ac3 = response.is_aac = response.is_aache = response.is_eac3 = response.is_dts = response.is_dtshd = response.is_lpcm = 0;
|
||||||
if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AC3) {
|
if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AC3) {
|
||||||
response.is_ac3 = 1;
|
response.is_ac3 = 1;
|
||||||
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AAC) {
|
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AAC) {
|
||||||
response.is_aac = 1;
|
response.is_aac = 1;
|
||||||
|
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AACPLUS) {
|
||||||
|
response.is_aache = 1;
|
||||||
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::EAC3) {
|
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::EAC3) {
|
||||||
response.is_eac3 = 1;
|
response.is_eac3 = 1;
|
||||||
|
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::DTS) {
|
||||||
|
response.is_dts = 1;
|
||||||
|
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::DTSHD) {
|
||||||
|
response.is_dtshd = 1;
|
||||||
|
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::LPCM) {
|
||||||
|
response.is_lpcm = 1;
|
||||||
}
|
}
|
||||||
response.component_tag = channel->getAudioChannel(i)->componentTag;
|
response.component_tag = channel->getAudioChannel(i)->componentTag;
|
||||||
allpids.APIDs.push_back(response);
|
allpids.APIDs.push_back(response);
|
||||||
@@ -495,8 +503,16 @@ void CRecordInstance::ProcessAPIDnames()
|
|||||||
tmp_desc2 += " (AC3)";
|
tmp_desc2 += " (AC3)";
|
||||||
else if (allpids.APIDs[j].is_aac && tmp_desc2.find(" (AAC)"))
|
else if (allpids.APIDs[j].is_aac && tmp_desc2.find(" (AAC)"))
|
||||||
tmp_desc2 += " (AAC)";
|
tmp_desc2 += " (AAC)";
|
||||||
|
else if (allpids.APIDs[j].is_aache && tmp_desc2.find(" (AACP)"))
|
||||||
|
tmp_desc2 += " (AACP)";
|
||||||
else if (allpids.APIDs[j].is_eac3 && tmp_desc2.find(" (EAC3)"))
|
else if (allpids.APIDs[j].is_eac3 && tmp_desc2.find(" (EAC3)"))
|
||||||
tmp_desc2 += " (EAC3)";
|
tmp_desc2 += " (EAC3)";
|
||||||
|
else if (allpids.APIDs[j].is_dts && tmp_desc2.find(" (DTS)"))
|
||||||
|
tmp_desc2 += " (DTS)";
|
||||||
|
else if (allpids.APIDs[j].is_dtshd && tmp_desc2.find(" (DTSHD)"))
|
||||||
|
tmp_desc2 += " (DTSHD)";
|
||||||
|
else if (allpids.APIDs[j].is_lpcm && tmp_desc2.find(" (LPCM)"))
|
||||||
|
tmp_desc2 += " (LPCM)";
|
||||||
|
|
||||||
if(!tmp_desc2.empty()){
|
if(!tmp_desc2.empty()){
|
||||||
strncpy(allpids.APIDs[j].desc, tmp_desc2.c_str(), DESC_MAX_LEN -1);
|
strncpy(allpids.APIDs[j].desc, tmp_desc2.c_str(), DESC_MAX_LEN -1);
|
||||||
|
@@ -189,7 +189,11 @@ class CZapitClient:public CBasicClient
|
|||||||
char desc[DESC_MAX_LEN];
|
char desc[DESC_MAX_LEN];
|
||||||
int is_ac3;
|
int is_ac3;
|
||||||
int is_aac;
|
int is_aac;
|
||||||
|
int is_aache;
|
||||||
int is_eac3;
|
int is_eac3;
|
||||||
|
int is_dts;
|
||||||
|
int is_dtshd;
|
||||||
|
int is_lpcm;
|
||||||
int component_tag;
|
int component_tag;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -2084,13 +2084,21 @@ void CZapit::sendAPIDs(int connfd)
|
|||||||
VALGRIND_PARANOIA(response);
|
VALGRIND_PARANOIA(response);
|
||||||
response.pid = current_channel->getAudioPid(i);
|
response.pid = current_channel->getAudioPid(i);
|
||||||
strncpy(response.desc, current_channel->getAudioChannel(i)->description.c_str(), DESC_MAX_LEN-1);
|
strncpy(response.desc, current_channel->getAudioChannel(i)->description.c_str(), DESC_MAX_LEN-1);
|
||||||
response.is_ac3 = response.is_aac = response.is_eac3 = 0;
|
response.is_ac3 = response.is_aac = response.is_aache = response.is_eac3 = response.is_dts = response.is_dtshd = response.is_lpcm = 0;
|
||||||
if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AC3) {
|
if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AC3) {
|
||||||
response.is_ac3 = 1;
|
response.is_ac3 = 1;
|
||||||
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AAC) {
|
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AAC) {
|
||||||
response.is_aac = 1;
|
response.is_aac = 1;
|
||||||
|
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AACPLUS) {
|
||||||
|
response.is_aache = 1;
|
||||||
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::EAC3) {
|
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::EAC3) {
|
||||||
response.is_eac3 = 1;
|
response.is_eac3 = 1;
|
||||||
|
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::DTS) {
|
||||||
|
response.is_dts = 1;
|
||||||
|
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::DTSHD) {
|
||||||
|
response.is_dtshd = 1;
|
||||||
|
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::LPCM) {
|
||||||
|
response.is_lpcm = 1;
|
||||||
}
|
}
|
||||||
response.component_tag = current_channel->getAudioChannel(i)->componentTag;
|
response.component_tag = current_channel->getAudioChannel(i)->componentTag;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user