[Bug 753148] opus: inband FEC is never used
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sat Aug 1 18:34:46 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=753148
Ilya Konstantinov <ilya.konstantinov at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vincent.penquerch at collabora
| |.co.uk
--- Comment #2 from Ilya Konstantinov <ilya.konstantinov at gmail.com> ---
1) last_buffer is usually not NULL but a zero-length buffer. In my tests with
'identity drop-probability=0.1', we'd never enter the FEC reconstruction code
path.
2) opus_*decode manual states:
"In the case of PLC (data==NULL) or FEC (decode_fec=1), then frame_size needs
to be exactly the duration of audio that is missing, otherwise the decoder will
not be in the optimal state to decode the next incoming packet."
Therefore, I calculate the number of missing samples from gap buffer's
duration.
For some reason, this function expects buffer to be NULL, which complicates the
code. GstAudioDecoder sends zero-length buffers (not NULL buffers) for gap
events. In which case can we expect a NULL buffer? Due to the possibility of
getting NULL buffers I've added the 'last_samples' field. If buffer is never
NULL, I'd happily delete it, and a bunch of other code.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list