[vdr] PCR pid
Klaus.Schmidinger at tvdr.de
Fri Jan 8 15:00:41 CET 2010
On 08.01.2010 12:19, Giampaolo Sica wrote:
> Hi Klaus,
> Thanks for your answer and sorry for replaying so late.
> Setting Ppid to 0x1FFF means disable it. The effect is that some mpeg2
> players refuse to play vdr recordings.
> I think that the PCR pid is more important in recordings than in live
> viewing, because in live viewing the timing is implicit in the packet time
> of arrival. When you have a file you lose that information because you try
> to fill the playing buffer.
> What I said is anyway wrong, because PCR is part of the mpeg2 standard and
> it have to be present in the stream.
> Maybe, the particular implementation of the mpeg2 decoder in the DVB FF card
> derives its internal clock using the framerate of the mpeg2 stream, but it
> is not standard.
Can you point to some documentation that specifies how the PCR data
is actually used during replay of a recording?
I find it very hard to believe that this can actually be used, because
you just can't syncronize a local clock to the PCR if the PCR packets don't
arrive in real time.
> -----Original Message-----
> From: vdr-bounces at linuxtv.org [mailto:vdr-bounces at linuxtv.org] On Behalf Of
> Klaus Schmidinger
> Sent: sabato 5 dicembre 2009 12:27
> To: vdr at linuxtv.org
> Subject: Re: [vdr] PCR pid
> On 26.11.2009 13:51, Giampaolo Sica wrote:
>>> Maybe because you haven't applied it to your copy of version 1.7.10? ;-)
>>> In hindsight I'm not sure whether the change "Fixed writing the PCR pid
>>> into the PMT in cPatPmtGenerator::GeneratePmt()" was a good idea, because
>>> VDR doesn't record the PCR pid at all.
>>> I tend to revert that change, because I don't think that
>>> a separate PCR pid is necessary in a recording. AFAIK the
>>> PCR pid is only for live viewing.
>> Yes, you're right if you are replaying recordings on a FF card, but:
>> 1) Some players refuse to play TS streams without PCR information (screen
>> remains black).
>> 2) I'm porting VDR to IPBOX 9000HD (STi710x based STB... yes, I know there
>> is enigma2, but I've been using vdr since 2000 and I love it) and the PCR
>> pid is essential to have the timeline while watching recording, because
>> ioctl DMX_GET_STC fails and the only way to you get time information is
>> the video/audio decoder (VIDEO_GET_PTS/ AUDIO_GET_PTS). So, even if I
>> a plugin for this device, I'd have to patch the base classes that is in
>> contrast with the plugins philosophy
> Can you please try what happens if you set
> int Ppid = 0x1FFF;
> in cPatPmtGenerator::GeneratePmt()?
> As far as I understand the PCR (please correct me if I'm wrong), it only
> has a meaning in live mode, where PCR packets arrive at precise points in
> time and are used to syncronize the player's internal clock.
> When replaying a recording, it is not defined when the PCR packets arrive
> at the player, and thus they have no meaning.
More information about the vdr