[NUT-devel] Another suggestion for broadcast [PATCH]

Måns Rullgård mans at mansr.com
Tue Feb 19 23:48:18 CET 2008


Michael Niedermayer <michaelni at gmx.at> writes:

> On Tue, Feb 19, 2008 at 08:19:39PM +0000, Måns Rullgård wrote:
>> Michael Niedermayer <michaelni at gmx.at> writes:
>> 
>> > +transmit_ts (t)
>> > +    The timestamp at which the first bit of the syncpoint is transmitted.
>> 
>> In MPEG-TS, the PCR value is the time of arrival of the last bit
>> (actually the byte containing the last bit).  This could be seen as
>> more logical, as then no timestamp will refer to a time in the past.
>> I doubt the distinction is relevant in practice, but I wanted to point
>> it out nonetheless.
>
> Last bit of what? The transmit_ts or the syncpoint?
> A well written demuxer/receiver will check the crc of the syncpoint before
> using transmit_ts thus it would still be in the past if its the last bit
> of transmit_ts.
> Also either way transmit_ts is variable length and that would slightly
> complicate setting it exactly to the time of the last bit.

First bit is fine.  As I said, I only mentioned this since it is a
difference from MPEG TS.

>> > +    MUST be less than or equal to all following dts.
>> 
>> I'm not happy with this.  It allows the clock to reach the DTS of a
>> frame before the frame has arrived.  Placing restrictions on the
>> transmit_ts value is not sufficient to avoid this condition.  Instead,
>> it must be a rule that a frame must be completely received before the
>> reference clock reaches its DTS value.
>
> What about:
>
> transmit_ts (t)
>     The value of the reference clock at the moment when the first bit of
>     transmit_ts is transmitted/received.
>     The reference clock MUST always be less than or equal to the DTS of
>     every not yet completely received frame.

Much better.

-- 
Måns Rullgård
mans at mansr.com



More information about the NUT-devel mailing list