[Bug 771723] opusdec: too short buffers trigger error instead of PLC
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Nov 2 09:26:31 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=771723
Håvard Graff (hgr) <havard.graff at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |havard.graff at gmail.com
--- Comment #18 from Håvard Graff (hgr) <havard.graff at gmail.com> ---
The idea of the lost(gap) event is to be able to conceal a lost packet in a
stream so that it is not noticeable for the listener that a packet was indeed
lost.
If you have a stream of packets like this:
seq: 1 2 3 4
dur: 10ms 10ms 10ms 10ms
ts: 0ms 10ms 20ms 30ms
But instead you get this:
seq: 1 ? 3 4
dur: 10ms ? 10ms 10ms
ts: 0ms ? 20ms 30ms
The gap event will provide you with a timestamp and a duration that you can use
to fill in this gap, in our case the timestamp and duration of that gap-event
would match perfectly like this:
seq: 1 GAP 3 4
dur: 10ms 10ms 10ms 10ms
ts: 0ms 10ms 20ms 30ms
Now the "opusdec: fix "buffer too small" error" will always overwrite the
calculated samples based on the gap-duration, and replace it with 120ms, like
so:
seq: 1 GAP 3 4
dur: 10ms 120ms 10ms 10ms
ts: 0ms 10ms 130ms 140ms
And that will end up both producing a lot of silence in the middle of the
stream, as well as skewing the timestamps for the following packets, breaking
synchronization.
Probably not a good idea?
--
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