USBD_Audio_OS_AS_IF_LockAcquire

Description

Wait for an AudioStreaming interface to become available and acquire its lock.

Files

usbd_audio_os.h / usbd_audio_os.c

Prototype

void  USBD_Audio_OS_AS_IF_LockAcquire (CPU_INT08U   as_if_nbr,
                                       CPU_INT16U   timeout_ms,
                                       USBD_ERR    *p_err);


Arguments

as_if_nbr

AudioStreaming interface 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 resultError code to assign
No errorUSBD_ERR_NONE
Pend timeoutUSBD_ERR_OS_TIMEOUT
Pend abortedUSBD_ERR_OS_ABORT
Pend failed for any other reasonUSBD_ERR_OS_FAIL