From b8565d3ab6481e85848f810af076a87c18fa572d Mon Sep 17 00:00:00 2001 From: Vincent Penquerc'h Date: Wed, 4 Mar 2015 09:24:27 +0000 Subject: [PATCH] opusdec: fix latency query in FEC case The max latency parameter is "the maximum time an element synchronizing to the clock is allowed to wait for receiving all data for the current running time" (docs/design/part-latency.txt). https://bugzilla.gnome.org/show_bug.cgi?id=744338 --- ext/opus/gstopusdec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c index 366b6b81ca..cfa711a18c 100644 --- a/ext/opus/gstopusdec.c +++ b/ext/opus/gstopusdec.c @@ -181,11 +181,11 @@ gst_opus_dec_start (GstAudioDecoder * dec) gst_audio_decoder_set_plc_aware (dec, TRUE); if (odec->use_inband_fec) { - /* FIXME: Is our maximum latency really 120ms, i.e. are we going - * to buffer up to 120ms? + /* opusdec outputs samples directly from an input buffer, except if + * FEC is on, in which case it buffers one buffer in case one buffer + * goes missing. */ - gst_audio_decoder_set_latency (dec, 2 * GST_MSECOND + GST_MSECOND / 2, - 120 * GST_MSECOND); + gst_audio_decoder_set_latency (dec, 120 * GST_MSECOND, 120 * GST_MSECOND); } return TRUE;