summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatijs van Zuijlen <Matijs.van.Zuijlen@xs4all.nl>2009-07-18 08:43:37 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-07-18 08:44:58 +0200
commit01200712ead2c6d94ab29c9af2f283f34844e4d7 (patch)
treed7255dab1e706a9cbe499a3554a0fdc1d080b5dd
parent4307be631de43ea2a36e8ad06e941a2e36032857 (diff)
downloadgst-plugins-bad-01200712ead2c6d94ab29c9af2f283f34844e4d7.tar.gz
gst-plugins-bad-01200712ead2c6d94ab29c9af2f283f34844e4d7.tar.bz2
gst-plugins-bad-01200712ead2c6d94ab29c9af2f283f34844e4d7.zip
mpegdemux: Fix integer overflow
This breaks playback of files >4 GB as the offset was a guint before. Changing it to a guint64 fixes this.
-rw-r--r--gst/mpegdemux/gstmpegdemux.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c
index ce1d0978..51b1ff1b 100644
--- a/gst/mpegdemux/gstmpegdemux.c
+++ b/gst/mpegdemux/gstmpegdemux.c
@@ -2540,7 +2540,7 @@ gst_flups_demux_loop (GstPad * pad)
{
GstFluPSDemux *demux;
GstFlowReturn ret = GST_FLOW_OK;
- guint offset = 0;
+ guint64 offset = 0;
demux = GST_FLUPS_DEMUX (gst_pad_get_parent (pad));
@@ -2579,7 +2579,7 @@ gst_flups_demux_loop (GstPad * pad)
goto pause;
}
} else { /* Reverse playback */
- guint size = MIN (offset, BLOCK_SZ);
+ guint64 size = MIN (offset, BLOCK_SZ);
/* pull in data */
ret = gst_flups_demux_pull_block (pad, demux, offset - size, size);