chxavtimevalue.cpp
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:1k
源码类别:

Symbian

开发平台:

C/C++

  1. /*============================================================================*
  2.  *
  3.  * (c) 1995-2002 RealNetworks, Inc. Patents pending. All rights reserved.
  4.  *
  5.  *============================================================================*/
  6.  
  7. //
  8. // normalize:
  9. //
  10. //  normalize sec and usec in a TimeValue
  11. //  This code was lifted from Doug Schmidt's ACE network communication package.
  12. //
  13. //
  14. #include "chxavtimevalue.h"
  15. static const long ONE_SECOND = 1000000L;
  16. void
  17. CHXAvTimeValue::normalize ()
  18. {
  19.     // New code from Hans Rohnert...
  20.     if (this->usec_ >= ONE_SECOND)
  21.     {
  22. do
  23.     this->sec_++;
  24.     this->usec_ -= ONE_SECOND;
  25. }
  26. while (usec_ >= ONE_SECOND);
  27.     }
  28.     else if (this->usec_ <= -ONE_SECOND)
  29.     {
  30. do
  31.     this->sec_--;
  32.     this->usec_ += ONE_SECOND;
  33. }
  34. while (this->usec_ <= -ONE_SECOND);
  35.     }
  36.   
  37.     if (this->sec_ >= 1 && this->usec_ < 0)
  38.     {
  39. this->sec_--;
  40. this->usec_ += ONE_SECOND;
  41.     }
  42.     else if (this->sec_ < 0 && this->usec_ > 0)
  43.     {
  44. this->sec_++;
  45. this->usec_ -= ONE_SECOND;
  46.     }
  47. }