aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-08-24 23:59:26 +0000
committerFelix Domke <tmbinc@elitedvb.net>2007-08-24 23:59:26 +0000
commit9a262588610fbdf0c7e8ad1c6fa393adcbc35399 (patch)
treeb8c6352a11111d36ce6bff08cc0ef0874ff9ea5f /lib/dvb
parent14f09aa04196a575ad4c7f4a72a868abe02f0ef3 (diff)
downloadenigma2-9a262588610fbdf0c7e8ad1c6fa393adcbc35399.tar.gz
enigma2-9a262588610fbdf0c7e8ad1c6fa393adcbc35399.zip
don't reorder audio streams, instead store thre default audio stream index in 'defaultAudioStream'
Diffstat (limited to 'lib/dvb')
-rw-r--r--lib/dvb/pmt.cpp9
-rw-r--r--lib/dvb/pmt.h1
2 files changed, 4 insertions, 6 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp
index a6bde907..c295df31 100644
--- a/lib/dvb/pmt.cpp
+++ b/lib/dvb/pmt.cpp
@@ -174,6 +174,7 @@ int eDVBServicePMTHandler::getProgramInfo(struct program &program)
program.pcrPid = -1;
program.pmtPid = -1;
program.textPid = -1;
+ program.defaultAudioStream = 0;
if ( m_service && !m_service->cacheEmpty() )
{
@@ -318,12 +319,8 @@ int eDVBServicePMTHandler::getProgramInfo(struct program &program)
audio.pid = (*es)->getPid();
if ( !program.audioStreams.empty() &&
( audio.pid == cached_apid_ac3 || audio.pid == cached_apid_mpeg) )
- {
- program.audioStreams.push_back(program.audioStreams[0]);
- program.audioStreams[0] = audio;
- }
- else
- program.audioStreams.push_back(audio);
+ program.defaultAudioStream = program.audioStreams.size();
+ program.audioStreams.push_back(audio);
}
else if (isvideo)
{
diff --git a/lib/dvb/pmt.h b/lib/dvb/pmt.h
index a0820c58..d1e28703 100644
--- a/lib/dvb/pmt.h
+++ b/lib/dvb/pmt.h
@@ -157,6 +157,7 @@ public:
{
std::vector<videoStream> videoStreams;
std::vector<audioStream> audioStreams;
+ int defaultAudioStream;
std::vector<subtitleStream> subtitleStreams;
std::set<uint16_t> caids;
int pcrPid;