diff options
Diffstat (limited to 'gst/playback/gstplaysink.c')
-rw-r--r-- | gst/playback/gstplaysink.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index 3b5de5543..c2308678c 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -1843,6 +1843,9 @@ gen_video_chain (GstPlaySink * playsink, gboolean raw, gboolean async) } gst_bin_add (bin, chain->filter); + /* Bin takes a new reference because we sinked any + * floating reference ourselves already */ + gst_object_unref (chain->filter); if (prev) { if (!gst_element_link_pads_full (prev, "src", chain->filter, "sink", GST_PAD_LINK_CHECK_TEMPLATE_CAPS)) { @@ -2721,6 +2724,9 @@ gen_audio_chain (GstPlaySink * playsink, gboolean raw) } gst_bin_add (bin, chain->filter); + /* Bin takes a new reference because we sinked any + * floating reference ourselves already */ + gst_object_unref (chain->filter); if (prev) { if (!gst_element_link_pads_full (prev, "src", chain->filter, "sink", GST_PAD_LINK_CHECK_TEMPLATE_CAPS)) { |