player_util.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  * 
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  * 
  12.  * The Original Code is MPEG4IP.
  13.  * 
  14.  * The Initial Developer of the Original Code is Cisco Systems Inc.
  15.  * Portions created by Cisco Systems Inc. are
  16.  * Copyright (C) Cisco Systems Inc. 2000, 2001.  All Rights Reserved.
  17.  * 
  18.  * Contributor(s): 
  19.  *              Bill May        wmay@cisco.com
  20.  */
  21. #ifndef __PLAYER_UTIL_H__
  22. #define __PLAYER_UTIL_H__
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. void player_error_message(const char *fmt, ...)
  27. #ifndef _WIN32
  28.        __attribute__((format(__printf__, 1, 2)))
  29. #endif
  30. ;
  31. void player_debug_message(const char *fmt, ...)
  32. #ifndef _WIN32
  33.        __attribute__((format(__printf__, 1, 2)))
  34. #endif
  35.    ;
  36. void message(int loglevel, const char *lib, const char *fmt, ...)
  37. #ifndef _WIN32
  38.        __attribute__((format(__printf__, 3, 4)))
  39. #endif
  40.    ;
  41. void player_library_message(int loglevel,
  42.     const char *lib,
  43.     const char *fmt,
  44.     va_list ap);
  45. #ifdef __cplusplus
  46. }
  47. #endif
  48. #ifdef _WIN32
  49. #define DEFINE_MESSAGE_MACRO(funcname, libname) 
  50. static inline void funcname (int loglevel, const char *fmt, ...) 
  51. va_list ap; 
  52. va_start(ap, fmt); 
  53. player_library_message(loglevel, libname, fmt, ap); 
  54. va_end(ap); 
  55. #else
  56. #define DEFINE_MESSAGE_MACRO(funcname, libname) 
  57. #endif
  58. static  __inline uint64_t get_time_of_day (void) {
  59.   struct timeval t;
  60.   gettimeofday(&t, NULL);
  61.   return ((((uint64_t)t.tv_sec) * M_LLU) +
  62.   (((uint64_t)t.tv_usec) / M_LLU));
  63. }
  64. #endif