Hi,<br>i am using _activate function in pullreader plugin.<br>In this function i am checking gst_pad_check_pull_range() to <br>check upstream element supporting pull based method. <br>If supports i am starting task like gst_pullreader_getdata_loop.<br>
In this function i am using  gst_pad_pull_range to get the data from upstream element.<br><br>alsasrc ! pushreader ! pullreader ! alsasink<br><br>When i run in pipeline gst_pad_pull_range calling getrange funtion of pushreader. <br>
It is coming into getrange of pushreader, but upto that time no data pushed by alsasrc <br>into pushreader so buffer is NULL, so  getrange of pushreader return error message to gst_pad_pull_range.<br>This pullreader loop is running continously and checking for data. <br>
Chain function of pushreader not executing.<br><br><br>When i run <br><br>alsasrc ! pullreader ! pushreader ! alsasink<br><br>(pushreader - Removed set_getrange function from pushreader. <br>                       Pushreader push the data which it got from pullreader to alsasink.)<br>
<br>This pipeline is working properly. <br><br>But when i try to push data from pushreader to pullreader it is not working.<br>wheather it is the pipline problem or in gstreamer this type of schduling itself is not possible.<br>
please help me.<br><br>Thanks<br>Nagaraju K<br><br> <br><br><br><div class="gmail_quote">On Tue, Jul 28, 2009 at 7:20 AM, 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="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Have you added the _activate() on pullreader&#39;s sink pad?<br>
This function is necessary when activating your element in pull mode,<br>
as I guess by default,  the pads are activated in push mode.<br>
You can implement your custom activate() , which will inturn start the<br>
task on the sinkpad of the pullreader (depending upon upstream<br>
supporting get_range or not), hence operating in pull mode.<br>
for eg. qtdemux_sink_activate() in qtdemux.c<br>
<br>
As far as activate_push() is concerned... it depends on whether you<br>
want to start the task on the srcpad of pushreader(like queue) and<br>
push downstream. But in your case the downstream element (pullreader)<br>
does a get_range..<br>
<div><div></div><div class="h5"><br>
<br>
<br>
<br>
<br>
On 7/28/09, kodam naga &lt;<a href="mailto:raju01e@gmail.com">raju01e@gmail.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt; Thank you for your reply.<br>
&gt; In this pipeline pull element is in middle.<br>
&gt; I added activate_pull in pullreader plugin.<br>
&gt; i am using chain function in pushreader plugin.<br>
&gt; where should i use activate_push.<br>
&gt;<br>
&gt; Thanks<br>
&gt; Nagaraju K<br>
&gt;<br>
&gt; On Tue, Jul 28, 2009 at 5:03 AM, pritesh kumar<br>
&gt; &lt;<a href="mailto:pritesh.kumar2@gmail.com">pritesh.kumar2@gmail.com</a>&gt;wrote:<br>
&gt;<br>
&gt;&gt; hi ,<br>
&gt;&gt; i cant predict the exact reason, but according to me the pipeline u r<br>
&gt;&gt; trying to implement is not correct approach.<br>
&gt;&gt;<br>
&gt;&gt; the pull elements should be most upstream , otherwise u have to handle the<br>
&gt;&gt; pad activation functions properly.  activate_push () , activate_pull().<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Alternatively,<br>
&gt;&gt;<br>
&gt;&gt; the pipeline can be alsasrc  !  pushreader ! alsasink<br>
&gt;&gt;<br>
&gt;&gt; where the pushreader is  a push element .<br>
&gt;&gt;<br>
&gt;&gt; whereas in push reader u can have async data queue , which will receive<br>
&gt;&gt; data from alsasrc and on a separate thread push data to alsasink.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; let the push reader be a completey push element.<br>
&gt;&gt;<br>
&gt;&gt; or may be this approach alsasrc ! push reader ! queue ! alsasink<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; regards<br>
&gt;&gt; antwan rockamora<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Jul 28, 2009 at 12:59 PM, raju03e &lt;<a href="mailto:raju01e@gmail.com">raju01e@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I am a newbee to gstreamer. I am trying to explore about push and pull<br>
&gt;&gt;&gt; based<br>
&gt;&gt;&gt; scheduling in gstreamer.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I wrote pushreader, pullreader plugins.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; In pushreader - sink pad is exposed with chain function, src pad with<br>
&gt;&gt;&gt; set_getrange function. In chain function whatever data got from alsasrc,<br>
&gt;&gt;&gt; I<br>
&gt;&gt;&gt; stored that buffer into plugin internal buffer. Getrange function is<br>
&gt;&gt;&gt; using<br>
&gt;&gt;&gt; this internal buffer.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; In pullreader – sink pad is exposed with getrange function, it tries to<br>
&gt;&gt;&gt; get<br>
&gt;&gt;&gt; data from pushreader and push that data to alsasink.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Pipeline is alsasrc ! pushreader ! pullreader ! Alsasink<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; When I tried to execute the above pipeline, only getrange is scheduling,<br>
&gt;&gt;&gt; Chain function is not scheduling.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Please help me to solve this problem.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks<br>
&gt;&gt;&gt; Nagaraju K<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; View this message in context:<br>
&gt;&gt;&gt; <a href="http://www.nabble.com/Scheduling-Problem-tp24693862p24693862.html" target="_blank">http://www.nabble.com/Scheduling-Problem-tp24693862p24693862.html</a><br>
&gt;&gt;&gt; Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ------------------------------------------------------------------------------<br>
&gt;&gt;&gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008<br>
&gt;&gt;&gt; 30-Day<br>
&gt;&gt;&gt; trial. Simplify your report design, integration and deployment - and<br>
&gt;&gt;&gt; focus<br>
&gt;&gt;&gt; on<br>
&gt;&gt;&gt; what you do best, core application coding. Discover what&#39;s new with<br>
&gt;&gt;&gt; Crystal Reports now.  <a href="http://p.sf.net/sfu/bobj-july" target="_blank">http://p.sf.net/sfu/bobj-july</a><br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; gstreamer-devel mailing list<br>
&gt;&gt;&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
&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;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; ------------------------------------------------------------------------------<br>
&gt;&gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008<br>
&gt;&gt; 30-Day<br>
&gt;&gt; trial. Simplify your report design, integration and deployment - and focus<br>
&gt;&gt; on<br>
&gt;&gt; what you do best, core application coding. Discover what&#39;s new with<br>
&gt;&gt; Crystal Reports now.  <a href="http://p.sf.net/sfu/bobj-july" target="_blank">http://p.sf.net/sfu/bobj-july</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;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Nagaraju K<br>
&gt; Software Engineer<br>
&gt; Aricent Communications<br>
&gt; 9886490554<br>
&gt;<br>
<br>
------------------------------------------------------------------------------<br>
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day<br>
trial. Simplify your report design, integration and deployment - and focus on<br>
what you do best, core application coding. Discover what&#39;s new with<br>
Crystal Reports now.  <a href="http://p.sf.net/sfu/bobj-july" target="_blank">http://p.sf.net/sfu/bobj-july</a><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><br clear="all"><br>-- <br>Nagaraju K<br>Software Engineer<br>Aricent Communications<br>9886490554<br>