audiocommon.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "precompile.h"
  2. #include "audiocommon.h"
  3. #include "audiolog.h"
  4. #include "codec/codecmgr.h"
  5. #include "codec/g711codec.h"
  6. #include "codec/gsmcodec.h"
  7. #include "codec/adpcmcodec.h"
  8. #include "codec/g729acodec.h"
  9. #include <portaudio.h>
  10. #include <pa_debugprint.h>
  11. static int g_initialized = 0;
  12. static void __PaUtilLogCallback (const char *log)
  13. {
  14. audio_log(AUDIO_LOG_LEVEL_INFO, log);
  15. }
  16. apr_status_t audioframework_init()
  17. {
  18. if (g_initialized ++ == 0) {
  19. apr_initialize();
  20. Pa_Initialize();
  21. PaUtil_SetDebugPrintFunction(&__PaUtilLogCallback);
  22. codec_factory_factory_init();
  23. g711_codec_factory_init();
  24. //bv_codec_factory_init();
  25. gsm_codec_factory_init();
  26. adpcm_codec_factory_init();
  27. g729a_codec_factory_init();
  28. }
  29. return APR_SUCCESS;
  30. }
  31. apr_status_t audioframework_term()
  32. {
  33. --g_initialized;
  34. if (g_initialized == 0) {
  35. g729a_codec_factory_term();
  36. adpcm_codec_factory_term();
  37. gsm_codec_factory_term();
  38. //bv_codec_factory_term();
  39. g711_codec_factory_term();
  40. Pa_Terminate();
  41. apr_terminate();
  42. }
  43. return APR_SUCCESS;
  44. }