Hi Klaus,
in the iso13818-1 (you can find a copy at http://neuron2.net/library/mpeg2/iso13818-1.pdf), in the section 2.4.2.2 Input to the Transport Stream system target decoder, is explained how the PCR is used to reconstruct the transport stream clock.
Giampaolo
-----Original Message----- From: vdr-bounces@linuxtv.org [mailto:vdr-bounces@linuxtv.org] On Behalf Of Klaus Schmidinger Sent: venerdì 8 gennaio 2010 15.01 To: vdr@linuxtv.org Subject: Re: [vdr] PCR pid
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.
Klaus
-----Original Message----- From: vdr-bounces@linuxtv.org [mailto:vdr-bounces@linuxtv.org] On Behalf
Of
Klaus Schmidinger Sent: sabato 5 dicembre 2009 12:27 To: vdr@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. Klaus
Yes, you're right if you are replaying recordings on a FF card, but:
- 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
the
ioctl DMX_GET_STC fails and the only way to you get time information is
from
the video/audio decoder (VIDEO_GET_PTS/ AUDIO_GET_PTS). So, even if I
wrote
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.
Klaus
_______________________________________________ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr