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

Symbian

开发平台:

C/C++

  1. /* ***** BEGIN LICENSE BLOCK ***** 
  2.  * Version: RCSL 1.0/RPSL 1.0 
  3.  *  
  4.  * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. 
  5.  *      
  6.  * The contents of this file, and the files included with this file, are 
  7.  * subject to the current version of the RealNetworks Public Source License 
  8.  * Version 1.0 (the "RPSL") available at 
  9.  * http://www.helixcommunity.org/content/rpsl unless you have licensed 
  10.  * the file under the RealNetworks Community Source License Version 1.0 
  11.  * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, 
  12.  * in which case the RCSL will apply. You may also obtain the license terms 
  13.  * directly from RealNetworks.  You may not use this file except in 
  14.  * compliance with the RPSL or, if you have a valid RCSL with RealNetworks 
  15.  * applicable to this file, the RCSL.  Please see the applicable RPSL or 
  16.  * RCSL for the rights, obligations and limitations governing use of the 
  17.  * contents of the file.  
  18.  *  
  19.  * This file is part of the Helix DNA Technology. RealNetworks is the 
  20.  * developer of the Original Code and owns the copyrights in the portions 
  21.  * it created. 
  22.  *  
  23.  * This file, and the files included with this file, is distributed and made 
  24.  * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 
  25.  * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
  26.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS 
  27.  * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 
  28.  * 
  29.  * Technology Compatibility Kit Test Suite(s) Location: 
  30.  *    http://www.helixcommunity.org/content/tck 
  31.  * 
  32.  * Contributor(s): 
  33.  *  
  34.  * ***** END LICENSE BLOCK ***** */ 
  35. #include "hx_ut_debug.h"
  36. #include "ut_param_util.h"
  37. #include "tconvert_test.h"
  38. HLXTConvertTest::HLXTConvertTest()
  39. {
  40.     ;
  41. }
  42. HLXTConvertTest::~HLXTConvertTest()
  43. {
  44.     ;
  45. }
  46.     
  47. void HLXTConvertTest::GetCommandInfo(UTVector<HLXUnitTestCmdInfo*>& cmds)
  48. {
  49.     cmds.Resize(8);
  50.     cmds[0] = new HLXUnitTestCmdInfoDisp<HLXTConvertTest>(this, 
  51.     "Init",
  52.     &HLXTConvertTest::HandleInitCmd,
  53.     2,
  54.     3);
  55.     cmds[1] = new HLXUnitTestCmdInfoDisp<HLXTConvertTest>(this, 
  56.     "SetHXAnchor",
  57.     &HLXTConvertTest::HandleSetHXAnchorCmd,
  58.     2);
  59.     cmds[2] = new HLXUnitTestCmdInfoDisp<HLXTConvertTest>(this, 
  60.     "SetRTPAnchor",
  61.     &HLXTConvertTest::HandleSetRTPAnchorCmd,
  62.     2);
  63.     cmds[3] = new HLXUnitTestCmdInfoDisp<HLXTConvertTest>(this, 
  64.     "SetAnchor",
  65.     &HLXTConvertTest::HandleSetAnchorCmd,
  66.     3);
  67.     cmds[4] = new HLXUnitTestCmdInfoDisp<HLXTConvertTest>(this, 
  68.     "Hxa2Rtp",
  69.     &HLXTConvertTest::HandleHxa2RtpCmd,
  70.     3,
  71.     4);
  72.     cmds[5] = new HLXUnitTestCmdInfoDisp<HLXTConvertTest>(this, 
  73.     "Rtp2Hxa",
  74.     &HLXTConvertTest::HandleRtp2HxaCmd,
  75.     3,
  76.     4);
  77.     cmds[6] = new HLXUnitTestCmdInfoDisp<HLXTConvertTest>(this, 
  78.     "Hxa2Rtp_Raw",
  79.     &HLXTConvertTest::HandleHxa2RtpRawCmd,
  80.     3,
  81.     4);
  82.     cmds[7] = new HLXUnitTestCmdInfoDisp<HLXTConvertTest>(this, 
  83.     "Rtp2Hxa_Raw",
  84.     &HLXTConvertTest::HandleRtp2HxaRawCmd,
  85.     3,
  86.     4);
  87. }
  88. HLXCmdBasedTest* HLXTConvertTest::Clone() const
  89. {
  90.     return new HLXTConvertTest();
  91. }
  92. /*****************************************************************************
  93.  *  DataFile Commands
  94.  */ 
  95. bool HLXTConvertTest::HandleInitCmd(const UTVector<UTString>& info)
  96. {
  97.     bool bRetVal = false;
  98.     unsigned int val1;
  99.     unsigned int val2;
  100.     if (info.Nelements() == 2)
  101.     {
  102. if (UTParamUtil::GetUInt(info[1], val1))
  103. {
  104.     m_TSConverter.ReInit(CHXTimestampConverter::SAMPLES, val1);
  105.     bRetVal = true;
  106. }
  107.     }
  108.     else if (info.Nelements() == 3)
  109.     {
  110. if (UTParamUtil::GetUInt(info[1], val1) &&
  111.     UTParamUtil::GetUInt(info[2], val2))
  112. {
  113.     m_TSConverter.ReInit(CHXTimestampConverter::FACTORS, val1, val2);
  114.     bRetVal = true;
  115. }
  116.     }
  117.     return bRetVal;
  118. }
  119. bool HLXTConvertTest::HandleSetHXAnchorCmd(const UTVector<UTString>& info)
  120. {
  121.     bool bRetVal = false;
  122.     unsigned int val1;
  123.     if (UTParamUtil::GetUInt(info[1], val1))
  124.     {
  125. m_TSConverter.setHXAnchor(val1);
  126. bRetVal = true;
  127.     }
  128.     return bRetVal;
  129. }
  130. bool HLXTConvertTest::HandleSetRTPAnchorCmd(const UTVector<UTString>& info)
  131. {
  132.     bool bRetVal = false;
  133.     unsigned int val1;
  134.     if (UTParamUtil::GetUInt(info[1], val1))
  135.     {
  136. m_TSConverter.setRTPAnchor(val1);
  137. bRetVal = true;
  138.     }
  139.     return bRetVal;
  140. }
  141. bool HLXTConvertTest::HandleSetAnchorCmd(const UTVector<UTString>& info)
  142. {
  143.     bool bRetVal = false;
  144.     unsigned int val1;
  145.     unsigned int val2;
  146.     if (UTParamUtil::GetUInt(info[1], val1) &&
  147. UTParamUtil::GetUInt(info[2], val2))
  148.     {
  149. m_TSConverter.setAnchor(val1, val2);
  150. bRetVal = true;
  151.     }
  152.     return bRetVal;
  153. }
  154. bool HLXTConvertTest::HandleConversionCmd(const UTVector<UTString>& info, 
  155.   ConversionType convType)
  156. {
  157.     bool bRetVal = false;
  158.     unsigned int valIn;
  159.     unsigned int valOut;
  160.     unsigned int valTolerance = 0;
  161.     unsigned int result;
  162.     int diff;
  163.     if (UTParamUtil::GetUInt(info[1], valIn) &&
  164. UTParamUtil::GetUInt(info[2], valOut))
  165.     {
  166. bRetVal = true;
  167. switch (convType)
  168. {
  169. case HXA2RTP:
  170.     result = m_TSConverter.hxa2rtp(valIn);
  171.     break;
  172. case RTP2HXA:
  173.     result = m_TSConverter.rtp2hxa(valIn);
  174.     break;
  175. case HXA2RTPRAW:
  176.     result = m_TSConverter.hxa2rtp_raw(valIn);
  177.     break;
  178. case RTP2HXARAW:
  179.     result = m_TSConverter.rtp2hxa_raw(valIn);
  180.     break;
  181. default:
  182.     bRetVal = false;
  183. }
  184. if (bRetVal && (info.Nelements() > 3))
  185. {
  186.     bRetVal = UTParamUtil::GetUInt(info[3], valTolerance);
  187. }
  188. if (bRetVal)
  189. {
  190.     diff = result - valOut;
  191.     if (diff < 0)
  192.     {
  193. diff = -diff;
  194.     }
  195.     bRetVal = (diff <= valTolerance);
  196. }
  197.     }
  198.     return bRetVal;
  199. }
  200. bool HLXTConvertTest::HandleHxa2RtpCmd(const UTVector<UTString>& info)
  201. {
  202.     return HandleConversionCmd(info, HXA2RTP);
  203. }
  204. bool HLXTConvertTest::HandleRtp2HxaCmd(const UTVector<UTString>& info)
  205. {
  206.     return HandleConversionCmd(info, RTP2HXA);
  207. }
  208. bool HLXTConvertTest::HandleHxa2RtpRawCmd(const UTVector<UTString>& info)
  209. {
  210.     return HandleConversionCmd(info, HXA2RTPRAW);
  211. }
  212. bool HLXTConvertTest::HandleRtp2HxaRawCmd(const UTVector<UTString>& info)
  213. {
  214.     return HandleConversionCmd(info, RTP2HXARAW);
  215. }