mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
gstvideoencoder: make sure the buffer is writable before modifying metadata
Similar to ae8d0cf3ac
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1112>
This commit is contained in:
parent
dd12c9b230
commit
df88b10c7f
1 changed files with 6 additions and 0 deletions
|
@ -2563,6 +2563,9 @@ gst_video_encoder_finish_frame (GstVideoEncoder * encoder,
|
||||||
frame->distance_from_sync = priv->distance_from_sync;
|
frame->distance_from_sync = priv->distance_from_sync;
|
||||||
priv->distance_from_sync++;
|
priv->distance_from_sync++;
|
||||||
|
|
||||||
|
/* We need a writable buffer for the metadata changes below */
|
||||||
|
frame->output_buffer = gst_buffer_make_writable (frame->output_buffer);
|
||||||
|
|
||||||
GST_BUFFER_PTS (frame->output_buffer) = frame->pts;
|
GST_BUFFER_PTS (frame->output_buffer) = frame->pts;
|
||||||
GST_BUFFER_DTS (frame->output_buffer) = frame->dts;
|
GST_BUFFER_DTS (frame->output_buffer) = frame->dts;
|
||||||
GST_BUFFER_DURATION (frame->output_buffer) = frame->duration;
|
GST_BUFFER_DURATION (frame->output_buffer) = frame->duration;
|
||||||
|
@ -2709,6 +2712,9 @@ gst_video_encoder_finish_subframe (GstVideoEncoder * encoder,
|
||||||
|
|
||||||
gst_video_encoder_infer_dts_unlocked (encoder, frame);
|
gst_video_encoder_infer_dts_unlocked (encoder, frame);
|
||||||
|
|
||||||
|
/* We need a writable buffer for the metadata changes below */
|
||||||
|
subframe_buffer = gst_buffer_make_writable (subframe_buffer);
|
||||||
|
|
||||||
GST_BUFFER_PTS (subframe_buffer) = frame->pts;
|
GST_BUFFER_PTS (subframe_buffer) = frame->pts;
|
||||||
GST_BUFFER_DTS (subframe_buffer) = frame->dts;
|
GST_BUFFER_DTS (subframe_buffer) = frame->dts;
|
||||||
GST_BUFFER_DURATION (subframe_buffer) = frame->duration;
|
GST_BUFFER_DURATION (subframe_buffer) = frame->duration;
|
||||||
|
|
Loading…
Reference in a new issue