mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 07:47:17 +00:00
videorate: avoid useless buffer copy in drop-only mode
Make writable the buffer before pushing it lead to a buffer copy. It's because a reference is keep for the previous buffer. The previous buffer reference is only need to duplicate the buffer. In drop-only mode, the previous buffer is release just after pushing the buffer so a copy is done but it's useless. https://bugzilla.gnome.org/show_bug.cgi?id=764319
This commit is contained in:
parent
9e311960cd
commit
2626c02149
1 changed files with 5 additions and 1 deletions
|
@ -608,8 +608,12 @@ gst_video_rate_flush_prev (GstVideoRate * videorate, gboolean duplicate)
|
|||
if (!videorate->prevbuf)
|
||||
goto eos_before_buffers;
|
||||
|
||||
outbuf = gst_buffer_ref (videorate->prevbuf);
|
||||
if (videorate->drop_only)
|
||||
gst_buffer_replace (&videorate->prevbuf, NULL);
|
||||
|
||||
/* make sure we can write to the metadata */
|
||||
outbuf = gst_buffer_make_writable (gst_buffer_ref (videorate->prevbuf));
|
||||
outbuf = gst_buffer_make_writable (outbuf);
|
||||
|
||||
GST_BUFFER_OFFSET (outbuf) = videorate->out;
|
||||
GST_BUFFER_OFFSET_END (outbuf) = videorate->out + 1;
|
||||
|
|
Loading…
Reference in a new issue