<br><br><div class="gmail_quote">On Mon, Dec 29, 2008 at 2:51 PM, Yool-Je Cho <span dir="ltr">&lt;<a href="mailto:revizes@yahoo.co.kr">revizes@yahoo.co.kr</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font:inherit">Hello...<br><br>I tested gstbin..<br><br>gst-launch-0.10 audiotestsrc ! queue ! audioconvert ! { vorbisenc ! oggmux } ! filesink location=audio.ogg<br>
is successed...<br><br>but...below is <br>Error: Internal data flow error. (gstbasesrc.c(2234): gst_base_src_loop (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:<br>streaming task paused, reason not-linked (-1))<br>
<br><br><br>static GstElement *make_encoder (void)<br>{<br>&nbsp;&nbsp;&nbsp; GstElement *result;<br>&nbsp;&nbsp;&nbsp; GstElement *codec;<br>&nbsp;&nbsp;&nbsp; GstElement *mux;<br>&nbsp;&nbsp;&nbsp; GstPad *pad;<br>&nbsp;&nbsp;&nbsp; GstCaps *caps;<br><br>&nbsp;&nbsp;&nbsp; /* create result bin */<br>&nbsp;&nbsp;&nbsp; result = gst_bin_new(NULL);<br>
&nbsp;&nbsp;&nbsp; g_assert(result);<br><br>&nbsp;&nbsp;&nbsp; /* create elements */<br>&nbsp;&nbsp;&nbsp; codec =
 gst_element_factory_make(&quot;vorbisenc&quot;, NULL);<br>&nbsp;&nbsp;&nbsp; g_assert(codec);<br><br>&nbsp;&nbsp;&nbsp; mux = gst_element_factory_make(&quot;oggmux&quot;, NULL);<br>&nbsp;&nbsp;&nbsp; g_assert(mux);<br><br>&nbsp;&nbsp;&nbsp; /* add elements to result bin */<br>&nbsp;&nbsp;&nbsp; gst_bin_add(GST_BIN(result), codec);<br>
&nbsp;&nbsp;&nbsp; gst_bin_add(GST_BIN(result), mux);<br><br>&nbsp;&nbsp;&nbsp; /* link elements */<br>&nbsp;&nbsp;&nbsp; gst_element_link_pads(codec, &quot;src&quot;, mux, &quot;sink&quot;);<br></td></tr></tbody></table></blockquote><div>&nbsp;</div><div>You should have tested the result of this call, it is failing because &#39;mux&#39; has no pad named &#39;sink&#39;. oggmux uses &#39;request pads&#39;, read the docs about it and you&#39;ll see how to fix this.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font:inherit"><br>
&nbsp;&nbsp;&nbsp; /* ghost src and sink pads */<br>&nbsp;&nbsp;&nbsp; pad = gst_element_get_static_pad(codec, &quot;sink&quot;);<br>&nbsp;&nbsp;&nbsp; gst_element_add_pad(result, gst_ghost_pad_new(&quot;sink&quot;, pad));<br>&nbsp;&nbsp;&nbsp; gst_object_unref(pad);<br><br>&nbsp;&nbsp;&nbsp; pad = gst_element_get_static_pad(mux, &quot;src&quot;);<br>
&nbsp;&nbsp;&nbsp; gst_element_add_pad(result, gst_ghost_pad_new(&quot;src&quot;, pad));<br>&nbsp;&nbsp;&nbsp; gst_object_unref(pad);<br><br>&nbsp;&nbsp;&nbsp;
 return result;<br>}<br><br><br>static GstElement *make_pipeline(void)<br>{<br>&nbsp;&nbsp;&nbsp; GstElement *result;<br>&nbsp;&nbsp;&nbsp; GstElement *audiosrc;<br>&nbsp;&nbsp;&nbsp; GstElement *queue;<br>&nbsp;&nbsp;&nbsp; GstElement *aconv;<br>&nbsp;&nbsp;&nbsp; GstElement *sink;<br>&nbsp;&nbsp;&nbsp; GstElement *encoder;<br>
<br>&nbsp;&nbsp;&nbsp; result = gst_pipeline_new(NULL);<br>&nbsp;&nbsp;&nbsp; g_assert(result);<br><br>&nbsp;&nbsp;&nbsp; /* create various elements */<br>&nbsp;&nbsp;&nbsp; audiosrc = gst_element_factory_make(&quot;audiotestsrc&quot;, NULL);<br>&nbsp;&nbsp;&nbsp; g_assert(audiosrc);<br><br>&nbsp;&nbsp;&nbsp; queue = gst_element_factory_make(&quot;queue&quot;, NULL);<br>
&nbsp;&nbsp;&nbsp; g_assert(queue);<br><br>&nbsp;&nbsp;&nbsp; aconv = gst_element_factory_make(&quot;audioconvert&quot;, NULL);<br>&nbsp;&nbsp;&nbsp; g_assert(aconv);<br><br><br>&nbsp;&nbsp;&nbsp; sink = gst_element_factory_make(&quot;filesink&quot;, NULL);<br>&nbsp;&nbsp;&nbsp; g_object_set(sink,
 &quot;location&quot;, &quot;audio.ogg&quot;, NULL);<br>&nbsp;&nbsp;&nbsp; g_assert(sink);<br><br>&nbsp;&nbsp;&nbsp; /* add elements */<br>&nbsp;&nbsp;&nbsp; gst_bin_add(GST_BIN(result), audiosrc);<br>&nbsp;&nbsp;&nbsp; gst_bin_add(GST_BIN(result), queue);<br>&nbsp;&nbsp;&nbsp; gst_bin_add(GST_BIN(result), aconv);<br>
&nbsp;&nbsp;&nbsp; gst_bin_add(GST_BIN(result), sink);<br><br>&nbsp;&nbsp;&nbsp; encoder = make_encoder();<br><br>&nbsp;&nbsp;&nbsp; gst_bin_add(GST_BIN(result), encoder);<br><br>&nbsp;&nbsp;&nbsp; /* link elements */<br>&nbsp;&nbsp;&nbsp; gst_element_link_pads(audiosrc, &quot;src&quot;, queue, &quot;sink&quot;);<br>
&nbsp;&nbsp;&nbsp; gst_element_link_pads(queue, &quot;src&quot;, aconv, &quot;sink&quot;);<br>&nbsp;&nbsp;&nbsp; gst_element_link_pads(aconv, &quot;src&quot;, encoder, &quot;sink&quot;);<br>&nbsp;&nbsp;&nbsp; gst_element_link_pads(encoder, &quot;src&quot;, sink, &quot;sink&quot;);<br>
<br>&nbsp;&nbsp;&nbsp; gst_element_set_state(result, GST_STATE_READY);<br><br>&nbsp;&nbsp;&nbsp; return result;<br>}<br><br><br>Where is
 incorrect?<br><br>Thanks..<br><br></td></tr></tbody></table><br>



      <hr size="1">
<p style="color:#808080;font:12px dotum;margin:0"><b>180¡Æ ´Þ¶óÁø ¾ßÈÄ! ¸ÞÀÏ</b><br>
µÎµÕ! <a href="http://us.rd.yahoo.com/mail_kr/taglines/mail4/*http://kr.content.mail.yahoo.com/cgland" target="_blank">»õ·Î¿î ¾ßÈÄ! ¸ÞÀÏ</a>¿¡¼­´Â ¸Þ½ÃÁö¸¦ ¿©±âÀú±â ²ø¾î´Ù ³õÀ» ¼ö ÀÖ´ä´Ï´Ù.</p><img width="0" height="0"><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>
<br></blockquote></div><br><br clear="all"><br>-- <br>Thiago Sousa Santos<br><br>Embedded Systems and Pervasive Computing Lab (Embedded)<br>Center of Electrical Engineering and Informatics (CEEI)<br>Federal University of Campina Grande (UFCG)<br>