summaryrefslogtreecommitdiff
path: root/pat.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2008-08-15 14:49:34 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2008-08-15 14:49:34 +0200
commitd9e56db9fca760da1f2dc29288f0b55b2d67ec6f (patch)
treedb05afb1bd0cd57c88a35cf4d95a570770dc764b /pat.c
parent2ee1e61d35d87d17c23b69525790a560dac69156 (diff)
downloadvdr-d9e56db9fca760da1f2dc29288f0b55b2d67ec6f.tar.gz
vdr-d9e56db9fca760da1f2dc29288f0b55b2d67ec6f.tar.bz2
First step towards switching to TS (Transport Stream) as recording format
Diffstat (limited to 'pat.c')
-rw-r--r--pat.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/pat.c b/pat.c
index a16607c5..52857842 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.1 2008/04/12 13:34:50 kls Exp $
+ * $Id: pat.c 2.2 2008/07/06 14:01:32 kls Exp $
*/
#include "pat.h"
@@ -328,7 +328,8 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
// Scan the stream-specific loop:
SI::PMT::Stream stream;
int Vpid = 0;
- int Ppid = pmt.getPCRPid();
+ int Ppid = 0;
+ int Vtype = 0;
int Apids[MAXAPIDS + 1] = { 0 }; // these lists are zero-terminated
int Dpids[MAXDPIDS + 1] = { 0 };
int Spids[MAXSPIDS + 1] = { 0 };
@@ -343,8 +344,10 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
switch (stream.getStreamType()) {
case 1: // STREAMTYPE_11172_VIDEO
case 2: // STREAMTYPE_13818_VIDEO
-//TODO case 0x1B: // MPEG4
+ case 0x1B: // MPEG4
Vpid = stream.getPid();
+ Ppid = pmt.getPCRPid();
+ Vtype = stream.getStreamType();
break;
case 3: // STREAMTYPE_11172_AUDIO
case 4: // STREAMTYPE_13818_AUDIO
@@ -440,7 +443,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
}
}
if (Setup.UpdateChannels >= 2) {
- Channel->SetPids(Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid);
+ Channel->SetPids(Vpid, Ppid, Vtype, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid);
Channel->SetCaIds(CaDescriptors->CaIds());
}
Channel->SetCaDescriptors(CaDescriptorHandler.AddCaDescriptors(CaDescriptors));