<div>Hi Pavan,</div>
<div>&nbsp;</div>
<div>I am also relatively new to GStreamer but using it for a month now. Here is what I would suggest you to do:</div>
<div>&nbsp;</div>
<div>(a) The best way to understand whats going on behind the scene is to go through the debug level log messages. For example: gst-launch --gst-debug=5 --gst-debug-no-color filesrc location=&lt;...&gt; ! &lt;demuxer&gt; ! &lt;decoder&gt; ! &lt;sink&gt; 2&gt;/tmp/out. Quit the pipeline forcefully after a second since the generated log will be huge. It however pays to go through the pain of going through the huge log in /tmp/out.
</div>
<div>&nbsp;</div>
<div>(b) The best way to understand decodebin is to go through the decodebin code. It is easy to understand, and there is also an explanation given in the README file in the gst-plugins-base/gst/playback directory.&nbsp;<br><br>
Hope this would help in you in getting some answers for 1. I do not have a good knowledge on 2 and would myself wait for answers from seasoned gst developers.</div>
<div>&nbsp;</div>
<div>Regards,</div>
<div>Deeptendu</div>
<div>&nbsp;</div>
<div><span class="gmail_quote">On 9/5/06, <b class="gmail_sendername">Pavan Krishnamurthy</b> &lt;<a href="mailto:2pavan@gmail.com">2pavan@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>
<p style="MARGIN: 0in 0in 0pt">Hi,</p>
<p style="MARGIN: 0in 0in 0pt">&nbsp;</p>
<p style="MARGIN: 0in 0in 0pt">This is my first mail to this group. I have been working on gstreamer since a few days. Read most of the docs and experimented few things like writing new audio sink plugin. </p>
<p style="MARGIN: 0in 0in 0pt">&nbsp;</p>
<p style="MARGIN: 0in 0in 0pt">But I am not very much clear about some of the concepts. Can anybody explain me on the following? </p>
<p style="MARGIN: 0in 0in 0pt">&nbsp;</p>
<ol style="MARGIN-TOP: 0in" type="1">
<li style="MARGIN: 0in 0in 0pt">Typefind and autoplugging :</li></ol>
<p style="MARGIN: 0in 0in 0pt 0.25in"><span>&nbsp;</span>I wanted to know how a media player application builds a pipeline by itself, just by the media filename. Does the gstreamer loads all the plugins in the GST_PLUGIN_PATH whenever gstreamer is initialized? If not when will it load the exact plugin required to handle a particular media type. 
</p>
<p style="MARGIN: 0in 0in 0pt 0.25in">In the docs, it is written that, gstreamer uses a typefind element which iterates through all the plugins which implement typefind functionality. And when a plugin which can handle that media is found, it emits a signal. So does it mean that to load a plugin to handle a particular format, all the plugins in the system needs to be loaded? If not how can the typefind function of a plugin be called without loading it? 
</p>
<p style="MARGIN: 0in 0in 0pt 0.25in">&nbsp;</p>
<p style="MARGIN: 0in 0in 0pt 0.25in">Also I read about the elements &quot;playbin&quot; and &quot;decodebin&quot;. Do these elements help the application to build the pipeline dynamically? If so what mechanism do they use to build the pipeline? 
</p>
<p style="MARGIN: 0in 0in 0pt 0.25in">&nbsp;</p>
<ol style="MARGIN-TOP: 0in" type="1" start="2">
<li style="MARGIN: 0in 0in 0pt">XML and Registry in gstreamer:</li></ol>
<p style="MARGIN: 0in 0in 0pt 0.5in">In the docs it is written that XML is used internally to manage the plugin registry. The plugin registry is a file that contains the definition of all the plugins GStreamer knows about to have quick access to the specifics of the plugins. 
</p>
<p style="MARGIN: 0in 0in 0pt 0.5in">&nbsp;</p>
<p style="MARGIN: 0in 0in 0pt 0.5in">When is this registry.xml file generated first time? And how is it generated? How is this file used in gstreamer? Is it used for loading plugins dynamically?</p>
<p style="MARGIN: 0in 0in 0pt">&nbsp;</p>
<p style="MARGIN: 0in 0in 0pt">Thanks in advance for any sort of help.</p>
<p style="MARGIN: 0in 0in 0pt">Regards,</p></div>
<div><span class="sg">
<p style="MARGIN: 0in 0in 0pt">Pavan</p></span></div></blockquote></div>