<div>Zhao &amp; Stefan,</div>
<div>Thank you both, for your responses.</div>
<div>&nbsp;</div>
<div>I didnt&#39; quite understand what you meant. As I understand caps negotiation, there should be no problem with the negotiation process if the adecoder sink pad (that feeds into the adecoder element) caps has an overlap with the filesrc src pad (that takes the data read from the file, by the filesrc element). And since the filesrc src pad is &#39;ANY&#39;, there should be an overlap always and therefore, there should be no problem. I&#39;m not sure if that understanding is correct.</div>

<div>&nbsp;</div>
<div>Here&#39;s the entire adecoder caps values (obtained by using the command &quot;gst-inspect-0.10 adecoder&quot; on the command line) :</div>
<div><br>Pad Templates:<br>&nbsp; SRC template: &#39;src&#39;<br>&nbsp;&nbsp;&nbsp; Availability: Always<br>&nbsp;&nbsp;&nbsp; Capabilities:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; audio/x-raw-int<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endianness: 1234<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; signed: true<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 16<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; depth: 16<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rate: { 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; channels: [ 1, 2 ]</div>
<div>&nbsp; SINK template: &#39;sink&#39;<br>&nbsp;&nbsp;&nbsp; Availability: Always<br>&nbsp;&nbsp;&nbsp; Capabilities:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; audio/mpeg<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mpegversion: { 1, 2, 4 }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layer: { 1, 2, 3 }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; audio/x-wma<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wmaversion: { 1, 2, 3 }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rate: { 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; channels: [ 1, 2 ]</div>
<div>&nbsp;</div>
<div>Please let me know if my understanding is incorrect or if there could be some other problem.</div>
<div>&nbsp;</div>
<div>Thanks.</div>
<div>&nbsp;</div>
<div>Vijay</div>
<div>&nbsp;</div>
<div><br>&nbsp;</div>
<div class="gmail_quote">On Mon, Apr 14, 2008 at 1:48 AM, Stefan Kost &lt;<a href="mailto:ensonic@hora-obscura.de">ensonic@hora-obscura.de</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Zhao Liang-E3423C schrieb: 
<div class="Ih2E3d"><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px; BORDER-LEFT: #ccc 1px solid">Vijay,<br>&nbsp;I think you can open the log for more information,<br>export GST_DEBUG=GST_CAPS:5<br>&nbsp;Seems actual adecoder src0 caps is not a subset of src template caps, maybe the src rate, channels, or depth is not suitable for template caps.<br>
</blockquote><br></div>This is a programming error in TIs elements. The quite likely set a value in the caps which are not in the template caps. Unfortunately you did not send those (just as &quot;...&quot;). But there they quite likely forgot e.g. rate or channels.<br>
<br>Stefan<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px; BORDER-LEFT: #ccc 1px solid">&nbsp;<br>*Best Regards 
<div>
<div></div>
<div class="Wj3C7c"><br>Zhao Liang*<br><br>------------------------------------------------------------------------<br>*From:* Vijay [mailto:<a href="mailto:vijay.linux.mail@gmail.com" target="_blank">vijay.linux.mail@gmail.com</a>]<br>
*Sent:* Thursday, April 10, 2008 9:38 PM<br>*To:* Zhao Liang-E3423C<br>*Cc:* <a href="mailto:gstreamer-embedded@lists.sourceforge.net" target="_blank">gstreamer-embedded@lists.sourceforge.net</a><br>*Subject:* Re: [gst-embedded] GStreamer on TI&#39;s embedded platform<br>
<br>Thanks for your response, Zhao. I really appreciate it. I didn&#39;t get a chance to respond to your mail until now.<br>&nbsp;I don&#39;t think I&#39;m missing a mp3 demux element. Here&#39;s why:<br>&nbsp;- This file has worked with every decoder I&#39;ve tried, without any demuxing or parsing of container format (and I&#39;ve tried a lot of decoders on a lot of systems! - all without any demuxing)<br>
&nbsp;- It has no ID3 or other tags (I removed all such MP3 headers and trailers in the file, myself)<br>&nbsp;- It has only an elementary stream that contains only MP3 frames (each frame starting with &quot;0xFF 0xFB&quot;), all of the same length.<br>
That means, this file should not require a MP3 parser and any MP3 decoder should be able to decode the contents of the file directly.<br>Plus, this pipeline comes from Texas Instruments, and they must have tested this before they put it on their website (hopefully)!<br>
&nbsp;Coming back to the problem I was facing:<br>I was wrong about one thing. These are not two problems - it&#39;s probably one problem. It can&#39;t pause because it probably cannot negotiate caps.<br>Here&#39;s what gst-inspect says about TI&#39;s adecoder plugin:<br>
<br>Pad Templates:<br>&nbsp;SRC template: &#39;src&#39;<br>&nbsp; &nbsp;Availability: Always<br>&nbsp; &nbsp;Capabilities:<br>&nbsp; &nbsp; &nbsp;audio/x-raw-int<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...<br>&nbsp;SINK template: &#39;sink&#39;<br>&nbsp; &nbsp;Availability: Always<br>
&nbsp; &nbsp;Capabilities:<br>&nbsp; &nbsp; &nbsp;audio/mpeg<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mpegversion: { 1, 2, 4 }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;layer: { 1, 2, 3 }<br>&nbsp; &nbsp; &nbsp;audio/x-wma<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; wmaversion: { 1, 2, 3 }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rate: { 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; channels: [ 1, 2 ]<br>&nbsp;If I understand this correctly, it means that it takes mp3 or wma audio data as input and gives raw pcm samples as output. Since the filesrc element can output &quot;any&quot; data type, they should match and it should not be a problem. So I&#39;m still stuck and I don&#39;t have a clue as to what the problem could be. Please, let me know if you have any idea about this problem. I&#39;d appreciate any help.<br>
&nbsp;Thanks.<br>&nbsp;Vijay<br><br></div></div>
<div class="Ih2E3d">On Tue, Apr 8, 2008 at 8:20 AM, Zhao Liang-E3423C &lt;<a href="mailto:E3423C@motorola.com" target="_blank">E3423C@motorola.com</a> &lt;mailto:<a href="mailto:E3423C@motorola.com" target="_blank">E3423C@motorola.com</a>&gt;&gt; wrote:<br>
<br>&nbsp; &nbsp;Vijay,<br>&nbsp; &nbsp; &nbsp; &nbsp;I think maybe you miss a mp3demuxe between filesrc and adecoder.<br>&nbsp; &nbsp;and the command shall be<br>&nbsp; &nbsp;gst-launch-0.10 filesrc location=$1 ! mp3demux ! adecoder Codec=3 !<br>&nbsp; &nbsp;osssink<br>&nbsp; &nbsp;TI adecoder element may not accept the filesrc RAW caps.<br>
<br>&nbsp; &nbsp;*Best Regards<br>&nbsp; &nbsp;Zhao Liang *<br><br>&nbsp; &nbsp;------------------------------------------------------------------------<br>&nbsp; &nbsp;*From:* <a href="mailto:gstreamer-embedded-bounces@lists.sourceforge.net" target="_blank">gstreamer-embedded-bounces@lists.sourceforge.net</a><br>
&nbsp; &nbsp;&lt;mailto:<a href="mailto:gstreamer-embedded-bounces@lists.sourceforge.net" target="_blank">gstreamer-embedded-bounces@lists.sourceforge.net</a>&gt;<br>&nbsp; &nbsp;[mailto:<a href="mailto:gstreamer-embedded-bounces@lists.sourceforge.net" target="_blank">gstreamer-embedded-bounces@lists.sourceforge.net</a><br>
&nbsp; &nbsp;&lt;mailto:<a href="mailto:gstreamer-embedded-bounces@lists.sourceforge.net" target="_blank">gstreamer-embedded-bounces@lists.sourceforge.net</a>&gt;] *On<br>&nbsp; &nbsp;Behalf Of *Vijay<br>&nbsp; &nbsp;*Sent:* Monday, April 07, 2008 8:32 PM<br>
&nbsp; &nbsp;*To:* <a href="mailto:gstreamer-embedded@lists.sourceforge.net" target="_blank">gstreamer-embedded@lists.sourceforge.net</a><br></div>&nbsp; &nbsp;&lt;mailto:<a href="mailto:gstreamer-embedded@lists.sourceforge.net" target="_blank">gstreamer-embedded@lists.sourceforge.net</a>&gt; 
<div>
<div></div>
<div class="Wj3C7c"><br>&nbsp; &nbsp;*Subject:* [gst-embedded] GStreamer on TI&#39;s embedded platform<br><br>&nbsp; &nbsp;Hi,<br>&nbsp; &nbsp;I received TI&#39;s port of gstreamer to it&#39;s DaVinci processors from<br>&nbsp; &nbsp;<a href="http://focus.ti.com/dsp/docs/dspsplash.tsp?contentId=3100" target="_blank">http://focus.ti.com/dsp/docs/dspsplash.tsp?contentId=3100</a><br>
&nbsp; &nbsp; &nbsp; &nbsp;I&#39;ve tried to run the example (scripts) provided by TI and I&#39;ve<br>&nbsp; &nbsp;faced what seem to be two separate issues.<br>&nbsp; &nbsp;I&#39;ve copied the stdout log below:<br>&nbsp; &nbsp; &nbsp; &nbsp;&lt;linux prompt&gt;:/opt/system_files_gstreamer# ./test_MP3.sh MP3_file.mp3<br>
&nbsp; &nbsp;Setting pipeline to PAUSED ...<br>&nbsp; &nbsp;Pipeline is PREROLLING ...<br>&nbsp; &nbsp;(gst-launch-0.10:1204): GStreamer-WARNING **: pad adecoder0:src<br>&nbsp; &nbsp;returned caps which are not a real subset of its template caps<br>&nbsp; &nbsp;(gst-launch-0.10:1204): GStreamer-CRITICAL **:<br>
&nbsp; &nbsp;gst_caps_get_structure: assertion `index &lt; caps-&gt;structs-&gt;len&#39; failed<br>&nbsp; &nbsp;(gst-launch-0.10:1204): GStreamer-CRITICAL **:<br>&nbsp; &nbsp;gst_structure_get_int: assertion `structure != NULL&#39; failed<br><br>&nbsp; &nbsp;[program hangs here]<br>
&nbsp; &nbsp; &nbsp; &nbsp;For most of you, who don&#39;t know about this script: All it does is<br>&nbsp; &nbsp;after setting the gstreamer, plugin and library paths, it runs<br>&nbsp; &nbsp;gst-launch with a pipeline, thus: gst-launch-0.10 filesrc<br>&nbsp; &nbsp;location=$1 ! adecoder Codec=3 ! osssink<br>
<br>&nbsp; &nbsp;The two issues I&#39;m facing:<br>&nbsp; &nbsp;(a) The *last* element in the gstreamer pipeline does not reply with<br>&nbsp; &nbsp;a message to the app saying it has paused (This is ascertained with<br>&nbsp; &nbsp;debug prints that I inserted in gst-launch.c. It&#39;s possible that for<br>
&nbsp; &nbsp;some reason, the element does not pause. I&#39;ve faced this same issue<br>&nbsp; &nbsp;with pipelines which have no decode/render elements as well.)<br>&nbsp; &nbsp;Actually, I&#39;m not sure if (a) it doesn&#39;t pause because it doesn&#39;t<br>
&nbsp; &nbsp;finish preroll or (b) it says it hasn&#39;t finished preroll because it<br>&nbsp; &nbsp;doesn&#39;t send a pause signal! (I&#39;m not sure which is the cause and<br>&nbsp; &nbsp;which is the effect).<br><br>&nbsp; &nbsp;(b) The critical errors printed (seen above. I guess these are<br>
&nbsp; &nbsp;caused because of TI&#39;s mp3 decoder element plugin.) Could the<br>&nbsp; &nbsp;adecoder capabilities be incompatible? Seems unlikely, since TI<br>&nbsp; &nbsp;would have tested this first.<br><br><br>&nbsp; &nbsp;Would anyone know what the issue might be? Has anyone seen a similar<br>
&nbsp; &nbsp;issue with gstreamer?<br>&nbsp; &nbsp;I&#39;d greatly appreciate any help.<br>&nbsp; &nbsp;Thanks.<br><br><br>&nbsp; &nbsp;Vijay<br><br><br></div></div></blockquote></blockquote></div>