src/gui/movieplayer.cpp fix audioselect in not filpeplayer mode (after merge)

This commit is contained in:
Jacek Jendrzej
2017-11-06 10:17:10 +01:00
parent 002ef3a1c9
commit 02aefef167

View File

@@ -1417,9 +1417,11 @@ bool CMoviePlayerGui::PlayFileStart(void)
repeat_mode = REPEAT_OFF; repeat_mode = REPEAT_OFF;
return false; return false;
} else { } else {
numpida = REC_MAX_APIDS; numpida = 0;
playback->FindAllPids(apids, ac3flags, &numpida, language); playback->FindAllPids(apids, ac3flags, &numpida, language);
if (p_movie_info) if (p_movie_info){
if(!numpida && !p_movie_info->audioPids.empty())
numpida = p_movie_info->audioPids.size();
for (unsigned int i = 0; i < numpida; i++) { for (unsigned int i = 0; i < numpida; i++) {
unsigned int j, asize = p_movie_info->audioPids.size(); unsigned int j, asize = p_movie_info->audioPids.size();
for (j = 0; j < asize && p_movie_info->audioPids[j].AudioPid != apids[i]; j++); for (j = 0; j < asize && p_movie_info->audioPids[j].AudioPid != apids[i]; j++);
@@ -1432,12 +1434,13 @@ bool CMoviePlayerGui::PlayFileStart(void)
p_movie_info->audioPids.push_back(pids); p_movie_info->audioPids.push_back(pids);
} }
} }
else }else{
for (unsigned int i = 0; i < numpida; i++) for (unsigned int i = 0; i < numpida; i++)
if (apids[i] == playback->GetAPid()) { if (apids[i] == playback->GetAPid()) {
CZapit::getInstance()->SetVolumePercent((ac3flags[i] == 1) ? g_settings.audio_volume_percent_ac3 : g_settings.audio_volume_percent_pcm); CZapit::getInstance()->SetVolumePercent((ac3flags[i] == 1) ? g_settings.audio_volume_percent_ac3 : g_settings.audio_volume_percent_pcm);
break; break;
} }
}
repeat_mode = (repeat_mode_enum) g_settings.movieplayer_repeat_on; repeat_mode = (repeat_mode_enum) g_settings.movieplayer_repeat_on;
playstate = CMoviePlayerGui::PLAY; playstate = CMoviePlayerGui::PLAY;
CVFD::getInstance()->ShowIcon(FP_ICON_PLAY, true); CVFD::getInstance()->ShowIcon(FP_ICON_PLAY, true);
@@ -2328,7 +2331,7 @@ bool CMoviePlayerGui::getAudioName(int apid, std::string &apidtitle)
{ {
if (p_movie_info == NULL) if (p_movie_info == NULL)
{ {
numpida = REC_MAX_APIDS; numpida = 0;
playback->FindAllPids(apids, ac3flags, &numpida, language); playback->FindAllPids(apids, ac3flags, &numpida, language);
for (unsigned int count = 0; count < numpida; count++) for (unsigned int count = 0; count < numpida; count++)
if(apid == apids[count]){ if(apid == apids[count]){
@@ -2340,7 +2343,7 @@ bool CMoviePlayerGui::getAudioName(int apid, std::string &apidtitle)
{ {
if (!isMovieBrowser) if (!isMovieBrowser)
{ {
numpida = REC_MAX_APIDS; numpida = 0;
playback->FindAllPids(apids, ac3flags, &numpida, language); playback->FindAllPids(apids, ac3flags, &numpida, language);
for (unsigned int count = 0; count < numpida; count++) for (unsigned int count = 0; count < numpida; count++)
if(apid == apids[count]){ if(apid == apids[count]){
@@ -2398,10 +2401,12 @@ void CMoviePlayerGui::addAudioFormat(int count, std::string &apidtitle, bool& en
} }
} }
void CMoviePlayerGui::getCurrentAudioName(bool /* file_player */, std::string &audioname) void CMoviePlayerGui::getCurrentAudioName(bool file_player, std::string &audioname)
{ {
numpida = REC_MAX_APIDS; if (file_player) {
playback->FindAllPids(apids, ac3flags, &numpida, language); numpida = 0;
playback->FindAllPids(apids, ac3flags, &numpida, language);
}
if (numpida && !currentapid) if (numpida && !currentapid)
currentapid = apids[0]; currentapid = apids[0];
for (unsigned int count = 0; count < numpida; count++) for (unsigned int count = 0; count < numpida; count++)
@@ -3242,8 +3247,11 @@ unsigned int CMoviePlayerGui::getAPID(void)
unsigned int CMoviePlayerGui::getAPIDCount(void) unsigned int CMoviePlayerGui::getAPIDCount(void)
{ {
if (!is_file_player && numpida)
return numpida;
unsigned int count = 0; unsigned int count = 0;
numpida = REC_MAX_APIDS; numpida = 0;
playback->FindAllPids(apids, ac3flags, &numpida, language); playback->FindAllPids(apids, ac3flags, &numpida, language);
for (unsigned int i = 0; i < numpida; i++) { for (unsigned int i = 0; i < numpida; i++) {
if (i != count) { if (i != count) {