mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-15 07:00:05 -05:00
context: avoid some scaling overflows
Make a macro to scale without overflows and use this in the context.
This commit is contained in:
parent
eb462302b7
commit
fa15af376f
2 changed files with 12 additions and 5 deletions
|
|
@ -292,6 +292,13 @@ struct spa_fraction {
|
|||
#define SPA_ROUND_DOWN_N(num,align) ((num) & ~SPA_ROUND_MASK(num, align))
|
||||
#define SPA_ROUND_UP_N(num,align) ((((num)-1) | SPA_ROUND_MASK(num, align))+1)
|
||||
|
||||
#define SPA_SCALE32(val,num,denom) \
|
||||
({ \
|
||||
uint64_t _val = (val); \
|
||||
uint64_t _denom = (denom); \
|
||||
(uint32_t)(((_val) * (num)) / (_denom)); \
|
||||
})
|
||||
|
||||
#define SPA_SCALE32_UP(val,num,denom) \
|
||||
({ \
|
||||
uint64_t _val = (val); \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue