USBD_Audio_OS_RingBufQLockAcquire
Description
Wait for a stream ring buffer queue to become available and acquire its lock.
Files
usbd_audio_os.h / usbd_audio_os.c
Prototype
void USBD_Audio_OS_RingBufQLockAcquire (CPU_INT08U as_if_nbr, CPU_INT16U timeout_ms, USBD_ERR *p_err);
Arguments
as_if_settings_ix
AudioStreaming interface settings index.
timeout_ms
Lock wait timeout in milliseconds.
p_err
Pointer to variable that will receive the return error code from this function.
USBD_ERR_NONE
USBD_ERR_OS_TIMEOUT
USBD_ERR_OS_ABORT
USBD_ERR_OS_FAIL
Returned Value
None.
Callers
Audio Class.
Implementation guidelines
- Typical implementation will consist in pending on a mutex or binary semaphore.
p_err
argument should be assigned as described in following table.
Table - Error Code Assignment for Pending on a Lock
Operation result | Error code to assign |
---|---|
No error |
|
Pend timeout |
|
Pend aborted |
|
Pend failed for any other reason |
|