don't reorder audio streams, instead store thre default audio stream index in 'defaul...
authorFelix Domke <tmbinc@elitedvb.net>
Fri, 24 Aug 2007 23:59:26 +0000 (23:59 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Fri, 24 Aug 2007 23:59:26 +0000 (23:59 +0000)
lib/dvb/pmt.cpp
lib/dvb/pmt.h

index a6bde90..c295df3 100644 (file)
@@ -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)
                                        {
index a0820c5..d1e2870 100644 (file)
@@ -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;