ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).

Original commit message from CVS:
2007-04-27  Julien MOUTTE  <julien@moutte.net>

* ext/theora/theoradec.c: (_theora_granule_time),
(theora_dec_push_forward), (theora_handle_data_packet),
(theora_dec_decode_buffer): Calculate buffer duration correctly
to generate a perfect stream (#433888).
* gst/audioresample/gstaudioresample.c:
(audioresample_check_discont): Glib provides ABS.
This commit is contained in:
Julien Moutte 2007-04-27 15:33:46 +00:00
parent a468f02d2a
commit e78e486da8

View file

@ -575,8 +575,6 @@ audioresample_do_output (GstAudioresample * audioresample, GstBuffer * outbuf)
return GST_FLOW_OK;
}
/* llabs() is C99, so we might not have it; just use a simple macro... */
#define LLABS(x) ((x>0)?x:-x)
static gboolean
audioresample_check_discont (GstAudioresample * audioresample,
GstClockTime timestamp)
@ -592,7 +590,7 @@ audioresample_check_discont (GstAudioresample * audioresample,
GstClockTimeDiff diff = timestamp -
(audioresample->prev_ts + audioresample->prev_duration);
if (LLABS (diff) > GST_SECOND / audioresample->i_rate) {
if (ABS (diff) > GST_SECOND / audioresample->i_rate) {
GST_WARNING_OBJECT (audioresample,
"encountered timestamp discontinuity of %" G_GINT64_FORMAT, diff);
return TRUE;