Re: MPEG2 TS source filter

Tech-Archive recommends: Fix windows errors by optimizing your registry

From: Pascal Soveaux (PSoveaux_at_Reply.To.Group.Plz)
Date: 09/22/04


Date: Wed, 22 Sep 2004 11:23:24 +0200

Hello Geraint,

> I think you're confusing a couple of clocks. The PCR tells you when this
> frame should be shown.
the Presentation Time Stamp indicates when a frame should be presented.

>The reference clock tells you what time it is now.
the Program Clock Reference is one of them.

>> The documentation states " With transport streams, the demux synchronizes
>> its clock to the PCR stream that corresponds to the audio or video stream
>> that was mapped last " does that mean that the demux wont use the PCRID
>> in PMT ?
I understand this sentence now. Imagine a simple MPTS containing 2 programs
each one having its own PCR.
In a graph built like this, mapped from top to bottom

                           --> PSI ...

                           --> Program 1 Video *PCR* --> Video
Decoder --> Video Renderer
                           --> Program 1 Audio --> Audio
Decoder --> Audio Renderer
TS --> DEMUX
                           --> Program 2 Video *PCR* -->
                           --> Program 2 Audio -->

the PCR from program 2 will be used because it was mapped last.

About my specific problem, it was a silly coding error (smart errors exist?)
I was doing Write(szBuffer,sizeof(szBuffer)) instead of Write(szBuffer,
dwBytesReceived).

Pascal

"Geraint Davies" <geraintd@_NO_THANK_YOU_REALLY_gdcl.co.uk> wrote in message
news:eahuJa9mEHA.3480@TK2MSFTNGP09.phx.gbl...
>
> "Pascal Soveaux" <PSoveaux@Reply.To.Group.Plz> wrote in message
> news:O5qTdPylEHA.2680@TK2MSFTNGP15.phx.gbl...
>> The documentation states " With transport streams, the demux synchronizes
>> its clock to the PCR stream that corresponds to the audio or video stream
>> that was mapped last " does that mean that the demux wont use the PCRID
>> in PMT ?
>
> I think you're confusing a couple of clocks. The PCR tells you when this
> frame should be shown. The reference clock tells you what time it is now.
> Most graphs measure time using the audio DAC clock; however, the demux
> measures time using the rate at which data is arriving -- this avoids
> overruns and underruns when the sender's clock runs at a different rate to
> your audio device. By buffering in a file, you deliver data to the demux
> at a different rate (presumably more bursty).
>
> You can force the graph to use the audio renderer's clock, but you would
> still be open to underrun problems if your system runs slightly faster
> than your source.
>
> G
>
>



Relevant Pages

  • Re: edirol r09 and video
    ... We graduated to SMPTE time code, and now we have word clock. ... way to stretch the time frame of the video with some sort ... of markers that will ensure perfect timing with audio. ... this may seem like the layz way to accomplish synchronization but it's not a very good way. ...
    (rec.audio.pro)
  • Re: Audio-over-ethernet and digital clocking
    ... how things are clocked when you send audio over ethernet in real time? ... in my composers' world of using slave computers to play back samples. ... Most computer interfaces have external clock options. ...
    (rec.audio.pro)
  • Re: TC sync issue, 2 HVX200 and audio in concert
    ... I'll be recording audio off the board to the Tascam HD-P2. ... sync audio in post. ... I've heard that the TC clock in these cameras drifts. ...
    (rec.arts.movies.production.sound)
  • Re: [RFC] [PATCH] Device Tree on ARM platform
    ... A concrete example that was mentioned elsewhere in the thread is audio ... combination of analogue and digital links. ... sync clock and bit clock for each of transmit and ... are described in the device tree and have a generic block of code in ...
    (Linux-Kernel)
  • Re: Sampling Rate Problem - AEC
    ... TWO CLOCK ISSUE: ... There may be no drift on a soundard when we use the right sampling ... In some audio chipsets used for mobile apps, ... The Windows mixer may be using a sample rate conversion ...
    (microsoft.public.win32.programmer.mmedia)