X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fplatform%2Ftimeutils.h;h=d793005b80fbcd210df373d58d874fcc09af5b74;hb=2ffc8cddcb866da58a4a45923823ad9fb1c296eb;hp=c4140203736bc258e3551a31fda001009a985e45;hpb=b9187cc6999276ce37a5c9852655fd558ea76b8e;p=deb_libcec.git diff --git a/src/lib/platform/timeutils.h b/src/lib/platform/timeutils.h index c414020..d793005 100644 --- a/src/lib/platform/timeutils.h +++ b/src/lib/platform/timeutils.h @@ -1,31 +1,53 @@ #pragma once - /* - * boblight - * Copyright (C) Bob 2009 + * This file is part of the libCEC(R) library. + * + * libCEC(R) is Copyright (C) 2011 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is an original work, containing original code. * - * boblight is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 3 of the License, or + * libCEC(R) is a trademark of Pulse-Eight Limited. + * + * This program is dual-licensed; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * - * boblight is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . + * + * Alternatively, you can license this library under a commercial license, + * please contact Pulse-Eight Licensing for more information. + * + * For more information contact: + * Pulse-Eight Licensing + * http://www.pulse-eight.com/ + * http://www.pulse-eight.net/ */ #include +#if defined(__APPLE__) +#include +#include +#elif defined(__WINDOWS__) #include +#else +#include +#endif namespace CEC { inline int64_t GetTimeMs() { - #ifdef __WINDOWS__ + #if defined(__APPLE__) + return (int64_t) (CVGetCurrentHostTime() * 1000 / CVGetHostClockFrequency()); + #elif defined(__WINDOWS__) time_t rawtime; time(&rawtime); @@ -38,10 +60,9 @@ namespace CEC } return -1; #else - struct timespec time; - clock_gettime(CLOCK_MONOTONIC, &time); - - return ((int64_t)time.tv_sec * (int64_t)1000) + (int64_t)time.tv_nsec / (int64_t)1000; + timeval time; + gettimeofday(&time, NULL); + return (int64_t) (time.tv_sec * 1000 + time.tv_usec / 1000); #endif }