summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2009-11-01 15:35:34 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2009-11-01 15:35:34 +0100
commit999df31b8d27006dc81a7ef8d3ed309aa9172f4c (patch)
treee63fff0e411a3f8ee5afc5364f5c9f45e23b0f72
parent95c9d3cf514ccca031a07c057622ca566061ab26 (diff)
downloadvdr-999df31b8d27006dc81a7ef8d3ed309aa9172f4c.tar.gz
vdr-999df31b8d27006dc81a7ef8d3ed309aa9172f4c.tar.bz2
Fixed writing the PCR pid into the PMT in cPatPmtGenerator::GeneratePmt()
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY2
-rw-r--r--remux.c7
3 files changed, 10 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f9a3f16a..aae701bf 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -2500,3 +2500,7 @@ Valdemaras Pipiras <valdemaras@ambernet.lt>
Manuel Reimer <Manuel.Reimer@gmx.de>
for fixing saving terminal settings when running in background
+
+Rene van den Braken <rene@vandenbraken.name>
+ for reporting a bug in writing the PCR pid into the PMT in
+ cPatPmtGenerator::GeneratePmt()
diff --git a/HISTORY b/HISTORY
index 1662a6f3..b05d9112 100644
--- a/HISTORY
+++ b/HISTORY
@@ -6174,3 +6174,5 @@ Video Disk Recorder Revision History
Reimer).
- Fixed cFrameDetector::Analyze() to handle video streams where the frame type
is not detectable from the first TS packet of a frame.
+- Fixed writing the PCR pid into the PMT in cPatPmtGenerator::GeneratePmt()
+ (reported by Rene van den Braken).
diff --git a/remux.c b/remux.c
index 443e79ec..98f404f2 100644
--- a/remux.c
+++ b/remux.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remux.c 2.27 2009/11/01 12:25:17 kls Exp $
+ * $Id: remux.c 2.28 2009/11/01 15:33:32 kls Exp $
*/
#include "remux.h"
@@ -295,6 +295,7 @@ void cPatPmtGenerator::GeneratePmt(cChannel *Channel)
numPmtPackets = 0;
if (Channel) {
int Vpid = Channel->Vpid();
+ int Ppid = Channel->Ppid();
uchar *p = buf;
int i = 0;
p[i++] = 0x02; // table id
@@ -306,8 +307,8 @@ void cPatPmtGenerator::GeneratePmt(cChannel *Channel)
p[i++] = 0xC1 | (pmtVersion << 1); // dummy (2), version number (5), current/next indicator (1)
p[i++] = 0x00; // section number
p[i++] = 0x00; // last section number
- p[i++] = 0xE0 | (Vpid >> 8); // dummy (3), PCR pid hi (5)
- p[i++] = Vpid; // PCR pid lo
+ p[i++] = 0xE0 | (Ppid >> 8); // dummy (3), PCR pid hi (5)
+ p[i++] = Ppid; // PCR pid lo
p[i++] = 0xF0; // dummy (4), program info length hi (4)
p[i++] = 0x00; // program info length lo