[vlc-devel] [PATCH 01/16] vlc_common: add helper function to convert milliseconds to/from mtime_t

Steve Lhomme robux4 at ycbcr.xyz
Fri Jun 8 08:27:15 CEST 2018


On 2018-06-07 1:15 PM, Rémi Denis-Courmont wrote:
> Should there be a VLC prefix? How to handle rounding errors? :/

I would say yes on the prefix but that's going to be very lengthy names. 
Also mtime_t is not vlc_mtime_t.

The rounding errors it's a little tricky for a macro. I was thinking 
about using macros for hardcoded values and a function for local values.

There are currently many static_assert on CLOCK_FREQ like this one
http://git.videolan.org/?p=vlc.git;a=blob;f=modules/audio_output/wasapi.c;hb=HEAD#l130

For now CLOCK_FREQ it's pretty much lock into 1000000 so the only thing 
that can happen here is MTIME_TO_MS() overflowing when it shouldn't.

I would like to make the code more flexible though to allow more 
arbitrary values like that Facebook tick or using 100ns on Windows where 
it's more natural.
>
> Le 7 juin 2018 12:59:45 GMT+03:00, Steve Lhomme <robux4 at ycbcr.xyz> a 
> écrit :
>
>     From: Rémi Denis-Courmont <remi at remlab.net>
>
>     ---
>       include/vlc_common.h | 4 ++++
>       1 file changed, 4 insertions(+)
>
>     diff --git a/include/vlc_common.h b/include/vlc_common.h
>     index da334710af..d79ed61221 100644
>     --- a/include/vlc_common.h
>     +++ b/include/vlc_common.h
>     @@ -288,6 +288,10 @@
>        */
>       typedef int64_t mtime_t;
>       
>     +#define MS_TO_MTIME(ms) ((ms) * (CLOCK_FREQ / 1000))
>     +#define MTIME_TO_MS(ms) (((ms) * 1000) / CLOCK_FREQ)
>     +
>     +
>       /**
>        * The vlc_fourcc_t type.
>        *
>
>
> -- 
> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20180608/13878dca/attachment.html>


More information about the vlc-devel mailing list