aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-11-26 12:54:24 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-11-26 12:54:24 +0000
commit68271eeaf83872270f13cc01e98960367d7d553f (patch)
tree4ef2e353bda76936ec98b4951fb8105f1f417d15
parentd7a21e41d75201806e8f7eed47b0097bc811d56b (diff)
downloadenigma2-68271eeaf83872270f13cc01e98960367d7d553f.tar.gz
enigma2-68271eeaf83872270f13cc01e98960367d7d553f.zip
pmt handling: untested (as usual) AC3 support
-rw-r--r--lib/dvb/pmt.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp
index 54d189f4..c0c65b27 100644
--- a/lib/dvb/pmt.cpp
+++ b/lib/dvb/pmt.cpp
@@ -5,6 +5,7 @@
#include <lib/dvb/metaparser.h>
#include <lib/dvb_ci/dvbci.h>
#include <dvbsi++/ca_program_map_section.h>
+#include <dvbsi++/descriptor_tag.h>
eDVBServicePMTHandler::eDVBServicePMTHandler(int record)
:m_ca_servicePtr(0)
@@ -157,6 +158,21 @@ int eDVBServicePMTHandler::getProgramInfo(struct program &program)
isaudio = 1;
audio.type = audioStream::atMPEG;
break;
+ case 0x06: // PES Private
+ /* PES private can contain AC-3, DTS or lots of other stuff.
+ check descriptors to get the exact type. */
+ for (DescriptorConstIterator desc = (*es)->getDescriptors()->begin();
+ desc != (*es)->getDescriptors()->end(); ++desc)
+ {
+ switch ((*desc)->getTag())
+ {
+ case AC3_DESCRIPTOR:
+ isaudio = 1;
+ audio.type = audioStream::atAC3;
+ break;
+ }
+ }
+ break;
}
if (isaudio)
program.audioStreams.push_back(audio);