Fix short length detection.
aa6fec66
added a check to reject modes with shorts longer than
3.33 ms (less than 300 per second).
However, it only rejected modes which could not be split at all.
This expands the check to also reject modes which, even after
splitting the maximum amount, still do not have shorts less than
3.33 ms.
This commit is contained in:
parent
51c786241b
commit
cf5d3a8cf2
1 changed files with 3 additions and 2 deletions
|
@ -323,12 +323,13 @@ CELTMode *celt_mode_create(celt_int32 Fs, int frame_size, int *error)
|
|||
} else if ((celt_int32)frame_size*300 >= Fs && (frame_size%4)==0)
|
||||
{
|
||||
LM = 1;
|
||||
} else if ((celt_int32)frame_size*300 <= Fs)
|
||||
} else
|
||||
{
|
||||
LM = 0;
|
||||
}
|
||||
|
||||
/* Shorts longer than 3.3ms are not supported. */
|
||||
else
|
||||
if ((celt_int32)(frame_size>>LM)*300 > Fs)
|
||||
{
|
||||
if (error)
|
||||
*error = CELT_INVALID_MODE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue