GNOME Bugzilla – Bug 784972
omx: Possible deadlock in gstomxvideoenc.c
Last modified: 2017-07-25 08:50:11 UTC
Hello All, There is possible deadlock in gstomxvideoenc.c File : gst-omx/omx/gstomxvideoenc.c In function "gst_omx_video_enc_drain" at line: 1752 There if g_mutex_lock (&self->drain_lock) at line: 1743 but incase of fails of "gst_omx_port_release_buffer" There is no unlock of "self->drain_lock". below are snippet ================================================= if (err != OMX_ErrorNone) { GST_ERROR_OBJECT (self, "Failed to drain component: %s (0x%08x)", gst_omx_error_to_string (err), err); GST_VIDEO_ENCODER_STREAM_LOCK (self); return GST_FLOW_ERROR; } ================================================ Solution: There should be g_mutex_unlock (&self->drain_lock) in failure case; Please check and provide your feedback.
Ok, same as bug #784967 but for video encoding, must have been copy pasted. Do you want to provide a patch ?
Created attachment 355743 [details] [review] Patch file is attached. Dear Sir, Please review attached file and provide your feedback.
commit 45eaf9cfc6977c10fb81ddad21f4090909126793 (HEAD -> master) Author: Satya Prakash Gupta <sp.gupta@samsung.com> Date: Mon Jul 17 15:48:44 2017 +0530 omxvideoenc: Fix deadlock in error case when draining https://bugzilla.gnome.org/show_bug.cgi?id=784972