[gst-devel] Re: udp transfer/play wav file problem

sam wang samwzm at yahoo.com
Fri May 26 01:44:09 CEST 2006


thank you very much, Mike! I tried all my best but without luck. the following is the result:

first start terminal 1: 

ubuntu at ubuntu:~$ gst-launch-0.10 -v audiotestsrc ! udpsink
Setting pipeline to PAUSED ...
/pipeline0/audiotestsrc0.src: caps = audio/x-raw-int, endianness=(int)4321, signed=(boolean)true,
width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)1
Pipeline is PREROLLING ...
/pipeline0/udpsink0.sink: caps = audio/x-raw-int, endianness=(int)4321, signed=(boolean)true,
width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

there is no change in terminal one as the server to send file. all I modify is terminal two, as
the client to receive data through UDP protocol.
*********************************************************************************
first case of terminal two:
(according to your suggestion, I add typefind to let gstreamer find mime type automatically, but
gstreamer said it didn't want to pause and go error. I don't know why it won't pause)

ubuntu at ubuntu:~$ gst-launch-0.10 -v udpsrc ! typefind ! wavparse ! audioconvert ! alsasink Setting
pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause.
Setting pipeline to NULL ...
FREEING pipeline ...

*********************************************************************************
second case of terminal two:
(I remove wavparse, then gstreamer said it didn't know the stream format. I think wav is the basic
format, right? do you know how I should explicitly specify the decoder for wav format?)

ubuntu at ubuntu:~$ gst-launch-0.10 -v udpsrc ! typefind ! audioconvert ! alsasink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /pipeline0/typefindelement0: Could not determine type of stream.
Additional debug info:
gsttypefindelement.c(563): gst_type_find_element_chain_do_typefinding ():
/pipeline0/typefindelement0
Execution ended after 1498235000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

**************************************************************************************
third case of terminal two:
(according to your suggestion, I add a filtered cap which corresponds to terminal one's output. so
I don't think there is incompatible/negotiate problem. just as in my reply to Thomas, when it
outputs 
"(gst-launch-0.10:19032): GStreamer-CRITICAL **: gst_segment_clip: assertion `segment->format ==
format' failed"
then just hung there. I don't know what's this mean and how to solve. maybe it's a bug, but I am
not sure. please refer to this web page:http://bugzilla.gnome.org/show_bug.cgi?id=331323)

ubuntu at ubuntu:~$ gst-launch-0.10 -v udpsrc ! queue ! 'audio/x-raw-int, endianness=(int)4321,
signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)1'  ! alsasink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/pipeline0/capsfilter0.sink: caps = audio/x-raw-int, endianness=(int)4321, signed=(boolean)true,
width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)1
/pipeline0/capsfilter0.src: caps = audio/x-raw-int, endianness=(int)4321, signed=(boolean)true,
width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)1
/pipeline0/alsasink0.sink: caps = audio/x-raw-int, endianness=(int)4321, signed=(boolean)true,
width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)1

(gst-launch-0.10:19032): GStreamer-CRITICAL **: gst_segment_clip: assertion `segment->format ==
format' failed


************************************************************************************
************************************************************************************

the above is my sad experience. sorry for the long one.

any hint will great appriciate!
Sammy









--- Michael Smith <msmith at fluendo.com> wrote:

> On Wed, 2006-05-24 at 13:42 -0700, sam wang wrote:
> > Hi,Stefan,
> > 
> > thank you very much for your help! unfortunately, your suggestion won't work for me. please
> refer
> > the bottom for details.
> > 
> > I don't know what's mean "not negotiated", what cause it and how to solve it.
> 
> The main problem you're encountering is that you're sending data over
> the network, but not a) telling the client what it is, or b) using
> gstreamer's typefind functionality to let gstreamer figure this out by
> itself.
> 
> So, when you send audio, of course alsasink can't do anything with it -
> it doesn't know anything about what the data contains - it might be
> anything.
> 
> You need to use filtered caps, or the typefind element, most likely.
> 
> Mike
> 
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




More information about the gstreamer-devel mailing list