[vlc-devel] [PATCH 04/15] vlc_common: add helper function for explicit nanosecond to/from mtime_t conversion

Steve Lhomme robux4 at ycbcr.xyz
Mon Jun 18 13:52:33 CEST 2018


OK I'll go with ms/us/ns then.

It should allow using vlc_tick_from_ms() and such. It's reasonably sized.


On 2018-06-18 11:57 AM, Rémi Denis-Courmont wrote:
> There are no such thing as an "other way". If you hide the unit of the 
> time type, then you have to expose the unit of the conversions to and 
> from it.
>
> Milli is not a unit. It's a fixed point representation. If you use 
> tick as the unit, then milli means millitick, not millisecond. Talk 
> about confusing.
>
> On top of that, ms/us/ns are shorter than milli/micro/nano.
>
> Le 18 juin 2018 09:58:14 GMT+03:00, Steve Lhomme <robux4 at ycbcr.xyz> a 
> écrit :
>
>     On 2018-06-16 10:53 AM, Rémi Denis-Courmont wrote:
>
>         Le lauantaina 16. kesäkuuta 2018, 11.32.50 EEST Steve Lhomme a
>         écrit :
>
>             On 2018-06-16 10:23 AM, Rémi Denis-Courmont wrote:
>
>                 Le lauantaina 16. kesäkuuta 2018, 10.34.18 EEST Steve
>                 Lhomme a écrit :
>
>                     I used milli instead of ms so it's not confused
>                     with msftime_t. And so micro and nano seems like
>                     logical siblings. 
>
>                 Then keep mtime and screw this series. 
>
>             I find mtime misleading. Especially because it assumes a
>             certain value and in many parts of the code 1000 or
>             1000000 is used instead of proper conversion because what
>             could possibly go wrong ? 
>
>         Well, these things regularly go wrong: - failing to convert,
>         typically the caching values between ms and µs, - failing to
>         expand before computation, typically from 32-bits to 64-bits.
>         mtime_t is not a particularly good name, but it's anyway
>         assumed same as int64_t all over the place, so the name does
>         not matter than much.
>
>             With a tick (or something else) you know you have to take
>             care of a conversion in the proper time format you're
>             handling. 
>
>         But that's exactly the point. If you use tick, jiffy or
>         whatever other non- standard unit, then you have to define
>         what the other unit is. 
>
>
>     I see it the other way. One should not know what a tick is nor the
>     precision it can have. The API around it should hide all the
>     intricacies. The fact the name implies it's in microseconds lead to a
>     lot of dirty code we have right now.
>
>         That's why ns, us/µs, ms are far better names than nano, micro
>         and milli. 
>
>
>     I would like nsec, msec and µsec but it's not possible and using ms may
>     lead to confusion. And us doesn't sound anything like µs it just looks
>     the same.
>
>             mtime_t will stay for backward compatibility but IMO it
>             should not be used anymore. 
>
>         I don't mind changing the name to something short and
>         correctly namespaced. But it would be utterly vain in any
>         case. The code assumes int64_t in a variety of subtle and
>         not-so-subtle ways, no matter the typedef alias. 
>
>
>     This is all fixed. Seehttps://code.videolan.org/robUx4/vlc/tree/clock/43
>
>                 As far as I am concerned, if you don't specify the
>                 time unit in a computer program, you are using local
>                 jiffies, not seconds. Talk about confusing. ISO C uses
>                 nsec, not nano. SI uses ms, µs and ns with us as the
>                 defacto standard transliteration of µs. 
>
>             We could use nsec instead of nano to align with the
>             standard. But then msec could be either milliseconds or
>             microseconds. 
>
>         Not really. VLC did confuse m for micro. But in the standards,
>         it's always u/µ for micro and m for milli.
>
>
>
>     I don't like it. But if everyone agrees on this fine. I can change that
>     easily in my patches.
>     ------------------------------------------------------------------------
>
>     vlc-devel mailing list
>     To unsubscribe or modify your subscription options:
>     https://mailman.videolan.org/listinfo/vlc-devel
>
>
> -- 
> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez 
> excuser ma brièveté.
>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel



More information about the vlc-devel mailing list