auddrv.c
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:35k
源码类别:

DVD

开发平台:

C/C++

  1. /***********************************************************************
  2.  *  2004.10 System Dept.VI      Oliver Chen
  3.  *
  4.  *  This file is all about audio related driver interface.
  5.  *  Please control the audio h/w, DSP, board, and pin config 
  6.  *  through these APIs.
  7.  ***********************************************************************/
  8. #include "auddrv.h"
  9. #include "gpio.h"
  10. #include "kinf.h"
  11. #include "ninf.h"
  12. #include "file_if.h" //for Wave format related APIs
  13. #include "setup_def.h"
  14. extern UINT8 setup_sel[MAX_SETUP_PAGE + MAX_CUSTM_SETUP_PAGE][MAX_PAGE_ITEM];
  15. extern const UINT8 setup_item[MAX_SETUP_PAGE + MAX_CUSTM_SETUP_PAGE][MAX_PAGE_ITEM][MAX_ITEM_SEL];
  16. #include "setup_page.h"
  17. extern UINT8 power_on_mute;
  18. #ifdef SPHE1000 //bktesng, 2004/12/09, To get audio info for Linux AP.
  19. #include "driver/message.h"
  20. extern share_info_t *pDVB;
  21. #endif
  22. extern void delay_srv_10ms(int tms);
  23. extern BYTE wait_dsp_port0_5(int port0,int port5,int val,UINT32 risc_waiting_dsp_tm);
  24. extern int ReadFromI2c(int,int,BYTE *,int);
  25. #ifdef SUPPORT_MP4
  26. extern BYTE GetCurrentFileType();
  27. int mp4_aud_channel_flg=0;
  28. int mp4_aud_channel=0;
  29. #endif
  30. #ifdef SUPPORT_MIDI
  31. extern UINT8 gIsMidiSelMenu;
  32.     #ifdef  SUPPORT_MIDIDISK_TITLE
  33.         extern BYTE bIsPlayMidiTitle;
  34.     #endif
  35. #endif
  36. INT8 mic_volume=8;
  37. /***********************************************************************
  38.  *  Code Session
  39.  ***********************************************************************/
  40. // FUNCTION DESCRIPTION : wait until turn to STOP(ready) status
  41. //  
  42. void AUDIF_Wait_DSPReady(int dspChanged)
  43. {
  44.     //delay_srv_10ms(2);//2004/3/8 11:40PM,terry
  45.     wait_dsp_port0_5(0,1,0,200000);//terry,2003/8/8 03:46AM
  46.                 
  47.     //If AC3, we need to set some configure(subwoofer, speaker gain, speaker delay)
  48.     if(coding_mode_now==AUDIF_CODING_MODE_AC3) {
  49.         setup_SetAC3Config();
  50.     }
  51.             
  52.     if(dspChanged) {
  53.         //set common audio configure when DSP audio change
  54.         if((cd_type_loaded==CDDA)&&(coding_mode_now==AUDIF_CODING_MODE_DTSCD)){ //Jeff 20020719            
  55.             delay_srv_10ms(15);
  56.         }
  57.       #ifdef SUPPORT_DSPMUTE
  58.         regs0->dsp24_port[14] = 0x0;   // for dsp mute benson 2004/7/12 01:13