thg_apm.c
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:7k
源码类别:

DVD

开发平台:

Others

  1. /*******************************************************************************
  2. * Copyright(c) Philips Consumer Electronics B.V. 2001
  3. * The attached material and the information contained therein is proprietary
  4. * to Philips and is issued only under strict confidentiality arrangements.
  5. * It shall not be used, reproduced, copied in whole or in part, adapted,
  6. * modified, or disseminated without a written license of Philips.           
  7. * It must be returned to Philips upon its first request.
  8. *
  9. *  Project:        SA-MP ( Super Audio Media Player )
  10. *  File %name:     thg_apm.c %
  11. *  %version:       12 %
  12. *  %date_modified: Tue Feb 26 17:57:38 2002 %
  13. *  %derived_by:    kokh %
  14. *  Creation date:  Thu Jun 14 16:08:32 2001
  15. *  First author:   klerxm
  16. *
  17. *  Advanced Systems and Applications Lab - Eindhoven
  18. *
  19. *  Continuus %full_filespec: thg_apm.c~12:csrc:1 %
  20. *
  21. *  Description:    Test harness of the Audio Presentation Manager
  22. *
  23. * Change history:
  24. *
  25. * Rev  Date       Who      Comments
  26. * ---- ---------- -------- -----------------------------------------------------
  27. *   1  2001-06-06 klerxm   Dummy version
  28. *   2  2001-06-14 klerxm   Template update
  29. *   3  2001-08-21 potm     First real version
  30. *   4  2001-09-04 klerxm   Changes required for new global header files
  31. *   5  2001-10-29 potm     Added second parameter to SetInputChannels
  32. *   6  2001-11-30 coenen   Added Init, Term and SetBassFilters
  33. * 7-8  
  34. *   9  2002-02-12 potm     Attenuation now set all at once (PR297)
  35. *  10  2002-02-22 potm     Adapted to new prototype of SetInputChannels (CR260)
  36. *  11  2002-02-22 potm     Fixed compiler warning
  37. *  12  2002-02-27 kokh     TH_Send -> SAMP(TH_Send)
  38. *
  39. *******************************************************************************/
  40. #define COMP_PREFIX "APM"
  41. /*******************************************************************************
  42. *                                Include Files
  43. *******************************************************************************/
  44. #include "config.h"
  45. #ifdef TEST_HARNASS
  46. #include <samp_gen.h>
  47. #include <samp_apm.h>
  48. #include <samp_apm_exp.h>
  49. #if 0
  50. #include <apm.h>
  51. #endif
  52. #include <testharn.h>
  53. #include <glue_test.h>
  54. /*******************************************************************************
  55. *                               Macro Definitions
  56. *******************************************************************************/
  57. /*******************************************************************************
  58. *                               Data Definitions
  59. *******************************************************************************/
  60. /*******************************************************************************
  61. *                              Function prototype
  62. *******************************************************************************/
  63. DECLARE_GROUPFUNC(THG_APM)
  64. /*******************************************************************************
  65. *                          Global test-harness function
  66. *******************************************************************************/
  67. DEFINE_GROUPFUNC(THG_APM)
  68. #ifdef THGAPM
  69.   SAMP(ErrCode) lErr = SAMP(ERR_OK);
  70.   SAMP(UInt32) param1, param2, paramArray[6];
  71.   GROUP_SWITCH
  72. #if 0  
  73.   CASE_CMD( "Init" )
  74.     lErr = SAMP_EXP(APM_Init)();
  75.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  76.   END_CASE
  77.   CASE_CMD( "Term" )
  78.     lErr = SAMP_EXP(APM_Term)();
  79.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  80.   END_CASE
  81.   CASE_CMD( "SetInputChannels" )
  82.     TH_GetParam (OPTIONS, "%u%u", &param1);
  83.     lErr = SAMP_EXP(APM_SetInputChannels)((SAMP(SACD_ChannelsConfigDef))param1);
  84.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  85.   END_CASE
  86. #endif
  87.   CASE_CMD( "SetInputMode" )
  88.     TH_GetParam (OPTIONS, "%u", &param1);
  89.     lErr = SAMP_EXP(APM_SetInputMode)(param1);
  90.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  91.   END_CASE
  92.   CASE_CMD( "SetOutputMode" )
  93.     TH_GetParam (OPTIONS, "%u%u", &param1, &param2);
  94.     lErr = SAMP_EXP(APM_SetOutputMode)(param1, param2);
  95.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  96.   END_CASE
  97.   CASE_CMD( "Set6chDownmix" )
  98.     TH_GetParam (OPTIONS, "%u", &param1);
  99.     lErr = SAMP_EXP(APM_Set6chDownmix)(param1);
  100.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  101.   END_CASE
  102.   CASE_CMD( "Set2chDownmix" )
  103.     TH_GetParam (OPTIONS, "%u", &param1);
  104.     lErr = SAMP_EXP(APM_Set2chDownmix)(param1);
  105.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  106.   END_CASE
  107.   CASE_CMD( "SetSpeakers" )
  108.     TH_GetParam (OPTIONS, "%u", &param1);
  109.     lErr = SAMP_EXP(APM_SetSpeakers)(param1);
  110.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  111.   END_CASE
  112.   CASE_CMD( "SetAttenuation" )
  113.     SAMP(UInt32) lInput[8];
  114.     SAMP(UInt16) lAttenuation[8], lChannelIndex;
  115.     TH_GetParam (OPTIONS, "%u%u%u%u%u%u%u%u", &lInput[0], &lInput[1], &lInput[2], &lInput[3],
  116.                                               &lInput[4], &lInput[5], &lInput[6], &lInput[7]);
  117.     for(lChannelIndex = 0; lChannelIndex < 8; lChannelIndex++)
  118.     {
  119.       lAttenuation[lChannelIndex] = (SAMP(UInt16))lInput[lChannelIndex];
  120.     }
  121.     lErr = SAMP_EXP(APM_SetAttenuation)(lAttenuation);
  122.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  123.   END_CASE
  124.   CASE_CMD( "SetDelay" )
  125.     TH_GetParam (OPTIONS, "%u%u%u%u%u%u", &paramArray[0], &paramArray[1],
  126.                                           &paramArray[2], &paramArray[3],
  127.                                           &paramArray[4], &paramArray[5]);
  128.     lErr = SAMP_EXP(APM_SetDelay)(paramArray);
  129.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  130.   END_CASE
  131.   CASE_CMD( "SetFilterMode" )
  132.     TH_GetParam (OPTIONS, "%u", &param1);
  133.     lErr = SAMP_EXP(APM_SetFilterMode)(param1);
  134.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  135.   END_CASE
  136.   CASE_CMD( "SetPcmUpsampling" )
  137.     TH_GetParam (OPTIONS, "%u", &param1);
  138.     lErr = SAMP_EXP(APM_SetPcmUpsampling)((SAMP(UInt8))param1);
  139.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  140.   END_CASE
  141.   CASE_CMD( "SetBassFilters" )
  142.     TH_GetParam (OPTIONS, "%u%u", &param1, &param2);
  143.     lErr = SAMP_EXP(APM_SetBassFilters)( param1, param2 );
  144.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  145.   END_CASE
  146.   CASE_CMD("SetPIO")
  147.     TH_GetParam (OPTIONS, "%u", &param1);
  148.     lErr = SAMP_EXP(APM_SetPIO)((SAMP(BitSet16))param1);
  149.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%u", lErr);
  150.   END_CASE
  151.   DEFAULT
  152.     SAMP(TH_Send)(COMP_PREFIX, cmd, "%s", "Unknown command");
  153.   END_CASE
  154. #endif
  155. END_GROUPFUNC
  156. /*******************************************************************************
  157. *                                 End of File
  158. *******************************************************************************/
  159. #endif