mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-26 17:18:15 +00:00
videodecoder: Release STREAM_LOCK during gst_pad_push()
Release STREAM_LOCK before calling gst_pad_push() and take it back afterward so that upstream isn't blocked while output buffer is being pushed downstream. https://bugzilla.gnome.org/show_bug.cgi?id=715192
This commit is contained in:
parent
a9cab426d0
commit
fb49674a39
1 changed files with 4 additions and 0 deletions
|
@ -3216,7 +3216,11 @@ gst_video_decoder_clip_and_push_buf (GstVideoDecoder * decoder, GstBuffer * buf)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* release STREAM_LOCK not to block upstream
|
||||||
|
* while pushing buffer downstream */
|
||||||
|
GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
|
||||||
ret = gst_pad_push (decoder->srcpad, buf);
|
ret = gst_pad_push (decoder->srcpad, buf);
|
||||||
|
GST_VIDEO_DECODER_STREAM_LOCK (decoder);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in a new issue