Thank you for all of your input. Unfortunately I did not write the decoders at all, but I do have the source code. What is considered as decoder latency? Is it the time for decoder to set up or something else?<br>Cheers <br>
Ogi<br><br><div class="gmail_quote">On Thu, Dec 9, 2010 at 7:45 PM, ved kpl <span dir="ltr">&lt;<a href="mailto:ved.kpl@gmail.com">ved.kpl@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Fri, Dec 10, 2010 at 1:39 AM, Radivoje Jovanovic<br>
&lt;<a href="mailto:radivojejovanovic@gmail.com">radivojejovanovic@gmail.com</a>&gt; wrote:<br>
&gt; It seems like we are on a good path. after I tried the pipeline:<br>
&gt;  gst-launch-0.10 filesrc location=MY_MOVIE ! qtdemux name=t ! queue<br>
&gt; max-size-time=0 max-size-bytes=0 ! mpeg4dec ! MY_VIDEO_SINK t. ! queue<br>
&gt;   ! faad ! alsasink<br>
&gt;    (so I only give time and bytes for video side) the video and audio worked<br>
&gt; just fine.<br>
&gt;<br>
&gt; Unfortunately this trick does not work for the other decoder I have which<br>
&gt; decodes h264 videos.<br>
&gt;<br>
&gt; Even with the pipeline:<br>
&gt;  gst-launch-0.10 filesrc location=MY_MOVIE ! qtdemux name=t ! queue<br>
&gt; max-size-time=0 max-size-bytes=0 ! h264dec ! MY_VIDEO_SINK t. ! queue<br>
&gt;   ! faad ! alsasink<br>
&gt; The pipeline is stuck. This all has nothing to do with GST_FLOW_WRONG_STATE<br>
&gt; since this error pops up all the time after CTRL-C operation. Any idea why<br>
&gt; would h264 get stuck?<br>
<br>
</div>  To start off, try setting max-size-time/bytes/buffers=0 on the both<br>
the queues (no limits)<br>
  If it works, it indicates that your h264dec has a very high<br>
latency..and you can<br>
  narrow to the problem from here.<br>
<div class="im"><br>
&gt; Another question is if I am giving too much memory to gstreamer with<br>
&gt; max-size-time=0 max-size-bytes=0?<br>
<br>
</div> Well, It would depend on your codec details (resilution, etc),<br>
 environment/platform. You could possibly track down the issue.<br>
<div><div></div><div class="h5"><br>
&gt; Cheers<br>
&gt; Ogi<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Dec 8, 2010 at 8:27 PM, ved kpl &lt;<a href="mailto:ved.kpl@gmail.com">ved.kpl@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; One possible reason could be that one of the queues is getting full<br>
&gt;&gt; while the other remains empty<br>
&gt;&gt; because of<br>
&gt;&gt; (a) continuous audio/video buffers for a considerably longer time,<br>
&gt;&gt; longer than the what the queues can hold.<br>
&gt;&gt; (b) high latency at the your video decoder (mpeg4dec).<br>
&gt;&gt; Hence the streaming thread is blocked &amp; one of the sinks is not able<br>
&gt;&gt; to commit the state to PAUSED.<br>
&gt;&gt; (because it has not received a buffer yet).<br>
&gt;&gt;<br>
&gt;&gt; Yo can also set async=FALSE on the sinks and see. (not recommended)<br>
&gt;&gt;<br>
&gt;&gt; You can try disabling the the max time &amp; max bytes properties of the<br>
&gt;&gt; queue.<br>
&gt;&gt; Try the following pipeline<br>
&gt;&gt;<br>
&gt;&gt;  gst-launch-0.10 filesrc location=MY_MOVIE ! qtdemux name=t ! queue<br>
&gt;&gt; max-size-time=0 max-size-bytes=0 ! mpeg4dec ! MY_VIDEO_SINK t. ! queue<br>
&gt;&gt; max-size-time=0 max-size-bytes=0 ! faad ! alsasink -v<br>
&gt;&gt;<br>
&gt;&gt; Note that this will increase the mem usage.. and even more if u set<br>
&gt;&gt; max-size-buffers=0 as well. (queue without any limits!)<br>
&gt;&gt;<br>
&gt;&gt; Vikram<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Dec 9, 2010 at 9:44 AM, ved kpl &lt;<a href="mailto:ved.kpl@gmail.com">ved.kpl@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; On Thu, Dec 9, 2010 at 6:26 AM, Radivoje Jovanovic<br>
&gt;&gt; &gt; &lt;<a href="mailto:radivojejovanovic@gmail.com">radivojejovanovic@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; So the pipeline I am using is:<br>
&gt;&gt; &gt;&gt; gst-launch-0.10 filesrc location=MY_MOVIE ! qtdemux name=t ! queue  !<br>
&gt;&gt; &gt;&gt; mpeg4dec ! MY_VIDEO_SINK t. ! queue ! faad ! alsasink<br>
&gt;&gt; &gt;&gt; This pipeline will hang and after CTRL-C the mpeg4dec will show the<br>
&gt;&gt; &gt;&gt; message<br>
&gt;&gt; &gt;&gt; that is the result of calling gst_push_pad. This gst_push_pad will<br>
&gt;&gt; &gt;&gt; return<br>
&gt;&gt; &gt;&gt; GST_FLOW_WRONG_STATE.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; If I run gst-launch-0.10 filesrc location=MY_MOVIE ! qtdemux name=t !<br>
&gt;&gt; &gt;&gt; queue<br>
&gt;&gt; &gt;&gt; ! mpeg4dec ! MY_VIDEO_SINK<br>
&gt;&gt; &gt;&gt; the video will play just fine<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; If I run:<br>
&gt;&gt; &gt;&gt; gst-launch-0.10 filesrc location=MY_MOVIE ! qtdemux name=t ! queue !<br>
&gt;&gt; &gt;&gt; faad !<br>
&gt;&gt; &gt;&gt; alsasink<br>
&gt;&gt; &gt;&gt; the audio from the audio will play just fine.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I am not sure which code would be helpful since I have a lot of it.<br>
&gt;&gt; &gt;&gt; Thanks for the GST_DEBUG info.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Ogi<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Wed, Dec 8, 2010 at 4:05 PM, Tim-Philipp Müller &lt;<a href="mailto:t.i.m@zen.co.uk">t.i.m@zen.co.uk</a>&gt;<br>
&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; On Wed, 2010-12-08 at 12:53 -0800, Radivoje Jovanovic wrote:<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; I have a video sink and ALSA driver to be used to play videos on the<br>
&gt;&gt; &gt;&gt;&gt; &gt; platform. If I play video or audio by them self everything works<br>
&gt;&gt; &gt;&gt;&gt; &gt; fine,<br>
&gt;&gt; &gt;&gt;&gt; &gt; but if I specify the whole pipeline for video and audio, the video<br>
&gt;&gt; &gt;&gt;&gt; &gt; decoder (in pipeline right before the sink) comes back with the<br>
&gt;&gt; &gt;&gt;&gt; &gt; message:<br>
&gt;&gt; &gt;&gt;&gt; &gt; &quot;The decoded frame did not successfully push out to downstream<br>
&gt;&gt; &gt;&gt;&gt; &gt; element&quot;<br>
&gt;&gt; &gt;&gt;&gt; &gt; The message comes because the gst_pad_push have returned with<br>
&gt;&gt; &gt;&gt;&gt; &gt; GST_FLOW_WRONG_STATE instead GST_FLOW_OK.<br>
&gt;&gt; &gt;&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;&gt; &gt; Any idea why this might happen?<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; It usually helps if you post your exact pipeline and/or any code<br>
&gt;&gt; &gt;&gt;&gt; snippets that go with it.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; FLOW_WRONG_STATE is what you get when a pad is flushing, which may be<br>
&gt;&gt; &gt;&gt;&gt; normal (happens during a flushing seek, to make the old streaming<br>
&gt;&gt; &gt;&gt;&gt; thread<br>
&gt;&gt; &gt;&gt;&gt; stop) or because you forgot to set an element into PAUSED/PLAYING<br>
&gt;&gt; &gt;&gt;&gt; state<br>
&gt;&gt; &gt;&gt;&gt; (e.g. because you added it from a pad-added or new-decoded-pad<br>
&gt;&gt; &gt;&gt;&gt; callback<br>
&gt;&gt; &gt;&gt;&gt; or so).<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; The GST_DEBUG=*:5 log might give you more information (just grep for<br>
&gt;&gt; &gt;&gt;&gt; wrong-state and read the lines before that).<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Cheers<br>
&gt;&gt; &gt;&gt;&gt;  -Tim<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; ------------------------------------------------------------------------------<br>
&gt;&gt; &gt;&gt;&gt; This SF Dev2Dev email is sponsored by:<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; WikiLeaks The End of the Free Internet<br>
&gt;&gt; &gt;&gt;&gt; <a href="http://p.sf.net/sfu/therealnews-com" target="_blank">http://p.sf.net/sfu/therealnews-com</a><br>
&gt;&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt; gstreamer-devel mailing list<br>
&gt;&gt; &gt;&gt;&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
&gt;&gt; &gt;&gt;&gt; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; ------------------------------------------------------------------------------<br>
&gt;&gt; &gt;&gt; This SF Dev2Dev email is sponsored by:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; WikiLeaks The End of the Free Internet<br>
&gt;&gt; &gt;&gt; <a href="http://p.sf.net/sfu/therealnews-com" target="_blank">http://p.sf.net/sfu/therealnews-com</a><br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; gstreamer-devel mailing list<br>
&gt;&gt; &gt;&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
&gt;&gt; &gt;&gt; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; ------------------------------------------------------------------------------<br>
&gt;&gt; This SF Dev2Dev email is sponsored by:<br>
&gt;&gt;<br>
&gt;&gt; WikiLeaks The End of the Free Internet<br>
&gt;&gt; <a href="http://p.sf.net/sfu/therealnews-com" target="_blank">http://p.sf.net/sfu/therealnews-com</a><br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; gstreamer-devel mailing list<br>
&gt;&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
&gt;&gt; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
&gt;<br>
&gt;<br>
</div></div>&gt; ------------------------------------------------------------------------------<br>
<div><div></div><div class="h5">&gt;<br>
&gt; _______________________________________________<br>
&gt; gstreamer-devel mailing list<br>
&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
&gt; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
&gt;<br>
&gt;<br>
<br>
------------------------------------------------------------------------------<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br>