mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
srtpenc: prevent deadlock in create_session
Temporarily release the object lock which is needed to post error messages on the bus. https://bugzilla.gnome.org/show_bug.cgi?id=770933
This commit is contained in:
parent
f5c547063c
commit
7fa2668adf
1 changed files with 4 additions and 0 deletions
|
@ -386,9 +386,11 @@ gst_srtp_enc_create_session (GstSrtpEnc * filter)
|
|||
gsize keysize;
|
||||
|
||||
if (filter->key == NULL) {
|
||||
GST_OBJECT_UNLOCK (filter);
|
||||
GST_ELEMENT_ERROR (filter, LIBRARY, SETTINGS,
|
||||
("Cipher is not NULL, key must be set"),
|
||||
("Cipher is not NULL, key must be set"));
|
||||
GST_OBJECT_LOCK (filter);
|
||||
return err_status_fail;
|
||||
}
|
||||
|
||||
|
@ -396,10 +398,12 @@ gst_srtp_enc_create_session (GstSrtpEnc * filter)
|
|||
keysize = gst_buffer_get_size (filter->key);
|
||||
|
||||
if (expected != keysize) {
|
||||
GST_OBJECT_UNLOCK (filter);
|
||||
GST_ELEMENT_ERROR (filter, LIBRARY, SETTINGS,
|
||||
("Master key size is wrong"),
|
||||
("Expected master key of %d bytes, but received %" G_GSIZE_FORMAT
|
||||
" bytes", expected, keysize));
|
||||
GST_OBJECT_LOCK (filter);
|
||||
return err_status_fail;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue