From ccac1f8c0bcf2b87ffbda26bac6b6de0c8f37814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Sat, 29 Nov 2014 18:35:42 -0500 Subject: [PATCH] rtprtxreceive: Use offset when copying header The header is not always at the start of the packet, so we need to compute the offset first. --- gst/rtpmanager/gstrtprtxreceive.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gst/rtpmanager/gstrtprtxreceive.c b/gst/rtpmanager/gstrtprtxreceive.c index 4ae4e6508c..32933a1f75 100644 --- a/gst/rtpmanager/gstrtprtxreceive.c +++ b/gst/rtpmanager/gstrtprtxreceive.c @@ -427,12 +427,14 @@ _gst_rtp_buffer_new_from_rtx (GstRTPBuffer * rtp, guint32 ssrc1, guint payload_len = 0; /* copy fixed header */ - mem = gst_memory_copy (rtp->map[0].memory, 0, rtp->size[0]); + mem = gst_memory_copy (rtp->map[0].memory, + (guint8 *) rtp->data[0] - rtp->map[0].data, rtp->size[0]); gst_buffer_append_memory (new_buffer, mem); /* copy extension if any */ if (rtp->size[1]) { - mem = gst_memory_copy (rtp->map[1].memory, 0, rtp->size[1]); + mem = gst_memory_copy (rtp->map[1].memory, + (guint8 *) rtp->data[1] - rtp->map[1].data, rtp->size[1]); gst_buffer_append_memory (new_buffer, mem); }