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

Rémi Denis-Courmont remi at remlab.net
Mon Jun 18 14:05:29 CEST 2018


You probably need to rename mdate() to vlc_time() or something. Then mwait() and msleep() too...

Le 18 juin 2018 14:52:33 GMT+03:00, Steve Lhomme <robux4 at ycbcr.xyz> a écrit :
>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
>
>_______________________________________________
>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é.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20180618/bd21567f/attachment.html>


More information about the vlc-devel mailing list