Thus, we have two sleep statements: msleep <milliseconds> usleep <microseconds>
Signed-off-by: Lu Guanqun guanqun.lu@intel.com --- src/ucm/parser.c | 11 +++++++++++ src/ucm/ucm_local.h | 2 +- 2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/src/ucm/parser.c b/src/ucm/parser.c index 23b67bc..b93d832 100644 --- a/src/ucm/parser.c +++ b/src/ucm/parser.c @@ -316,6 +316,17 @@ static int parse_sequence(snd_use_case_mgr_t *uc_mgr ATTRIBUTE_UNUSED, continue; }
+ if (strcmp(cmd, "msleep") == 0) { + curr->type = SEQUENCE_ELEMENT_TYPE_SLEEP; + err = snd_config_get_integer(n, &curr->data.sleep); + if (err < 0) { + uc_error("error: msleep requires integer!"); + return err; + } + curr->data.sleep *= 1000L; + continue; + } + if (strcmp(cmd, "exec") == 0) { curr->type = SEQUENCE_ELEMENT_TYPE_EXEC; err = parse_string(n, &curr->data.exec); diff --git a/src/ucm/ucm_local.h b/src/ucm/ucm_local.h index 0522bf5..03d3ace 100644 --- a/src/ucm/ucm_local.h +++ b/src/ucm/ucm_local.h @@ -57,7 +57,7 @@ struct sequence_element { struct list_head list; unsigned int type; union { - long sleep; /* Sleep time in msecs if sleep element, else 0 */ + long sleep; /* Sleep time in microseconds if sleep element, else 0 */ char *cdev; char *cset; char *exec;