mpeg2t_util.c
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:1k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #include <mpeg4ip.h>
  2. #include <time.h>
  3. #include "mpeg2t_private.h"
  4. static int mpeg2t_debug_level = LOG_ALERT;
  5. static error_msg_func_t mpeg2t_error_msg = NULL;
  6. void mpeg2t_set_loglevel (int loglevel)
  7. {
  8.   mpeg2t_debug_level = loglevel;
  9. }
  10. void mpeg2t_set_error_func (error_msg_func_t func)
  11. {
  12.   mpeg2t_error_msg = func;
  13. }
  14. void mpeg2t_message (int loglevel, const char *fmt, ...)
  15. {
  16.   va_list ap;
  17.   if (loglevel <= mpeg2t_debug_level) {
  18.     va_start(ap, fmt);
  19.     if (mpeg2t_error_msg != NULL) {
  20.       (mpeg2t_error_msg)(loglevel, "mpeg2t", fmt, ap);
  21.     } else {
  22.  #if _WIN32 && _DEBUG
  23.   char msg[1024];
  24.       _vsnprintf(msg, 1024, fmt, ap);
  25.       OutputDebugString(msg);
  26.       OutputDebugString("n");
  27. #else
  28.       struct timeval thistime;
  29.       char buffer[80];
  30.       time_t secs;
  31.       gettimeofday(&thistime, NULL);
  32.       // To add date, add %a %b %d to strftime
  33.       secs = thistime.tv_sec;
  34.       strftime(buffer, sizeof(buffer), "%X", localtime(&secs));
  35.       printf("%s.%03ld-mpeg2t-%d: ",
  36.      buffer, (unsigned long)thistime.tv_usec / 1000, loglevel);
  37.       vprintf(fmt, ap);
  38.       printf("n");
  39. #endif
  40.     }
  41.     va_end(ap);
  42.   }
  43. }