diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-11-26 12:54:24 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-11-26 12:54:24 +0000 |
| commit | 68271eeaf83872270f13cc01e98960367d7d553f (patch) | |
| tree | 4ef2e353bda76936ec98b4951fb8105f1f417d15 | |
| parent | d7a21e41d75201806e8f7eed47b0097bc811d56b (diff) | |
| download | enigma2-68271eeaf83872270f13cc01e98960367d7d553f.tar.gz enigma2-68271eeaf83872270f13cc01e98960367d7d553f.zip | |
pmt handling: untested (as usual) AC3 support
| -rw-r--r-- | lib/dvb/pmt.cpp | 16 |
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); |
