<html><head></head><body><div class="ydp305e5d55yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
        <div dir="ltr" data-setdir="false"><span>Hi, Matt,</span></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">   I moved it to the back of audiobin and the problem is solved. Thank you so much,</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">   Joe<br></div>
        
        </div><div id="yahoo_quoted_9023109696" class="yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Wednesday, November 16, 2022, 10:45:53 p.m. EST, Matthew Waters via gstreamer-devel <gstreamer-devel@lists.freedesktop.org> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div id="yiv3230612864">
  
    
  
  <div>
    <br>
    <br>
    <div class="yiv3230612864moz-cite-prefix">On 17/11/22 11:07, cfd new via
      gstreamer-devel wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;" class="yiv3230612864yahoo-style-wrap">
        <div dir="ltr">
          <div dir="ltr">
            <pre class="yiv3230612864ydpfe622ec8lang-c yiv3230612864ydpfe622ec8s-code-block"><code class="yiv3230612864ydpfe622ec8hljs yiv3230612864ydpfe622ec8language-c">following the link here: <a rel="nofollow noopener noreferrer" target="_blank" href="https://stackoverflow.com/questions/41742313/linking-audio-and-video-bins-with-gstreamer-in-c" class="yiv3230612864enhancr_card_9214697658">Linking audio and video bins with gstreamer in c</a>
to build audio bin. 
    <span class="yiv3230612864ydpfe622ec8hljs-comment">/*audio bin*/</span>
    audio = gst_bin_new (<span class="yiv3230612864ydpfe622ec8hljs-string">"audiobin"</span>);
    audioQueue = gst_element_factory_make (<span class="yiv3230612864ydpfe622ec8hljs-string">"queue"</span>, <span class="yiv3230612864ydpfe622ec8hljs-string">"audio-queue"</span>);
    audioDepay = gst_element_factory_make (<span class="yiv3230612864ydpfe622ec8hljs-string">"rtpmp4gdepay"</span>, <span class="yiv3230612864ydpfe622ec8hljs-string">"audio-depayer"</span>);
    audioParse = gst_element_factory_make (<span class="yiv3230612864ydpfe622ec8hljs-string">"aacparse"</span>, <span class="yiv3230612864ydpfe622ec8hljs-string">"audio-parser"</span>);
    audioDecode = gst_element_factory_make (<span class="yiv3230612864ydpfe622ec8hljs-string">"avdec_aac"</span>, <span class="yiv3230612864ydpfe622ec8hljs-string">"audio-decoder"</span>);
    audioConvert = gst_element_factory_make (<span class="yiv3230612864ydpfe622ec8hljs-string">"audioconvert"</span>, <span class="yiv3230612864ydpfe622ec8hljs-string">"aconv"</span>);
    audioResample = gst_element_factory_make (<span class="yiv3230612864ydpfe622ec8hljs-string">"audioresample"</span>, <span class="yiv3230612864ydpfe622ec8hljs-string">"audio-resample"</span>);
    audioSink = gst_element_factory_make (<span class="yiv3230612864ydpfe622ec8hljs-string">"autoaudiosink"</span>, <span class="yiv3230612864ydpfe622ec8hljs-string">"audiosink"</span>);
<span><pre class="yiv3230612864ydpfe622ec8lang-c yiv3230612864ydpfe622ec8s-code-block"><code class="yiv3230612864ydpfe622ec8hljs yiv3230612864ydpfe622ec8language-c"><span><span><pre style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;"><span style="color:#00677c;">    audioVolume = gst_element_factory_make</span>(<span style="color:#c0c0c0;"> </span><span style="color:#008000;">"volume"</span>, "audiovolume" );</pre></span></span></code></pre></span>
<span><span></span></span><div><pre class="yiv3230612864ydpb22491e1lang-c yiv3230612864ydpb22491e1s-code-block"><code class="yiv3230612864ydpb22491e1hljs yiv3230612864ydpb22491e1language-c">    gst_bin_add_many(GST_BIN(audio),
                    audioQueue, audioVolume, audioDepay, audioParse, audioDecode,audioConvert, audioResample, audioSink, <span class="yiv3230612864ydpb22491e1hljs-literal">NULL</span>);
</code></pre></div></code><code class="yiv3230612864ydpfe622ec8hljs yiv3230612864ydpfe622ec8language-c"></code><code class="yiv3230612864ydpfe622ec8hljs yiv3230612864ydpfe622ec8language-c"></code><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></pre>
          </div>
          <div dir="ltr">
            <div dir="ltr">
              <div dir="ltr">
                <pre class="yiv3230612864ydp70537d57lang-c yiv3230612864ydp70537d57s-code-block"><code class="yiv3230612864ydp70537d57hljs yiv3230612864ydp70537d57language-c"><span><pre class="yiv3230612864ydpfe622ec8lang-c yiv3230612864ydpfe622ec8s-code-block"><code class="yiv3230612864ydpfe622ec8hljs yiv3230612864ydpfe622ec8language-c">But I can not link volume element</code></pre></span>
    <span class="yiv3230612864ydp70537d57hljs-comment">/*Linking audio elements internally*/</span>
    <span class="yiv3230612864ydp70537d57hljs-keyword">if</span> (!gst_element_link_many(audioQueue, audioVolume, audioDepay, audioParse, audioDecode, audioConvert, audioResample, audioSink, <span class="yiv3230612864ydp70537d57hljs-literal">NULL</span>))</code></pre>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    The volume element only operates on raw audio samples.  The place
    you have used for the ''volume' seems to be rtp payloaded aac data. 
    'volume' will not work in that position.<br>
    <br>
    Move it after the decoder somewhere.  It may need more conversion
    and resampling elements depending on the exact audio format.  You
    can see a list of supported audio formats by running
    `gst-inspect-1.0 volume`.<br>
    <br>
    Cheers<br>
    -Matt<br>
    <br>
    <blockquote type="cite">
      <div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;" class="yiv3230612864yahoo-style-wrap">
        <div dir="ltr">
          <div dir="ltr">
            <div dir="ltr">
              <div dir="ltr">
                <pre class="yiv3230612864ydp70537d57lang-c yiv3230612864ydp70537d57s-code-block"><code class="yiv3230612864ydp70537d57hljs yiv3230612864ydp70537d57language-c">    {
            g_printerr(<span class="yiv3230612864ydp70537d57hljs-string">"Cannot link audioDepay and audioParse \n"</span>);
            <span class="yiv3230612864ydp70537d57hljs-keyword">return</span> <span class="yiv3230612864ydp70537d57hljs-number">0</span>;
    }
<span><pre class="yiv3230612864ydp70537d57lang-c yiv3230612864ydp70537d57s-code-block"><code class="yiv3230612864ydp70537d57hljs yiv3230612864ydp70537d57language-c">gst_element_link_many returns false. Without volume element, the pipeline works fine, But I can not change volume. Any idea about what is wrong?
without audiobin, volume element can be added to the pipeline and also no problem for link to audioQueue and changing volume works fine.<span></span>
</code></pre></span>

</code></pre>
              </div>
              <div> </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </div>

</div></div>
            </div>
        </div></body></html>