decodebin3: Add input_lock whenever add and remove DecodebinInputStream
Submitted by HoonHee Lee
When decodebin3 has multiple parsebins, segmentation fault is observed sometimes when playbin3 pipeline goes to PLAYING to NULL.
Above HLS stream contains 1-video and 2-audio and number of parsebin is 3.
When create_input_stream () function is called at the same time by each pending pads, one DecodebinInputStream can not be inserted 'dbin->input_streams' list
and other DecodebinInputStream is added to 'dbin->input_streams' list.
So, length of 'dbin->input_streams' it not 3.
Thus, when playbin3 goes to PLAYING to NULL, parsebin_pad_removed_cb () function is called but, remove_input_stream () function is not called.
Because, we could not find corresponded DecodebinInputStream from 'dbin->input_streams'.
And then, segmentation fault is happened trying to "gst_pad_unlink (slot->input->srcpad, slot->sink_pad);" in free_multiqueue_slot () function.