[vdr] PCR pid

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Sun Jan 24 18:14:59 CET 2010


On 24.01.2010 17:24, André Weidemann wrote:
> Hi Klaus,
> 
> On 24.01.2010 16:28, Klaus Schmidinger wrote:
>> On 11.01.2010 06:19, VDR User wrote:
>>> On Sun, Jan 10, 2010 at 12:30 AM, Giampaolo Sica<gpsica at tin.it>  wrote:
>>>> My Samsung linux based TV set (http://samygo.sourceforge.net/) won't
>>>> play
>>>> .TS without PCR (both h.264 and mpeg2).
>>>> Windows media player in windows 7 can play mpeg2 and H.264 .TS only
>>>> with PCR
>>>> pid.
>>>> I haven't tried any other player.
>>>
>>> I would say your problem should be addressed within your hacked tv
>>> firmware.  However, if there is a real need for PCR then I'm sure
>>> Klaus will consider it.
>>
>> In an attempt to debug this I just made some recordings from channels
>> with VPID==PPID and VPID!=PPID, namely
>>
>> RTL Television,RTL;RTL
>> World:12187:hC34M2O0S0:S19.2E:27500:163=2:104=deu;106=deu:105:0:12003:1:1089:0
>>
>> BVN;CANALDIGITAAL:12574:hC56M2O0S0:S19.2E:22000:515+8190=2:96=dut:36:0:5025:53:1109:0
>>
>>
>> Both recordings were replayed without problems using the Windows Media
>> Player
>> on Windows XP. It didn't even make a difference whether the PCR pid in
>> the
>> PMT was set to an actual value or to 0x1FFF.
>>
>> I was under the impression that the WMP was one of those players
>> that have problems if there is no PCR, but apparently it plays just
>> fine...
> 
> Could you please do a quick test with VLC 1.0.3 under Windows? I cannot
> replay any recordings made from AnixeHD recorded with vdr-1.7.11. Upon
> replay I only get a still picture of the first recorded frame.

Are you referring to

  ANIXE HD;BetaDigital:10832:hC23M5O35S1:S19.2E:22000:767=27:0;771=deu:0:1:61202:1:1057:0

Please try

--- remux.c     2010/01/23 15:39:15     2.38
+++ remux.c     2010/01/24 15:18:29     2.39
@@ -295,7 +295,7 @@
   numPmtPackets = 0;
   if (Channel) {
      int Vpid = Channel->Vpid();
-     int Ppid = 0x1FFF; // no PCR pid
+     int Ppid = Channel->Ppid();
      uchar *p = buf;
      int i = 0;
      p[i++] = 0x02; // table id

That should fix it - this channel doesn't have a separate PCR pid.

Klaus



More information about the vdr mailing list