[gstreamer-bugs] [Bug 628176] New: [basetransform] Problems with buffer handling in inplace mode
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sat Aug 28 02:06:52 PDT 2010
https://bugzilla.gnome.org/show_bug.cgi?id=628176
GStreamer | gstreamer (core) | git
Summary: [basetransform] Problems with buffer handling in
inplace mode
Classification: Desktop
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: blocker
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: slomo at circular-chaos.org
QAContact: gstreamer-bugs at lists.sourceforge.net
CC: thaytan at mad.scientist.com, slomo at circular-chaos.org
GNOME target: ---
GNOME version: ---
+++ This bug was initially created as a clone of Bug #628174 +++
==812== Source and destination overlap in memcpy(0xb9846e0, 0xb9846e0, 622080)
==812== at 0x4027865: memcpy (mc_replace_strmem.c:497)
==812== by 0x4552926: gst_base_transform_handle_buffer (string3.h:52)
==812== by 0x4553489: gst_base_transform_chain (gstbasetransform.c:2308)
==812== by 0x45C31F4: gst_pad_chain_data_unchecked (gstpad.c:4182)
==812== by 0x45C3C53: gst_pad_push_data (gstpad.c:4411)
==812== by 0x7EAFB41: handle_slice (gstmpeg2dec.c:1040)
==812== by 0x7EB0511: gst_mpeg2dec_chain (gstmpeg2dec.c:1227)
==812== by 0x45C31F4: gst_pad_chain_data_unchecked (gstpad.c:4182)
==812== by 0x45C3C53: gst_pad_push_data (gstpad.c:4411)
==812== by 0x7D7F819: gst_queue_loop (gstqueue.c:1109)
==812== by 0x45F1460: gst_task_func (gsttask.c:271)
==812== by 0x45F2B36: default_func (gsttaskpool.c:68)
==812== by 0x476BD0B: ??? (in /lib/libglib-2.0.so.0.2400.1)
==812== by 0x4769DEE: ??? (in /lib/libglib-2.0.so.0.2400.1)
==812== by 0x47F696D: start_thread (pthread_create.c:300)
==812== by 0x48D7A4D: clone (clone.S:130)
This is the memcpy() in gstbasetransform.c:2186:
> if (inbuf != *outbuf) {
> /* different buffers, copy the input to the output first, we then do an
> * in-place transform on the output buffer. */
> memcpy (GST_BUFFER_DATA (*outbuf), GST_BUFFER_DATA (inbuf),
> GST_BUFFER_SIZE (inbuf));
> }
If the data pointers are the same but the buffer pointer are not the same, one
of them must be a subbuffer of the other one and both are not writable at all,
or even worse, they're completely unrelated but share the same memory.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list