/*
* compress_get_hpointer: get the hw timestamp
* return 0 on success, negative on error
+ * returns -ERANGE if avail exceeds UINT_MAX; *avail is set to UINT_MAX
*
* @compress: compress stream on which query is made
* @avail: buffer available for write/read, in bytes
/*
* compress_get_tstamp: get the raw hw timestamp
* return 0 on success, negative on error
+ * returns -ERANGE if avail exceeds UINT_MAX; *samples is set to UINT_MAX
*
* @compress: compress stream on which query is made
* @samples: number of decoded samples played
ret = compress->ops->get_hpointer(compress->data, &_avail, tstamp);
if (ret >= 0) {
- if (_avail > UINT_MAX)
+ if (_avail > UINT_MAX) {
+ ret = -ERANGE;
_avail = UINT_MAX;
+ }
*avail = (unsigned int)_avail;
}
return ret;
ret = compress->ops->get_tstamp(compress->data, &_samples, sampling_rate);
if (ret >= 0) {
- if (_samples > UINT_MAX)
+ if (_samples > UINT_MAX) {
+ ret = -ERANGE;
_samples = UINT_MAX;
+ }
*samples = (unsigned int)_samples;
}
return ret;