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))
|
||||
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)"))
|
||||
tmp_desc += " (AAC)";
|
||||
else if (current_PIDs.APIDs[count].is_eac3 && !strstr(current_PIDs.APIDs[count].desc, " (EAC3)"))
|
||||
tmp_desc += " (EAC3)";
|
||||
else if (current_PIDs.APIDs[count].is_aache && !strstr(current_PIDs.APIDs[count].desc, " (AACP)"))
|
||||
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()){
|
||||
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;
|
||||
response.pid = channel->getAudioPid(i);
|
||||
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) {
|
||||
response.is_ac3 = 1;
|
||||
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AAC) {
|
||||
response.is_aac = 1;
|
||||
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AACPLUS) {
|
||||
response.is_aache = 1;
|
||||
} else if (channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::EAC3) {
|
||||
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;
|
||||
allpids.APIDs.push_back(response);
|
||||
@@ -495,8 +503,16 @@ void CRecordInstance::ProcessAPIDnames()
|
||||
tmp_desc2 += " (AC3)";
|
||||
else if (allpids.APIDs[j].is_aac && tmp_desc2.find(" (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)"))
|
||||
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()){
|
||||
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];
|
||||
int is_ac3;
|
||||
int is_aac;
|
||||
int is_aache;
|
||||
int is_eac3;
|
||||
int is_dts;
|
||||
int is_dtshd;
|
||||
int is_lpcm;
|
||||
int component_tag;
|
||||
};
|
||||
|
||||
|
@@ -2084,13 +2084,21 @@ void CZapit::sendAPIDs(int connfd)
|
||||
VALGRIND_PARANOIA(response);
|
||||
response.pid = current_channel->getAudioPid(i);
|
||||
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) {
|
||||
response.is_ac3 = 1;
|
||||
} else if (current_channel->getAudioChannel(i)->audioChannelType == CZapitAudioChannel::AAC) {
|
||||
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) {
|
||||
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;
|
||||
|
||||
|
Reference in New Issue
Block a user