GNOME Bugzilla – Bug 750036
dtls: wrong management of pads in releasing operation
Last modified: 2015-05-28 20:46:59 UTC
Created attachment 304167 [details] [review] file generated using git format-patch Fix extra unref and wrong release call in gst_dtls_dec_release_pad
Created attachment 304168 [details] [review] file generated using git-format-patch
Created attachment 304169 [details] [review] Requested pads should be released
Next piece of code reproduces this bug: #include <gst/gst.h> #include <glib.h> int main (int argc, char *argv[]) { GstElement *dtlssrtpdec; GstPad *data_pad; gst_init (&argc, &argv); dtlssrtpdec = gst_element_factory_make ("dtlssrtpdec", NULL); if (dtlssrtpdec == NULL) { g_printerr ("dtlssrtpdec could not be created. Exiting.\n"); return -1; } data_pad = gst_element_get_request_pad (dtlssrtpdec, "data_src"); if (data_pad == NULL) { g_printerr ("data_pad could not get data_src pad. Exiting.\n"); return -1; } GST_INFO ("Releasing pad %" GST_PTR_FORMAT, data_pad); gst_element_release_request_pad (dtlssrtpdec, data_pad); GST_DEBUG ("Bye__"); gst_object_unref (GST_OBJECT (data_pad)); gst_object_unref (GST_OBJECT (dtlssrtpdec)); return 0; }