fyf_adec.h
上传用户:sunhongbo
上传日期:2022-01-25
资源大小:3010k
文件大小:5k
源码类别:

数据库系统

开发平台:

C/C++

  1. /******************************************************************************/
  2. /*    Copyright (c) 2008 Embedded Internet Solutions, Inc                     */
  3. /*    All rights reserved. You are not allowed to copy or distribute          */
  4. /*    the code without permission.                                            */
  5. /*    This is the demo implenment of the Porting APIs needed by            */
  6. /*    MiddleWare.                                                             */
  7. /*    Maybe you should modify it accorrding to Platform.                      */
  8. /*                                                                            */
  9. /*    $author szhy 2008/09/26                                              */
  10. /******************************************************************************/
  11. #ifndef  __FYF_ADEC_H_
  12. #define __FYF_ADEC_H_
  13. typedef enum
  14. {
  15.   FYF_AV_SOURCE_DEMUX,
  16.   FYF_AV_SOURCE_MANUAL
  17. }FYF_AV_SOURCE_TYPE_e;
  18. typedef enum
  19. {
  20.     FYF_AUDIO_CODEC_DEFAULT,              /* don’t assigned by iPanel Middleware*/
  21.     FYF_AUDIO_CODEC_MPEG        = 0x3,    /* MPEG1/2, layer 1/2. */
  22.     FYF_AUDIO_CODEC_MP3         = 0x4,    /* MPEG1/2, layer 3. */
  23.     FYF_AUDIO_CODEC_AAC         = 0xF,    /* Advanced audio coding. Part of MPEG-4 */
  24.     FYF_AUDIO_CODEC_AAC_PLUS    = 0x11,   /*AAC plus SBR. aka MPEG-4 High Efficiency (AAC-HE)*/
  25.     FYF_AUDIO_CODEC_AC3         = 0x81,   /* Dolby Digital AC3 audio */
  26.     FYF_AUDIO_CODEC_AC3_PLUS    = 0x6     /* Dolby Digital Plus (AC3+ or DDP) audio */
  27. }FYF_ADEC_ADUIO_FORMAT_e;
  28. typedef enum
  29. {
  30. FYF_DISABLE,
  31. FYF_ENABLE
  32. }FYF_SWITCH_e;
  33. typedef enum
  34. {
  35.     FYF_AUDIO_MODE_STEREO            = 0,   // 立体声
  36.     FYF_AUDIO_MODE_LEFT_MONO         = 1,   // 左声道
  37.     FYF_AUDIO_MODE_RIGHT_MONO        = 2,   // 右声道
  38.     FYF_AUDIO_MODE_MIX_MONO          = 3,   // 左右声道混合
  39.     FYF_AUDIO_MODE_STEREO_REVERSE    = 4    // 立体声,左右声道反转
  40. }FYF_ADEC_CHANNEL_OUT_MODE_e;
  41. typedef enum
  42. {
  43.     FYF_ADEC_SET_SOURCE = 1,
  44.     FYF_ADEC_START,
  45.     FYF_ADEC_STOP,
  46.     FYF_ADEC_PAUSE,
  47.     FYF_ADEC_RESUME,
  48.     FYF_ADEC_CLEAR,
  49.     FYF_ADEC_SYNCHRONIZE,
  50.     FYF_ADEC_SET_CHANNEL_MODE,
  51.     FYF_ADEC_SET_MUTE,
  52.     FYF_ADEC_SET_PASS_THROUGH,
  53.     FYF_ADEC_SET_VOLUME,
  54.     FYF_ADEC_GET_BUFFER_RATE,
  55.     FYF_ADEC_STREAM_INPUT /* 判断有没有音频流输入 */
  56. }FYF_ADEC_IOCTL_e;
  57. typedef struct
  58. {
  59. BU32 (*FYF_CPI_adec_open)(void);
  60. BS32 (*FYF_CPI_adec_close)(BU32 decoder);
  61. BS32 (*FYF_CPI_adec_ioctl)(BU32 decoder, FYF_ADEC_IOCTL_e op, void *arg);
  62. }FYF_ADEC_PORTING;
  63. /******************************************************************************/
  64. /*Description: register adec                                                 */
  65. /*Input      : porting       */
  66. /*Output     : no                                                             */
  67. /*Return     : no                                                             */
  68. /******************************************************************************/
  69. void FYF_API_adec_register(FYF_ADEC_PORTING *porting);
  70. /******************************************************************************/
  71. /*Description: adec open                                                      */
  72. /*Input      : no                      */
  73. /*Output     : no                                                             */
  74. /*Return     : >0 success, 0 failure                                          */
  75. /******************************************************************************/
  76. BU32 FYF_API_adec_open(void);
  77. /******************************************************************************/
  78. /*Description: adec close                                                     */
  79. /*Input      : decoder                   */
  80. /*Output     : no                                                             */
  81. /*Return     : FYF_OK: success, FYF_ERR: failure                              */
  82. /******************************************************************************/
  83. BS32 FYF_API_adec_close(BU32 decoder);
  84. /******************************************************************************/
  85. /*Description: adec ioctl                                                     */
  86. /*Input      : decoder,op                 */
  87. /*Output     : arg                                                            */
  88. /*Return     : FYF_OK: success, FYF_ERR: failure                              */
  89. /******************************************************************************/
  90. BS32 FYF_API_adec_ioctl(BU32 decoder, FYF_ADEC_IOCTL_e op, void *arg);
  91. #endif