From: <wt...@ke...> - 2009-12-04 13:02:07
|
Module: gst-plugins-base Branch: master Commit: 9e222a385cd6ac3cc1ac3aca47f131c08e0b34b5 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=9e222a385cd6ac3cc1ac3aca47f131c08e0b34b5 Author: Wim Taymans <wim...@co...> Date: Fri Dec 4 14:01:11 2009 +0100 oggdemux: don't do math with invalid granulepos When the current granulepos is unknown and set to -1, don't try to add durations to it. --- ext/ogg/gstoggdemux.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index a5b047c..5b1e6f1 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -521,7 +521,8 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet) GST_BUFFER_OFFSET (buf) = 0; GST_BUFFER_OFFSET_END (buf) = -1; } else { - pad->current_granule += duration; + if (pad->current_granule != -1) + pad->current_granule += duration; if (packet->granulepos != -1) { pad->current_granule = gst_ogg_stream_granulepos_to_granule (&pad->map, packet->granulepos); |