Index: third_party/opus/src/src/opus_decoder.c |
diff --git a/third_party/opus/src/src/opus_decoder.c b/third_party/opus/src/src/opus_decoder.c |
index 080bec5072a1d3f21ac42e9334dc5593112c115f..149ae7f21d8bb4167fcc9262d32d4393b319f460 100644 |
--- a/third_party/opus/src/src/opus_decoder.c |
+++ b/third_party/opus/src/src/opus_decoder.c |
@@ -891,7 +891,7 @@ int opus_decoder_ctl(OpusDecoder *st, int request, ...) |
break; |
case OPUS_GET_LAST_PACKET_DURATION_REQUEST: |
{ |
- opus_uint32 *value = va_arg(ap, opus_uint32*); |
+ opus_int32 *value = va_arg(ap, opus_int32*); |
if (!value) |
{ |
goto bad_arg; |
@@ -899,6 +899,26 @@ int opus_decoder_ctl(OpusDecoder *st, int request, ...) |
*value = st->last_packet_duration; |
} |
break; |
+ case OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST: |
+ { |
+ opus_int32 value = va_arg(ap, opus_int32); |
+ if(value<0 || value>1) |
+ { |
+ goto bad_arg; |
+ } |
+ celt_decoder_ctl(celt_dec, OPUS_SET_PHASE_INVERSION_DISABLED(value)); |
+ } |
+ break; |
+ case OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST: |
+ { |
+ opus_int32 *value = va_arg(ap, opus_int32*); |
+ if (!value) |
+ { |
+ goto bad_arg; |
+ } |
+ celt_decoder_ctl(celt_dec, OPUS_GET_PHASE_INVERSION_DISABLED(value)); |
+ } |
+ break; |
default: |
/*fprintf(stderr, "unknown opus_decoder_ctl() request: %d", request);*/ |
ret = OPUS_UNIMPLEMENTED; |