title: Signals and Callback in gstreamer
body: <p>I have a question about the Signal and Callback functions.</p>
  
  <p>The signal function:</p>
  
  <pre><code>/* Connect to the pad-added signal */
  g_signal_connect (data.source, "pad-added", G_CALLBACK (pad_added_handler), &amp;data);
  </code></pre>
  
  <p>The callback function:</p>
  
  <pre><code>static void pad_added_handler (GstElement *src, GstPad *new_pad, CustomData *data) {...} 
  </code></pre>
  
  <p>I took it from the tutorials: </p>
  
  <pre><code>http://docs.gstreamer.com/display/GstSDK/Basic+tutorial+3%3A+Dynamic+pipelines
  </code></pre>
  
  <p>My question is about the callback - How does it "know" the parameters ? It doesn't match the signals's parameters.</p>
  
  <p>What is the <code>GstPad *new_pad</code> parameter? Where did it come from? Who sent it?</p>
  
  <p>Thanks!</p>