From 68271eeaf83872270f13cc01e98960367d7d553f Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sat, 26 Nov 2005 12:54:24 +0000 Subject: [PATCH 1/1] pmt handling: untested (as usual) AC3 support --- lib/dvb/pmt.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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 #include #include +#include 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); -- 2.30.2