From d9ef75b79954d2a2d1da5fca560072b8d172cebe Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 19 Jan 2012 15:19:34 +0100 Subject: [PATCH] rtcp: handle size update correctly Do explicit resize to set the size of a buffer instead of setting a value in unmap. --- gst-libs/gst/rtp/gstrtcpbuffer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst-libs/gst/rtp/gstrtcpbuffer.c b/gst-libs/gst/rtp/gstrtcpbuffer.c index fb99c4a..c3b2ebb 100644 --- a/gst-libs/gst/rtp/gstrtcpbuffer.c +++ b/gst-libs/gst/rtp/gstrtcpbuffer.c @@ -262,9 +262,8 @@ gst_rtcp_buffer_map (GstBuffer * buffer, GstMapFlags flags, /* allow for expansion, e.g. adding packets, if needed */ if ((flags & GST_MAP_WRITE) != 0) { - /* unmap and adjust to max available, and remap */ - gst_buffer_unmap (buffer, rtcp->data, rtcp->maxsize); - rtcp->data = gst_buffer_map (buffer, &rtcp->size, &rtcp->maxsize, flags); + /* adjust to max available */ + rtcp->size = rtcp->maxsize; } return TRUE; @@ -294,6 +293,7 @@ gst_rtcp_buffer_unmap (GstRTCPBuffer * rtcp) while (gst_rtcp_packet_move_to_next (&packet)); /* shrink size */ + gst_buffer_resize (rtcp->buffer, 0, packet.offset); res = gst_buffer_unmap (rtcp->buffer, rtcp->data, packet.offset); rtcp->buffer = NULL; -- 2.7.4