mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 23:58:17 +00:00
playbin: Make sure to keep a reference on the volume element
Fixes null pointer dereferences under certain circumstances. Fixes bug #595401.
This commit is contained in:
parent
f9772089d0
commit
e9d1819fe3
1 changed files with 6 additions and 1 deletions
|
@ -1127,7 +1127,7 @@ gen_audio_element (GstPlayBin * play_bin)
|
|||
if (volume == NULL)
|
||||
goto no_volume;
|
||||
g_object_set (G_OBJECT (volume), "volume", play_bin->volume, NULL);
|
||||
play_bin->volume_element = volume;
|
||||
play_bin->volume_element = GST_ELEMENT_CAST (gst_object_ref (volume));
|
||||
gst_bin_add (GST_BIN_CAST (element), volume);
|
||||
|
||||
res = gst_element_link_pads (conv, "src", scale, "sink");
|
||||
|
@ -1442,6 +1442,11 @@ remove_sinks (GstPlayBin * play_bin)
|
|||
gst_object_unref (play_bin->textoverlay_element);
|
||||
play_bin->textoverlay_element = NULL;
|
||||
}
|
||||
|
||||
if (play_bin->volume_element) {
|
||||
gst_object_unref (play_bin->volume_element);
|
||||
play_bin->volume_element = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* loop over the streams and set up the pipeline to play this
|
||||
|
|
Loading…
Reference in a new issue