GNOME Bugzilla – Bug 748162
asfdemux: can't seek to the offset which is bigger than 4G bytes in push mode
Last modified: 2015-04-20 08:30:15 UTC
The seek operation to the offset over 4G bytes fails due to the wrong calculation of offset. Asfdemux didn't care that a multiplication between two 32-Bit variables can result in out-of-range. See the below codes. gst_asf_demux_handle_seek_push (GstASFDemux * demux, GstEvent * event) { ... cur = demux->data_offset + (packet * demux->packet_size); ... }
Created attachment 301969 [details] [review] cast the guint32 variable to guint64
Thanks, pushed with just a trivial typo fix in the commit message (s/asdemux/asfdemux/). commit 92f5f3f8f39f23ffad18d448f2814b0183f06bc8 Author: Cliff Han <cliff.han@lge.com> Date: Mon Apr 20 14:35:30 2015 +0900 asfdemux: fix a seek failure due to out-of-range in push mode A seek in push mode failed for big offsets which are beyond the range of guint32. https://bugzilla.gnome.org/show_bug.cgi?id=748162