tconvert_test.cpp
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:7k
源码类别:

Symbian

开发平台:

Visual C++

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