communication between multiple gstreamer pipeline/apps

timothe jahan timothejahan at gmail.com
Tue Mar 29 09:38:09 PDT 2011


Any additional idea ?

Many thanks,
Timothe

On Sat, Mar 26, 2011 at 1:43 PM, timothe jahan <timothejahan at gmail.com>wrote:

> Hi,
> oggparse and typefind seems indeed to solve that first issue, but a new one
> appears.
> the new command is:
> *gst-launch-0.10 --gst-debug-level=2 filesrc location=./testfile.ogg !
> oggparse ! tcpserversink port=1234*
> now it fails as follow:
> *Définition du pipeline à PAUSED...*
> *Le pipeline est en phase de PREROLL...*
> *Le pipeline a terminé la phase PREROLL...*
> *Passage du pipeline à la phase PLAYING...*
> *New clock: GstSystemClock*
> *EOS reçu de l'élément « pipeline0 ».*
> *Execution ended after 8509877 ns.*
> *Définition du pipeline à PAUSED...*
> *Définition du pipeline à READY (prêt)...*
> *Définition du pipeline à NULL...*
> *0:00:00.115279949 16709 0x8069060 WARN           multifdsink
> gstmultifdsink.c:2291:gst_multi_fd_sink_handle_clients:<tcpserversink0> wait
> failed: Périphérique ou ressource occupé (16)*
> *Libération du pipeline (FREE)...*
> 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 (
> http://en.wikipedia.org/wiki/File:Big_Buck_Bunny_extract.ogg) but same.
>
> If I set the debug level to 3 I can see following lines (amongst many
> others !!):
> *0:00:00.130223762 16923 0x804e050 INFO             GST_EVENT
> gstevent.c:942:gst_event_new_latency: creating latency event
> 0:00:00.000000000*
> *0:00:00.130298217 16923 0x804e050 INFO                   bin
> gstbin.c:2069:do_bin_latency:<pipeline0> configured latency of
> 0:00:00.000000000*
> *0:00:00.144386914 16923 0x8157b38 INFO               basesrc
> gstbasesrc.c:2056:gst_base_src_loop:<filesrc0> pausing after
> gst_base_src_get_range() = unexpected*
> *0:00:00.144424840 16923 0x8157b38 INFO              GST_PADS
> gstpad.c:2933:gst_pad_event_default_dispatch:<oggparse0:sink> Sending event
> 0x804fd68 (eos) to all internally linked pads*
> *0:00:00.144473103 16923 0x804e050 INFO            GST_STATES
> gstelement.c:2148:gst_element_continue_state:<tcpserversink0> completed
> state change to PLAYING*
> *0:00:00.144490773 16923 0x804e050 INFO            GST_STATES
> gstelement.c:2161:gst_element_continue_state:<tcpserversink0> posting
> state-changed PAUSED to PLAYING*
> *0:00:00.144526744 16923 0x804e050 INFO            GST_STATES
> gstbin.c:2191:gst_bin_change_state_func:<pipeline0> child 'tcpserversink0'
> changed state to 4(PLAYING) successfully*
> *0:00:00.144548256 16923 0x804e050 INFO            GST_STATES
> gstelement.c:2148:gst_element_continue_state:<oggparse0> completed state
> change to PLAYING*
> *0:00:00.144561666 16923 0x804e050 INFO            GST_STATES
> gstelement.c:2161:gst_element_continue_state:<oggparse0> posting
> state-changed PAUSED to PLAYING*
> *0:00:00.144586392 16923 0x804e050 INFO            GST_STATES
> gstbin.c:2191:gst_bin_change_state_func:<pipeline0> child 'oggparse0'
> changed state to 4(PLAYING) successfully*
> *0:00:00.144606926 16923 0x804e050 INFO            GST_STATES
> gstelement.c:2148:gst_element_continue_state:<filesrc0> completed state
> change to PLAYING*
> *0:00:00.144626203 16923 0x804e050 INFO            GST_STATES
> gstelement.c:2161:gst_element_continue_state:<filesrc0> posting
> state-changed PAUSED to PLAYING*
> *0:00:00.144646039 16923 0x804e050 INFO            GST_STATES
> gstbin.c:2191:gst_bin_change_state_func:<pipeline0> child 'filesrc0' changed
> state to 4(PLAYING) successfully*
> *0:00:00.144663640 16923 0x804e050 INFO            GST_STATES
> gstelement.c:2148:gst_element_continue_state:<pipeline0> completed state
> change to PLAYING*
> *0:00:00.144676422 16923 0x804e050 INFO            GST_STATES
> gstelement.c:2161:gst_element_continue_state:<pipeline0> posting
> state-changed PAUSED to PLAYING*
> *New clock: GstSystemClock*
> *EOS reçu de l'élément « pipeline0 ».*
> *Execution ended after 102184 ns.*
> *Définition du pipeline à PAUSED...*
>
> So it seems that the oggparse (or typefind for the other case) sends the
> EOS before the end of the file.
> What could generate that ?
>
> Many thanks,
> Timothé
>
>
> On Sat, Mar 26, 2011 at 1:15 PM, Tim-Philipp Müller <t.i.m at zen.co.uk>wrote:
>
>> On Sat, 2011-03-26 at 10:43 +0100, timothe jahan wrote:
>>
>> Hi,
>>
>> > Thank you for the fast answer, however I have the impression that
>> > there is a misunderstanding.
>> > The command that fails is the server one, meaning :
>> > gst-launch filesrc location=./testfile.ogg ! tcpserversink port=1234
>>
>> Ah, sorry, you're right. Should've been obvious from the error message,
>> but I just saw 'not-negotiated' and started going after the usual
>> suspects, completely missing the 'gstmultifdsink.c(2506):
>> gst_multi_fd_sink_render (): /pipeline0/tcpserversink0: Received first
>> buffer without caps set' bit.
>>
>> So tcpserversink wants caps set on buffers fed to it. Generally the
>> easiest way to do that would be to put a typefind element after filesrc.
>>
>> In this case, however, you probably want to use an oggparse element
>> after filesrc. This should not only put proper caps with stream headers
>> on the buffers, but also set timestamps on buffers (in case you want to
>> throttle sending the data).
>>
>> Cheers
>>  -Tim
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110329/3025483b/attachment-0001.htm>


More information about the gstreamer-devel mailing list