audiodbmeter.h 729 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef __AUDIODBMETER_H__
  2. #define __AUDIODBMETER_H__
  3. #pragma once
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #include "audiostream.h"
  8. typedef struct audiodbmeter_t audiodbmeter_t;
  9. struct audiodbmeter_t
  10. {
  11. audiostream_t base;
  12. struct {
  13. int peak;
  14. int rms;
  15. } stat[2];
  16. };
  17. // note: 16bit pcm data
  18. apr_status_t audiodbmeter_create(apr_pool_t *pool, audioengine_t *engine, audiodbmeter_t **p_audiometer);
  19. apr_status_t audiodbmeter_destroy(audiodbmeter_t *audiometer);
  20. apr_status_t audiodbmeter_get_peak_db(audiodbmeter_t *audiometer, int direction, int *pval);
  21. apr_status_t audiodbmeter_get_rms_db(audiodbmeter_t *audiometer, int direction, int *pval);
  22. #ifdef __cplusplus
  23. } // extern "C" {
  24. #endif
  25. #endif //__AUDIODBMETER_H__