mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-12 02:15:31 +00:00
rtxsend: fix wrong memory layout assumption
The code responsible for creating retransmitted buffers assumed the stored buffer had been created with rtp_buffer_new_allocate when copying the extension data, which isn't necessarily the case, for example when the rtp buffers come from a udpsrc. https://bugzilla.gnome.org/show_bug.cgi?id=794958
This commit is contained in:
parent
4f8b34ab85
commit
8270cbacb4
1 changed files with 4 additions and 1 deletions
|
@ -400,7 +400,10 @@ gst_rtp_rtx_buffer_new (GstRtpRtxSend * rtx, GstBuffer * buffer)
|
|||
|
||||
/* copy extension if any */
|
||||
if (rtp.size[1]) {
|
||||
mem = gst_memory_copy (rtp.map[1].memory, 0, rtp.size[1]);
|
||||
mem = gst_allocator_alloc (NULL, rtp.size[1], NULL);
|
||||
gst_memory_map (mem, &map, GST_MAP_WRITE);
|
||||
memcpy (map.data, rtp.data[1], rtp.size[1]);
|
||||
gst_memory_unmap (mem, &map);
|
||||
gst_buffer_append_memory (new_buffer, mem);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue