- /** Processes incomming control requests from the host, that are directed to the given Audio class interface. This should be\r
- * linked to the library \ref EVENT_USB_UnhandledControlPacket() event.\r
+ /** Processes incoming control requests from the host, that are directed to the given Audio class interface. This should be\r
+ * linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.\r
+ *\r
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state\r
+ */\r
+ void Audio_Device_ProcessControlRequest(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
+ \r
+ /** Determines if the given audio interface is ready for a sample to be read from it, and selects the streaming\r
+ * OUT endpoint ready for reading.\r
+ *\r
+ * \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or\r
+ * the call will fail.\r
+ *\r
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state\r
+ *\r
+ * \return Boolean true if the given Audio interface has a sample to be read, false otherwise\r
+ */\r
+ bool Audio_Device_IsSampleReceived(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo);\r
+\r
+ /** Determines if the given audio interface is ready to accept the next sample to be written to it, and selects\r
+ * the streaming IN endpoint ready for writing.\r
+ *\r
+ * \note This function must only be called when the Device state machine is in the DEVICE_STATE_Configured state or\r
+ * the call will fail.\r
+ *\r
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state\r