summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2014-11-29 18:35:42 -0500
committerOlivier CrĂȘte <olivier.crete@collabora.com>2014-11-29 18:38:12 -0500
commitccac1f8c0bcf2b87ffbda26bac6b6de0c8f37814 (patch)
tree669da24888a3a40dae6cb9c06033e7a56b53fe75
parent023a1637d941bfa22377c89287fb45edcaab4051 (diff)
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.
-rw-r--r--gst/rtpmanager/gstrtprtxreceive.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gst/rtpmanager/gstrtprtxreceive.c b/gst/rtpmanager/gstrtprtxreceive.c
index 4ae4e6508..32933a1f7 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);
}