Loss rate adaptation for the CELT layer
This commit is contained in:
parent
fa869134da
commit
d2124cdf0d
2 changed files with 8 additions and 3 deletions
2
celt
2
celt
|
@ -1 +1 @@
|
||||||
Subproject commit d25dd2bff9f111fcc8d2de802c1cca337db27873
|
Subproject commit cb73e5ca62f93f530e65b244cf52f905a727d04d
|
|
@ -583,7 +583,10 @@ int opus_encoder_ctl(OpusEncoder *st, int request, ...)
|
||||||
case OPUS_SET_PACKET_LOSS_PERC_REQUEST:
|
case OPUS_SET_PACKET_LOSS_PERC_REQUEST:
|
||||||
{
|
{
|
||||||
int value = va_arg(ap, int);
|
int value = va_arg(ap, int);
|
||||||
|
if (value < 0 || value > 100)
|
||||||
|
return OPUS_BAD_ARG;
|
||||||
st->silk_mode.packetLossPercentage = value;
|
st->silk_mode.packetLossPercentage = value;
|
||||||
|
celt_encoder_ctl(st->celt_enc, CELT_SET_LOSS_PERC(value));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case OPUS_GET_PACKET_LOSS_PERC_REQUEST:
|
case OPUS_GET_PACKET_LOSS_PERC_REQUEST:
|
||||||
|
@ -609,7 +612,7 @@ int opus_encoder_ctl(OpusEncoder *st, int request, ...)
|
||||||
{
|
{
|
||||||
int value = va_arg(ap, int);
|
int value = va_arg(ap, int);
|
||||||
if (value>100 || value<0)
|
if (value>100 || value<0)
|
||||||
return OPUS_BAD_ARG;
|
goto bad_arg;
|
||||||
st->voice_ratio = value;
|
st->voice_ratio = value;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -635,9 +638,11 @@ int opus_encoder_ctl(OpusEncoder *st, int request, ...)
|
||||||
fprintf(stderr, "unknown opus_encoder_ctl() request: %d", request);
|
fprintf(stderr, "unknown opus_encoder_ctl() request: %d", request);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
return OPUS_OK;
|
return OPUS_OK;
|
||||||
|
bad_arg:
|
||||||
|
va_end(ap);
|
||||||
|
return OPUS_BAD_ARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
void opus_encoder_destroy(OpusEncoder *st)
|
void opus_encoder_destroy(OpusEncoder *st)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue