Re: [Live-devel] Play out PCR from gettimeofday rather thaHi Ross,

Thanks for your reply.  You are quite right, the PCR is always more accurate 
straight out of an encoder, so I have shelved that desperate idea which as it 
turns out wasn't a problem anyway.

I have been inspecting the clips produced by our Bitpack encoder and they do 
indeed have the discontinuity_indicator set on the first video packet, so there 
are no CC errors or PCR problems on our PID273, being video.

However, when we change clips, we are registering CC errors on PID 0, 64 and 
40, being PAT, PMT and Audio respectively.  Should the first packet in the 
clips for these pids contain an adaptation field with discontinuity_indicator 
true also?

Incidentally, when I was chasing the PCR accuracy 'problem', I have noted that 
under default settings for MAX_PLAYOUT_BUFFER_DURATION (being 0.1s) the PCR 
jitter is seen at about 35ns, and we do from time to time experience 
pixellation at broadcast output, however when I reduce this buffer to 0.01s, 
the jitter is reduced to 16ns and any pixellation during clip playout is gone.  
I don't understand why that setting should affect the packet presentation 
timing as the naming of that var would imply to me the length of a FIFO more 
than anything else.

To solve this clip change problem I am now leaning toward the idea of keeping 
an array of incrementing CC per PID, and playing that out - OR, if the non-PCR 
carrying PIDs should have the discontinuity_indicator flag when they first 
occur in a clip, inspecting the clips and adjusting them accordingly.

Looking forward to your comments,

Thanks,

-Tim

  ----- Original Message ----- 
  From: Ross Finlayson 
  To: LIVE555 Streaming Media - development & use 
  Sent: Tuesday, March 22, 2011 1:00 PM
  Subject: Re: [Live-devel] Play out PCR from gettimeofday rather than source 
stream?


    I see that timeNow is already stood up in in MPEG2TransportStreamFramer.cpp 
- is there a quick and dirty way to insert PCR based on this time, at time of 
playout, rather than pass through the source PCR?


  No, not really, and this is a bad idea anyway.  The PCR values that were 
inserted in the files at the time that they were encoded will always be more 
accurate (and better for decoders to use) than values derived from 
'gettimeofday()'.


  Instead, you should make sure that your TS files have the 
'discontinuity_indicator' flag set at the start.  Our 
"MPEG2TransportStreamFramer" code recognizes this flag, as should the decoder 
in your STB.
-- 

  Ross Finlayson
  Live Networks, Inc.
  http://www.live555.com/


------------------------------------------------------------------------------


  _______________________________________________
  live-devel mailing list
  live-devel@lists.live555.com
  http://lists.live555.com/mailman/listinfo/live-devel
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to