mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
decodebin3: fix mutex leaks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3130>
This commit is contained in:
parent
397c4c3392
commit
c9219a0cb6
1 changed files with 14 additions and 0 deletions
|
@ -469,6 +469,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src_%u",
|
||||||
|
|
||||||
|
|
||||||
static void gst_decodebin3_dispose (GObject * object);
|
static void gst_decodebin3_dispose (GObject * object);
|
||||||
|
static void gst_decodebin3_finalize (GObject * object);
|
||||||
static void gst_decodebin3_set_property (GObject * object, guint prop_id,
|
static void gst_decodebin3_set_property (GObject * object, guint prop_id,
|
||||||
const GValue * value, GParamSpec * pspec);
|
const GValue * value, GParamSpec * pspec);
|
||||||
static void gst_decodebin3_get_property (GObject * object, guint prop_id,
|
static void gst_decodebin3_get_property (GObject * object, guint prop_id,
|
||||||
|
@ -551,6 +552,7 @@ gst_decodebin3_class_init (GstDecodebin3Class * klass)
|
||||||
GstBinClass *bin_klass = (GstBinClass *) klass;
|
GstBinClass *bin_klass = (GstBinClass *) klass;
|
||||||
|
|
||||||
gobject_klass->dispose = gst_decodebin3_dispose;
|
gobject_klass->dispose = gst_decodebin3_dispose;
|
||||||
|
gobject_klass->finalize = gst_decodebin3_finalize;
|
||||||
gobject_klass->set_property = gst_decodebin3_set_property;
|
gobject_klass->set_property = gst_decodebin3_set_property;
|
||||||
gobject_klass->get_property = gst_decodebin3_get_property;
|
gobject_klass->get_property = gst_decodebin3_get_property;
|
||||||
|
|
||||||
|
@ -679,6 +681,18 @@ gst_decodebin3_dispose (GObject * object)
|
||||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gst_decodebin3_finalize (GObject * object)
|
||||||
|
{
|
||||||
|
GstDecodebin3 *dbin = (GstDecodebin3 *) object;
|
||||||
|
|
||||||
|
g_mutex_clear (&dbin->factories_lock);
|
||||||
|
g_mutex_clear (&dbin->selection_lock);
|
||||||
|
g_mutex_clear (&dbin->input_lock);
|
||||||
|
|
||||||
|
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_decodebin3_set_property (GObject * object, guint prop_id,
|
gst_decodebin3_set_property (GObject * object, guint prop_id,
|
||||||
const GValue * value, GParamSpec * pspec)
|
const GValue * value, GParamSpec * pspec)
|
||||||
|
|
Loading…
Reference in a new issue