<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-highlight: yellow; mso-ansi-language: EN">&nbsp;Hi All, i have one question about<br>
</span></div>
<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-highlight: yellow; mso-ansi-language: EN">How to handle the memory allocation after gst_caps_new_simple? How to use gst_caps_unref(caps) about this cases?</span></div>

<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-highlight: yellow; mso-ansi-language: EN"></span>&nbsp;</div>

<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">From <span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">GstCaps </span>spec, <span style="BACKGROUND: yellow; mso-highlight: yellow">Setting this property takes a reference to the supplied GstCaps object</span>, </span></div>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">I think this comment didn't mention that it will free this object if there is no</span><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;"> chance for <a title="g_object_unref ()" href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><span style="COLOR: black; TEXT-DECORATION: none; text-underline: none">g_object_unref</span></a>() </span><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">being called even under gobject memory framework.</span><span lang="EN" style="FONT-FAMILY: &#39;Arial&#39;,&#39;sans-serif&#39;; mso-ansi-language: EN"></span></p>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">&nbsp;</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">For example, let 0x12345678 as the address of new allocated GstCaps object in your bbpack. We consider two approach:</span></p>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">&nbsp;</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">1.approach:</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">GstCaps *caps;</span></p>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">Caps = gst_caps_new_simple(....);&nbsp; // for example, let </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;">0x12345678 be the address of memory.</span><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN"></span></p>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: &#39;Courier New&#39;; mso-highlight: yellow">g_object_set(G_OBJECT(caps_filter),<span style="COLOR: teal"> </span>&quot;caps&quot;,</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"> </span><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">Caps</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"> // it will be 0x12345678.</span><span style="COLOR: #1f497d"></span></p>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><font size="3"><span style="COLOR: #1f497d"><font face="Calibri">gst_caps_unref(</font></span><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">caps</span><span style="COLOR: #1f497d"><font face="Calibri">); // the purpose of caps has finished, since the all detailed parameter &nbsp;under property "caps" of "caps_filter" has been assigned. </font></span></font></p>

<div class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span style="COLOR: #1f497d"><font size="3"><font face="Calibri">For case1, distinctly we have to call gst_caps_unref() to release?</font></font></span></div>

<div class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span style="COLOR: #1f497d"><font face="Calibri" size="3"></font></span>&nbsp;</div>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span style="COLOR: #1f497d"><font face="Calibri" size="3">&nbsp;</font></span></p>
<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="COLOR: #1f497d"><font size="3"><font face="Calibri">2.approach:<br>don&#39;t use local pointer, </font></font></span></div>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: &#39;Courier New&#39;; mso-highlight: yellow">g_object_set(G_OBJECT(caps_filter),<span style="COLOR: teal"> </span>&quot;caps&quot;,</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"> </span><span lang="EN" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-ansi-language: EN">gst_caps_new_simple(....), // it will also </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;">0x12345678.</span><span style="COLOR: #1f497d"></span></p>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="COLOR: #1f497d"><font face="Calibri" size="3">&nbsp;</font></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="COLOR: #1f497d"><font face="Calibri" size="3">In above two cases, 3<sup>rd</sup> parameter will always be </font></span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;">0x12345678 during runtime.</span><span style="COLOR: #1f497d"></span></p>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: &#39;Courier New&#39;; mso-highlight: yellow">g_object_set</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;">(,, 0x12345678.)</span></p>

<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;">&nbsp;</span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font size="3"><span style="COLOR: #1f497d"><font face="Calibri">In case 2, </font></span><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;">How can your codes to notify g_object_set() to call <a title="g_object_unref ()" href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><span style="COLOR: black; TEXT-DECORATION: none; text-underline: none">g_object_unref</span></a>() so that </span><span style="COLOR: #1f497d"><font face="Calibri">to release this memory?</font></span></font></p>

<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="COLOR: #1f497d"><font face="Calibri" size="3">&nbsp;</font></span></div>
<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="COLOR: #1f497d"><font face="Calibri" size="3"><span lang="EN" style="FONT-SIZE: 12pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-highlight: yellow; mso-ansi-language: EN">Would you please judge which approach is correct? and why? thanks in advance.</span></font></span></div>

<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="COLOR: #1f497d"><font face="Calibri" size="3"><span lang="EN" style="FONT-SIZE: 12pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-highlight: yellow; mso-ansi-language: EN"></span></font></span>&nbsp;</div>

<div class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="COLOR: #1f497d"><font face="Calibri" size="3"><span lang="EN" style="FONT-SIZE: 12pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: &#39;Times New Roman&#39;,&#39;serif&#39;; mso-highlight: yellow; mso-ansi-language: EN">Xiupeng.</span></font></span></div>