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:
Alexey Chernov 2013-11-25 20:45:18 +04:00 committed by Nicolas Dufresne
parent a9cab426d0
commit fb49674a39

View file

@ -3216,7 +3216,11 @@ gst_video_decoder_clip_and_push_buf (GstVideoDecoder * decoder, GstBuffer * buf)
}
#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);
GST_VIDEO_DECODER_STREAM_LOCK (decoder);
done:
return ret;