Remove redundant code
frame_size_select() ensures that frame_size is a valid size or -1,
!st->variable_duration is always false, and delay_compensation is
no longer needed to choose the frame size.
diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index 226a2de..bb94ec1 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -1105,12 +1105,7 @@
max_data_bytes = IMIN(1276, out_data_bytes);
st->rangeFinal = 0;
- if ((!st->variable_duration && 400*frame_size != st->Fs && 200*frame_size != st->Fs && 100*frame_size != st->Fs &&
- 50*frame_size != st->Fs && 25*frame_size != st->Fs && 50*frame_size != 3*st->Fs && 50*frame_size != 4*st->Fs &&
- 50*frame_size != 5*st->Fs && 50*frame_size != 6*st->Fs)
- || (400*frame_size < st->Fs)
- || max_data_bytes<=0
- )
+ if (frame_size <= 0 || max_data_bytes <= 0)
{
RESTORE_STACK;
return OPUS_BAD_ARG;
diff --git a/src/opus_multistream_encoder.c b/src/opus_multistream_encoder.c
index ed93c89..2c4dca2 100644
--- a/src/opus_multistream_encoder.c
+++ b/src/opus_multistream_encoder.c
@@ -864,26 +864,8 @@
opus_encoder_ctl((OpusEncoder*)ptr, OPUS_GET_VBR(&vbr));
opus_encoder_ctl((OpusEncoder*)ptr, CELT_GET_MODE(&celt_mode));
- {
- opus_int32 delay_compensation;
-
- opus_encoder_ctl((OpusEncoder*)ptr, OPUS_GET_LOOKAHEAD(&delay_compensation));
- delay_compensation -= Fs/400;
- frame_size = frame_size_select(analysis_frame_size, st->variable_duration, Fs);
- }
-
- if (400*frame_size < Fs)
- {
- RESTORE_STACK;
- return OPUS_BAD_ARG;
- }
- /* Validate frame_size before using it to allocate stack space.
- This mirrors the checks in opus_encode[_float](). */
- if (400*frame_size != Fs && 200*frame_size != Fs &&
- 100*frame_size != Fs && 50*frame_size != Fs &&
- 25*frame_size != Fs && 50*frame_size != 3*Fs &&
- 50*frame_size != 4*Fs && 50*frame_size != 5*Fs &&
- 50*frame_size != 6*Fs)
+ frame_size = frame_size_select(analysis_frame_size, st->variable_duration, Fs);
+ if (frame_size <= 0)
{
RESTORE_STACK;
return OPUS_BAD_ARG;