Preamble ======= 1 - I have an ogg file with a single stream of a 4 channel vorbis encoded content captured with a format of: - rate=22050, - channels=4, - width=16,
- depth=16, - signed=true and - endianness=1234. 2 - Using following versions: On Ubuntu (server): GStreamer Core Library (as reported by gst-launch --gst-version) - 0.10.28
filesrc - 0.10.28 oggdemux - 0.10.28 vorbisdec - 0.10.28 queue - 0.10.28 deinterleave - 0.10.21 adder - 0.10.28 audioconvert - 0.10.28
audioresample - 0.10.28 celtenc - 0.10.18 udpsink - 0.10.21 rtpceltpay - 0.10.21 On Mac (client): GStreamer Core Library (as reported by gst-launch --gst-version) - 0.10.29
udpsrc - 0.10.23 celtdec - 0.10.19 audioconvert - 0.10.29 osxaudiosink - 0.10.23 rtpceltdepay - 0.10.23 Observation
========= When I do the following pipelines (as long as client is started first), pipelines are created and correct audio is heard on the client (thank goodness for having a simple network :) ):
Server (Ubuntu): gst-launch -v filesrc location='4chan.ogg' ! oggdemux ! vorbisdec ! queue ! deinterleave name=d0 \ adder name=a ! audioconvert ! audioresample ! audio/x-raw-int,width=16,depth=16,rate=32000,channels=2 ! celtenc ! udpsink host=<clientip> port=5555 \
d0. ! queue ! volume name=c1v ! audiopanorama panorama=0.0 ! a. \ d0. ! queue ! volume name=c2v ! audiopanorama panorama=0.0 ! a. \ d0. ! queue ! volume name=c3v ! audiopanorama panorama=0.0 ! a. \
d0. ! queue ! volume name=c4v ! audiopanorama panorama=0.0 ! a. Client (Mac): gst-launch -v udpsrc port=5555 caps="audio/x-celt,rate=32000" ! celtdec ! audioconvert ! osxaudiosink
When I add the rtpcelt(de)pay in the chain it fails to create the server pipeline with an error (actual error line follows pipeline description further down). As follows:
Server (Unsuccessful): gst-launch -v filesrc location='4chan.ogg' ! oggdemux ! vorbisdec ! queue ! deinterleave name=d0 \ adder name=a ! audioconvert ! audioresample ! audio/x-raw-int,width=16,depth=16,rate=32000,channels=2 ! celtenc ! rtpceltpay ! udpsink host=<clientip> port=5555 \
d0. ! queue ! volume name=v0 ! audiopanorama panorama=0.0 name=p0 ! a. \ d0. ! queue ! volume name=v1 ! audiopanorama panorama=0.0 name=p1 ! a. \ d0. ! queue ! volume name=v2 ! audiopanorama panorama=0.0 name=p2 ! a. \
d0. ! queue ! volume name=v3 ! audiopanorama panorama=0.0 name=p3 ! a. Error diplayed (eventhough -v is used): WARNING: erroneous pipeline: could not link p0 to a
Client (Mac): gst-launch -v udpsrc port=5555 caps="application/x-rtp,clock-rate=32000" ! rtpceltdepay ! celtdec ! audioconvert ! osxaudiosink The client pipeline is created successfully and does produce correct audio when a successful server pipeline is able to be generated. I was able to create a successful server pipeline by removing the audiopanorama elements, as follows (notice that the stream is now mono):
Server(Successful): gst-launch -v filesrc location='4chan.ogg' ! oggdemux ! vorbisdec ! queue ! deinterleave name=d0 \ adder name=a ! audioconvert ! audioresample ! audio/x-raw-int,width=16,depth=16,rate=32000,channels=1 ! celtenc ! rtpceltpay ! udpsink host=<clientip> port=5555 \
d0. ! queue ! volume name=v0 ! a. \ d0. ! queue ! volume name=v1 ! a. \ d0. ! queue ! volume name=v2 ! a. \ d0. ! queue ! volume name=v3 ! a.
Clien(Mac - as before): gst-launch -v udpsrc port=5555 caps="application/x-rtp,clock-rate=32000" ! rtpceltdepay ! celtdec ! audioconvert ! osxaudiosink
I have tried all sorts of combination of caps filters and audioconverters in the server pipeline but to no avail. I also tried to create the server pipeline on the Mac which appears to have later versions than the Ubuntu 10.04 distribution but again same error.
I also tried the following: gst-launch -v filesrc location='4chan.ogg' ! oggdemux ! vorbisdec ! queue ! deinterleave name=d0 ! queue ! volume name=v0 ! audiopanorama name=p0 ! \
adder name=a ! audioconvert ! audioresample ! audio/x-raw-int,width=16,depth=16,rate=32000,channels=2 ! celtenc ! rtpceltpay ! udpsink host=192.168.1.14 port=5555 \ d0. ! queue ! volume name=v1 ! audiopanorama name=p1 ! a. \
d0. ! queue ! volume name=v2 ! audiopanorama name=p2 ! a. \ d0. ! queue ! volume name=v3 ! audiopanorama name=p3 ! a. But still fails with:
WARNING: erroneous pipeline: could not link p1 to a notice p0 changed to p1 - might be a clue? Conclusion? ========= I was wondering if this is indeed a bug or is it the way I am constructing the pipeline or my usage of rtp(de)pay elements?
Thanks in Advance, Alfred PS I have included a bzip2 file of the text file (and decolorized) produced by using: GST_DEBUG=4 GST_DEBUG_NO_COLOR=1 gst-launch 2>err.txt -v ....
if you search for 'ERROR' it will take you to the area of the text file where gstreamer couldn't work it out. ------------------------------------------------------------------------------ Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel err.txt.bz2 (118K) Download Attachment |
Free forum by Nabble | Edit this page |