... which allows adding additional packets and may be needed to counteract
the shrink that implicitly occurred during a map/unmap cycle when adding
a previous packet.
rtcp->flags = flags;
rtcp->data = gst_buffer_map (buffer, &rtcp->size, &rtcp->maxsize, 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);
+ }
+
return TRUE;
}