History: usbh_cd_audio

This page describes all changes made to the usbh_cd_audio package, the USBH Audio class driver, since its release.


3.13 (2020-05-18, 17:10):

  • usbh_audio_play() can return USBH_AUDIO_ERR_CL_BUF_SMALL which means that USBH_AUDIO_CL_BUF_SIZE (config_usbh_audio.h) is not large enough to handle the requested playback on the connected audio device. If this happens USBH_AUDIO_CL_BUF_SIZE should be increased. 

3.12 (2020-03-16, 13:44):

  • HID volume control failed if report with zero value arrived a few ms after report with non-zero value.

3.11r2 (2018-08-29, 18:27):

  • Document HTML link added to the documentation folder.
  • History and document files renamed to the package name.


  • usbh_audio_present() could incorrectly report the presence of the device right after disconnecting it.


  • Updated to work with the latest HID class driver.


  • Access to functions needing connected state from connect callback notification was not allowed ( e.g. usbh_audio_get_port_hdl() ).


  • Updated to work with USB host base major version 3.


  • Updated to work with HID class driver v2.12 and above.


  • Streaming lockup could occur on slower systems, therefore streaming transfers were reorganized.
  • Compilation failed if USBH_AUDIO_HID_ENABLE was not set.
  • Terminal search optimized.
  • Warnings removed.


  • Use of new HID generic v4.0.


  • Warnings removed.


  • HID generic MAJOR number check changed to 3.


  • psp_endianness.h used instead of psp_endiness.h.
  • usbh_utils version number check removed.


  • If USBH_AUDIO_HID_ENABLE was set to zero then some compilation errors occurred due to unknown function calls.


  • API redesigned, most of the functions will use terminal information structure to identify the stream (audio device, stream/alt.stream to use and entity path).
  • Entity handling completely redesigned, any type of link supported.
  • Entity configurations removed, instead USBH_AUDIO_DSC_BUF_SIZE needs to be defined that holds all information about entities, links, audio stream control and format information.


  • Needless version checks removed from API header file.
  • Return codes changed from enum to #define.
  • Notification codes changed from enum to #define.
  • usbh_audio_init() could return success even if task creation failed.
  • usbh_audio_delete() returned AUDIO error codes instead of USBH error codes.
  • Memory corruption could happen if more alternate streaming interfaces were available than MAX_STREAM_INTERFACE.
  • All notification callbacks are cast to (void) to avoid warnings this is required because notification functions return an error code.
  • USBH_SHORT_PACKET report accepted if at feedback transfer.


  • OAL resource initialization changed. It will free resources from init in case of failure.