Commit 882a710c authored by Wim Taymans's avatar Wim Taymans
Browse files

ext/speex/gstspeexdec.c: Produce concealment data when time progresses in a segment update.

Original commit message from CVS:
* ext/speex/gstspeexdec.c: (speex_dec_sink_event),
(speex_dec_chain_parse_data):
Produce concealment data when time progresses in a segment update.
parent 0062c4d6
2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
* ext/speex/gstspeexdec.c: (speex_dec_sink_event),
(speex_dec_chain_parse_data):
Produce concealment data when time progresses in a segment update.
2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
 
* ext/speex/gstspeexdec.c: (speex_dec_chain_parse_data),
......
......@@ -460,6 +460,18 @@ speex_dec_sink_event (GstPad * pad, GstEvent * event)
if (rate <= 0.0)
goto newseg_wrong_rate;
if (update) {
/* time progressed without data, see if we can fill the gap with
* some concealment data */
if (dec->segment.last_stop < start) {
GstClockTime duration;
duration = dec->segment.last_stop - start;
speex_dec_chain_parse_data (dec, NULL, dec->segment.last_stop,
duration);
}
}
/* now configure the values */
gst_segment_set_newsegment_full (&dec->segment, update,
rate, arate, GST_FORMAT_TIME, start, stop, time);
......@@ -654,6 +666,7 @@ speex_dec_chain_parse_data (GstSpeexDec * dec, GstBuffer * buf,
/* copy timestamp */
} else {
/* concealment data, pass NULL as the bits parameters */
GST_DEBUG_OBJECT (dec, "creating concealment data");
fpp = dec->header->frames_per_packet;
bits = NULL;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment