audiodecoder: fix invalid timestamps when PLC and delay
authorMikhail Fludkov <misha@pexip.com>
Tue, 5 Apr 2016 10:41:45 +0000 (12:41 +0200)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 16 Jun 2016 10:01:04 +0000 (11:01 +0100)
commit8d4f79b640071b24aa14f0c3e97c03bdb62d002c
tree2ae974afc5b23065f76ca419f1228bf659ba4911
parent5dd720e064f6740fcf41afd706d10afe21048f12
audiodecoder: fix invalid timestamps when PLC and delay

Elements inherited from GstAudioDecoder, supporting PLC and introducing
delay produce invalid timestamps. Good example is opusdec with in-band FEC
enabled. After receiving GAP event it delays the audio concealment until
the next buffer arrives. The next buffer will have DISCONT flag set which
will make GstAudioDecoder to reset it's internal state, thus forgetting
the timestamp of GAP event. As a result the concealed audio will have the
timestamp of the next buffer (with DISCONT flag) but not the timestamp
from the event.
gst-libs/gst/audio/gstaudiodecoder.c
tests/check/libs/audiodecoder.c