Any additional idea ?<div><br></div><div>Many thanks, </div><div>Timothe<br><br><div class="gmail_quote">On Sat, Mar 26, 2011 at 1:43 PM, timothe jahan <span dir="ltr">&lt;<a href="mailto:timothejahan@gmail.com">timothejahan@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<div>oggparse and typefind seems indeed to solve that first issue, but a new one appears.</div><div>the new command is:</div>

<div><i>gst-launch-0.10 --gst-debug-level=2 filesrc location=./testfile.ogg ! oggparse ! tcpserversink port=1234</i></div>
<div>now it fails as follow:</div><div><div class="im"><div><i>Définition du pipeline à PAUSED...</i></div><div><i>Le pipeline est en phase de PREROLL...</i></div><div><i>Le pipeline a terminé la phase PREROLL...</i></div>

<div><i>Passage du pipeline à la phase PLAYING...</i></div>
<div><i>New clock: GstSystemClock</i></div></div><div><i>EOS reçu de l&#39;élément « pipeline0 ».</i></div><div><i>Execution ended after 8509877 ns.</i></div><div class="im"><div><i>Définition du pipeline à PAUSED...</i></div>

<div><i>Définition du pipeline à READY (prêt)...</i></div>
<div><i>Définition du pipeline à NULL...</i></div></div><div><i>0:00:00.115279949 16709 0x8069060 WARN           multifdsink gstmultifdsink.c:2291:gst_multi_fd_sink_handle_clients:&lt;tcpserversink0&gt; wait failed: Périphérique ou ressource occupé (16)</i></div>


<div><i>Libération du pipeline (FREE)...</i></div></div><div>For some reason it seems to get an end of stream from the beginning. To be sure my file is not wrongly formed I tried with the bunny example (<a href="http://en.wikipedia.org/wiki/File:Big_Buck_Bunny_extract.ogg" target="_blank">http://en.wikipedia.org/wiki/File:Big_Buck_Bunny_extract.ogg</a>) but same.</div>


<div><br></div><div>If I set the debug level to 3 I can see following lines (amongst many others !!):</div><div><div><i>0:00:00.130223762 16923 0x804e050 INFO             GST_EVENT gstevent.c:942:gst_event_new_latency: creating latency event 0:00:00.000000000</i></div>


<div><i>0:00:00.130298217 16923 0x804e050 INFO                   bin gstbin.c:2069:do_bin_latency:&lt;pipeline0&gt; configured latency of 0:00:00.000000000</i></div><div><i>0:00:00.144386914 16923 0x8157b38 INFO               basesrc gstbasesrc.c:2056:gst_base_src_loop:&lt;filesrc0&gt; pausing after gst_base_src_get_range() = unexpected</i></div>


<div><i><b>0:00:00.144424840 16923 0x8157b38 INFO              GST_PADS gstpad.c:2933:gst_pad_event_default_dispatch:&lt;oggparse0:sink&gt; Sending event 0x804fd68 (eos) to all internally linked pads</b></i></div><div><i>0:00:00.144473103 16923 0x804e050 INFO            GST_STATES gstelement.c:2148:gst_element_continue_state:&lt;tcpserversink0&gt; completed state change to PLAYING</i></div>


<div><i>0:00:00.144490773 16923 0x804e050 INFO            GST_STATES gstelement.c:2161:gst_element_continue_state:&lt;tcpserversink0&gt; posting state-changed PAUSED to PLAYING</i></div><div><i>0:00:00.144526744 16923 0x804e050 INFO            GST_STATES gstbin.c:2191:gst_bin_change_state_func:&lt;pipeline0&gt; child &#39;tcpserversink0&#39; changed state to 4(PLAYING) successfully</i></div>


<div><i>0:00:00.144548256 16923 0x804e050 INFO            GST_STATES gstelement.c:2148:gst_element_continue_state:&lt;oggparse0&gt; completed state change to PLAYING</i></div><div><i>0:00:00.144561666 16923 0x804e050 INFO            GST_STATES gstelement.c:2161:gst_element_continue_state:&lt;oggparse0&gt; posting state-changed PAUSED to PLAYING</i></div>


<div><i>0:00:00.144586392 16923 0x804e050 INFO            GST_STATES gstbin.c:2191:gst_bin_change_state_func:&lt;pipeline0&gt; child &#39;oggparse0&#39; changed state to 4(PLAYING) successfully</i></div><div><i>0:00:00.144606926 16923 0x804e050 INFO            GST_STATES gstelement.c:2148:gst_element_continue_state:&lt;filesrc0&gt; completed state change to PLAYING</i></div>


<div><i>0:00:00.144626203 16923 0x804e050 INFO            GST_STATES gstelement.c:2161:gst_element_continue_state:&lt;filesrc0&gt; posting state-changed PAUSED to PLAYING</i></div><div><i>0:00:00.144646039 16923 0x804e050 INFO            GST_STATES gstbin.c:2191:gst_bin_change_state_func:&lt;pipeline0&gt; child &#39;filesrc0&#39; changed state to 4(PLAYING) successfully</i></div>


<div><i>0:00:00.144663640 16923 0x804e050 INFO            GST_STATES gstelement.c:2148:gst_element_continue_state:&lt;pipeline0&gt; completed state change to PLAYING</i></div><div><i>0:00:00.144676422 16923 0x804e050 INFO            GST_STATES gstelement.c:2161:gst_element_continue_state:&lt;pipeline0&gt; posting state-changed PAUSED to PLAYING</i></div>


<div><i>New clock: GstSystemClock</i></div><div><i>EOS reçu de l&#39;élément « pipeline0 ».</i></div><div><i>Execution ended after 102184 ns.</i></div><div class="im"><div><i>Définition du pipeline à PAUSED...</i></div></div>

</div><div><br></div>
<div>So it seems that the oggparse (or typefind for the other case) sends the EOS before the end of the file.</div><div>What could generate that ?</div><div><br></div><div>Many thanks,</div><div>Timothé</div><div><div></div>

<div class="h5"><div><br></div>
<div><br><div class="gmail_quote">On Sat, Mar 26, 2011 at 1:15 PM, Tim-Philipp Müller <span dir="ltr">&lt;<a href="mailto:t.i.m@zen.co.uk" target="_blank">t.i.m@zen.co.uk</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Sat, 2011-03-26 at 10:43 +0100, timothe jahan wrote:<br>
<br>
Hi,<br>
<br>
&gt; Thank you for the fast answer, however I have the impression that<br>
&gt; there is a misunderstanding.<br>
&gt; The command that fails is the server one, meaning :<br>
&gt; gst-launch filesrc location=./testfile.ogg ! tcpserversink port=1234<br>
<br>
</div>Ah, sorry, you&#39;re right. Should&#39;ve been obvious from the error message,<br>
but I just saw &#39;not-negotiated&#39; and started going after the usual<br>
suspects, completely missing the &#39;gstmultifdsink.c(2506):<br>
<div>gst_multi_fd_sink_render (): /pipeline0/tcpserversink0: Received first<br>
</div>buffer without caps set&#39; bit.<br>
<br>
So tcpserversink wants caps set on buffers fed to it. Generally the<br>
easiest way to do that would be to put a typefind element after filesrc.<br>
<br>
In this case, however, you probably want to use an oggparse element<br>
after filesrc. This should not only put proper caps with stream headers<br>
on the buffers, but also set timestamps on buffers (in case you want to<br>
throttle sending the data).<br>
<div><div></div><div><br>
Cheers<br>
 -Tim<br>
<br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>