<div dir="auto"><div>Hi,<div dir="auto"><br></div><div dir="auto">Be aware that we now have a forum at <a href="http://discourse.gstreamer.org">discourse.gstreamer.org</a> which is getting more activity.</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le jeu. 5 oct. 2023, 20 h 15, cfd new via gstreamer-devel <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px"><div dir="ltr">I have a audio pipeline with a sink. When I switch audio devices, I want to replace the sink only. What I did in the code are,</div><div dir="ltr">1. set pipeline state to NULL<br></div><div dir="ltr">1. disconnect sink element from the pipeline</div><div dir="ltr">2. unref it <===problem here: reference count is 0 and can not unref it. Why?<br></div><div dir="ltr">3. create a new sink element and link it to pipeline</div><div dir="ltr">4. set pipeline state to PLAYING</div><div dir="ltr"><br></div><div dir="ltr">   the pipeline works fine with the new sink. But why can not the old sink be deleted?</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">When you create an element from factory, it's created with a floating ref. As a side effect, when the element get added to the pipeline, the pipeline will get the floating ref, effectively passing ownership. In your case, you have dropped the last reference when you removed the element from the bin/pipeline. Use ref_sink if you want to prevent that.</div><div dir="auto"><br></div><div dir="auto">Nicolas</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px"><div dir="ltr"> <br></div><div dir="ltr">   thanks for your help,</div><div dir="ltr"><br></div><div dir="ltr">   Joe<br></div></div></div></blockquote></div></div></div>