libcm is a C development framework with an emphasis on audio signal processing applications.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

cmAudioPortAlsa.h 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef cmAudioPortAlsa_h
  2. #define cmAudioPortAlsa_h
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. //{ { label: cmApAlsa kw:[ audio, device, rt ] }
  7. //
  8. //(
  9. // ALSA audio device API
  10. //
  11. // This API is used by the cmAudioPort interface when
  12. // the library is compiled for a Linux platform.
  13. //
  14. //)
  15. //[
  16. cmApRC_t cmApAlsaInitialize( cmRpt_t* rpt, unsigned baseApDevIdx );
  17. cmApRC_t cmApAlsaFinalize();
  18. cmApRC_t cmApAlsaDeviceCount();
  19. const char* cmApAlsaDeviceLabel( unsigned devIdx );
  20. unsigned cmApAlsaDeviceChannelCount( unsigned devIdx, bool inputFl );
  21. double cmApAlsaDeviceSampleRate( unsigned devIdx );
  22. unsigned cmApAlsaDeviceFramesPerCycle( unsigned devIdx, bool inputFl );
  23. cmApRC_t cmApAlsaDeviceSetup(
  24. unsigned devIdx,
  25. double srate,
  26. unsigned framesPerCycle,
  27. cmApCallbackPtr_t callbackPtr,
  28. void* userCbPtr );
  29. cmApRC_t cmApAlsaDeviceStart( unsigned devIdx );
  30. cmApRC_t cmApAlsaDeviceStop( unsigned devIdx );
  31. bool cmApAlsaDeviceIsStarted( unsigned devIdx );
  32. void cmApAlsaDeviceReport( cmRpt_t* rpt );
  33. //]
  34. //}
  35. #ifdef __cplusplus
  36. }
  37. #endif
  38. #endif