Subject: Re: [MMUSIC] Comments on ABNF in 4566bis

From: Paul Kyzivat <[email-masked]>
Date: Mon, 01 Dec 2014 10:07:30 -0500

On 11/27/14 4:12 AM, Peter Stevens wrote:
> Hi,
>
> Colin has commented on this particular attribute:
>
>  > a=ptime: and a=maxptime:
>  > - Are these always integers?
>
> This is a question within the EBU Audio Contribution over IP (ACIP)
> group have noted that the ptime units are not specified within RFC4566.
> If you were not already aware, within the AES, the AES67-2013 AES
> Standard for audio applications of networks - High-performance streaming
> audio-over-ip interoperability, packet time is defined with decimal
> values as follows:
>
> a-ptime <milliseconds>[.<milliseconds decimal>]
> a=maxptime <milliseconds>[.<milliseconds decimal>]
>
> Do ptime integers possibly conflict with decimal values?
> It is unknown how manufacturers of products define their value of ptime
> internally, such as 20ms, as either an integer of 20 (ms) or as 0.020

I am essentially just a scribe here. The point of working on the ABNF 
for these is to be precise where that wasn't previously the case. I made 
my best guess as to what was intended. If there are existing uses of 
fractional values, then we should specify that.

My concern with this attribute is backward compatibility. If the 
definition was extended to allow decimal fractions, would that be 
backward compatible with existing implementations that might not expect 
to see fractional values?

One possibility would be to allow the use of decimal fractions only when 
the fractional part is non-zero. E.g.,

       ptime-value = packet-time
       packet-time = integer | non-zero-real
       non-zero-real = (integer / "0") "." *"0" integer

(Note that in SDP ABNF "integer" never starts with a "0".)

(This definition could also be used for framerate.) It would guarantee 
that values that are an integral number of milliseconds never have a 
fractional part, which would provide some compatibility with 
implementations that expect only integers.

If there are no *existing* uses of fractional values, but a desire to 
use them, then another possibility is to define a new attribute.

	Thanks,
	Paul