summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--gst/qtdemux/qtdemux.c5
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 63c2ffc5..ceca3661 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-01-26 Tim-Philipp Müller <tim at centricular dot net>
+
+ * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
+ Fix wrong memcpy source pointer.
+
2006-01-25 Edgard Lima <edgard.lima@indt.org.br>
* ext/libmms/gstmms.c: (gst_mms_finalize):
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index dff4453a..9319cec2 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -2001,12 +2001,11 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
if (esds) {
gst_qtdemux_handle_esds (qtdemux, stream, esds);
} else {
- if (QTDEMUX_FOURCC_GET (stsd->data + 16 + 4) ==
+ if (QTDEMUX_FOURCC_GET ((char *) stsd->data + 16 + 4) ==
GST_MAKE_FOURCC ('a', 'v', 'c', '1')) {
gint len = QTDEMUX_GUINT32_GET (stsd->data) - 0x66;
guint8 *stsddata = stsd->data + 0x66;
-
/* find avcC */
while (len >= 0x8 &&
QTDEMUX_FOURCC_GET (stsddata + 0x4) !=
@@ -2029,7 +2028,7 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
size = len - 0x8;
buf = gst_buffer_new_and_alloc (size);
- memcpy (GST_BUFFER_DATA (buf), (guint8 *) stsd->data + 0x8, size);
+ memcpy (GST_BUFFER_DATA (buf), stsddata + 0x8, size);
gst_caps_set_simple (stream->caps,
"codec_data", GST_TYPE_BUFFER, buf, NULL);
gst_buffer_unref (buf);