mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-05 02:02:26 +00:00
videoencoder: Hold the stream lock when reconfiguring the element
This commit is contained in:
parent
d55d7fdc38
commit
fcf5e389ce
1 changed files with 1 additions and 1 deletions
|
@ -1455,13 +1455,13 @@ gst_video_encoder_allocate_output_frame (GstVideoEncoder *
|
||||||
g_return_val_if_fail (frame->output_buffer == NULL, GST_FLOW_ERROR);
|
g_return_val_if_fail (frame->output_buffer == NULL, GST_FLOW_ERROR);
|
||||||
g_return_val_if_fail (size > 0, GST_FLOW_ERROR);
|
g_return_val_if_fail (size > 0, GST_FLOW_ERROR);
|
||||||
|
|
||||||
|
GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
|
||||||
if (G_UNLIKELY (encoder->priv->output_state_changed
|
if (G_UNLIKELY (encoder->priv->output_state_changed
|
||||||
|| (encoder->priv->output_state
|
|| (encoder->priv->output_state
|
||||||
&& gst_pad_check_reconfigure (encoder->srcpad))))
|
&& gst_pad_check_reconfigure (encoder->srcpad))))
|
||||||
gst_video_encoder_set_src_caps (encoder);
|
gst_video_encoder_set_src_caps (encoder);
|
||||||
|
|
||||||
GST_LOG_OBJECT (encoder, "alloc buffer size %d", size);
|
GST_LOG_OBJECT (encoder, "alloc buffer size %d", size);
|
||||||
GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
|
|
||||||
|
|
||||||
frame->output_buffer =
|
frame->output_buffer =
|
||||||
gst_buffer_new_allocate (encoder->priv->allocator, size,
|
gst_buffer_new_allocate (encoder->priv->allocator, size,
|
||||||
|
|
Loading…
Reference in a new issue