From 1e28a6937131f4b09be6464aefe3dbfbeef89086 Mon Sep 17 00:00:00 2001 From: Kwang Yul Seo Date: Sun, 9 Dec 2007 05:02:17 +0000 Subject: [PATCH] Fix compilation with MSVC by using gst_util_guint64_to_gdouble() and checking for rint() and implementing it ourself ... Original commit message from CVS: Based on a patch by: Kwang Yul Seo * configure.ac: * ext/cairo/gsttimeoverlay.c: (gst_cairo_time_overlay_print_smpte_time): Fix compilation with MSVC by using gst_util_guint64_to_gdouble() and checking for rint() and implementing it ourself if it doesn't exist. --- ChangeLog | 11 +++++++++++ configure.ac | 5 +++++ ext/cairo/gsttimeoverlay.c | 6 +++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 30002e3825..348cc4367b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2007-12-09 Sebastian Dröge + + Based on a patch by: Kwang Yul Seo + + * configure.ac: + * ext/cairo/gsttimeoverlay.c: + (gst_cairo_time_overlay_print_smpte_time): + Fix compilation with MSVC by using gst_util_guint64_to_gdouble() + and checking for rint() and implementing it ourself if it doesn't + exist. + 2007-12-09 Sebastian Dröge * configure.ac: diff --git a/configure.ac b/configure.ac index 592e4a25ec..286161b011 100644 --- a/configure.ac +++ b/configure.ac @@ -218,6 +218,11 @@ AC_C99_FUNC_LRINTF dnl *** checks for library functions *** +LIBS_SAVE=$LIBS +LIBS="$LIBS $LIBM" +AC_CHECK_FUNCS(rint) +$LIBS=$LIB_SAVE + dnl Check for mmap (needed by electricfence plugin) AC_FUNC_MMAP AM_CONDITIONAL(GST_HAVE_MMAP, test "x$ac_cv_func_mmap_fixed_mapped" == "xyes") diff --git a/ext/cairo/gsttimeoverlay.c b/ext/cairo/gsttimeoverlay.c index 16707916c3..8f1d03d16d 100644 --- a/ext/cairo/gsttimeoverlay.c +++ b/ext/cairo/gsttimeoverlay.c @@ -48,6 +48,10 @@ #include +#ifndef HAVE_RINT +#define rint(x) ((double) floor((x)+(((x) < 0)? -0.5 : 0.5))) +#endif + static const GstElementDetails cairo_time_overlay_details = GST_ELEMENT_DETAILS ("Time overlay", "Filter/Editor/Video", @@ -159,7 +163,7 @@ gst_cairo_time_overlay_print_smpte_time (guint64 time) int ms; double x; - x = rint ((time + 500000) * 1e-6); + x = rint (gst_util_guint64_to_gdouble (time + 500000) * 1e-6); hours = floor (x / (60 * 60 * 1000)); x -= hours * 60 * 60 * 1000;