summaryrefslogtreecommitdiff
path: root/pat.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2010-05-16 13:36:55 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2010-05-16 13:36:55 +0200
commit7f3d21f86715d10e9c7ec9a0da1177c9313178d3 (patch)
tree22488ac5fd771e3cb7b3ef4f7ed984d964bb27cd /pat.c
parent0f9b247122314e51f06d848b7801dbfcacab3de7 (diff)
downloadvdr-7f3d21f86715d10e9c7ec9a0da1177c9313178d3.tar.gz
vdr-7f3d21f86715d10e9c7ec9a0da1177c9313178d3.tar.bz2
Added handling MPEG audio types "ISO/IEC 14496-3 Audio with LATM transport syntax" and "ISO/IEC 13818-7 Audio with ADTS transport sytax"
Diffstat (limited to 'pat.c')
-rw-r--r--pat.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/pat.c b/pat.c
index ae0d9803..d998d40a 100644
--- a/pat.c
+++ b/pat.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: pat.c 2.9 2010/03/27 15:17:46 kls Exp $
+ * $Id: pat.c 2.10 2010/05/16 11:12:57 kls Exp $
*/
#include "pat.h"
@@ -332,6 +332,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
int Ppid = 0;
int Vtype = 0;
int Apids[MAXAPIDS + 1] = { 0 }; // these lists are zero-terminated
+ int Atypes[MAXDPIDS + 1] = { 0 };
int Dpids[MAXDPIDS + 1] = { 0 };
int Spids[MAXSPIDS + 1] = { 0 };
uchar SubtitlingTypes[MAXSPIDS + 1] = { 0 };
@@ -358,9 +359,12 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
break;
case 3: // STREAMTYPE_11172_AUDIO
case 4: // STREAMTYPE_13818_AUDIO
+ case 0x0F: // ISO/IEC 13818-7 Audio with ADTS transport sytax
+ case 0x11: // ISO/IEC 14496-3 Audio with LATM transport syntax
{
if (NumApids < MAXAPIDS) {
Apids[NumApids] = esPid;
+ Atypes[NumApids] = stream.getStreamType();
SI::Descriptor *d;
for (SI::Loop::Iterator it; (d = stream.streamDescriptors.getNext(it)); ) {
switch (d->getDescriptorTag()) {
@@ -481,7 +485,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
}
}
if (Setup.UpdateChannels >= 2) {
- Channel->SetPids(Vpid, Ppid, Vtype, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid);
+ Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, DLangs, Spids, SLangs, Tpid);
Channel->SetCaIds(CaDescriptors->CaIds());
Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
}