WARNING: erroneous pipeline: could not link rtpl16pay0 to udpsink0

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

WARNING: erroneous pipeline: could not link rtpl16pay0 to udpsink0

amsts
I want to play a wave file as following

 gst-launch-1.0 -v filesrc location=./mysong.wav ! wavparse ! audioconvert !
rtpL16pay ! application/x-rtp, payload=11, encoding-name=L16,
clock-rate=16000, channels=1 ! udpsink host=localhost port=6000

I am getting a warning :

WARNING: erroneous pipeline: could not link rtpl16pay0 to udpsink0

The warning is due to the payload. If I am removing the payload the vlc is
showing error :

A description in SDP format is required to receive the RTP stream. Note that
rtp:// URIs cannot work with dynamic RTP payload format (96)

My file information :
Input File     : 'mysong.wav'
Channels       : 2
Sample Rate    : 16000
Precision      : 16-bit
Duration       : 00:00:54.31 = 868984 samples ~ 4073.36 CDDA sectors
File Size      : 3.48M
Bit Rate       : 512k
Sample Encoding: 16-bit Signed Integer PCM

How to solve this problem.
Thank You




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: WARNING: erroneous pipeline: could not link rtpl16pay0 to udpsink0

Tim Müller
On Tue, 2017-09-19 at 23:03 -0700, amsts wrote:

Hi,

> I want to play a wave file as following 
>
>  gst-launch-1.0 -v filesrc location=./mysong.wav ! wavparse !
> audioconvert !
> rtpL16pay ! application/x-rtp, payload=11, encoding-name=L16,
> clock-rate=16000, channels=1 ! udpsink host=localhost port=6000
>
> I am getting a warning :
>
> WARNING: erroneous pipeline: could not link rtpl16pay0 to udpsink0

Look at the source pad template caps in gst-inspect-1.0 rtpL16pay.

If you use payload type 10 or 11 that means you must use a sample rate
of 44100, which will result in clock-rate=44100 on the rtp output caps.

Your problem is that you specify both payload=11 and a non-44100 clock-
rate.

https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rt
p-parameters-1

One solution is to use an audioresample before rtpL16pay as well to
convert the input sample rate to 44100.

(It seems the only solution unless you wanat to use/re-encode to a
different format, since the restriction/requirement for non-dynamic pt
is on the VLC side according to the error message you post, if I
understood it correctly).

Cheers
 -Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com

Join us at the GStreamer Conference!
21-22 October 2017 in Prague, Czech Republic
http://gstreamer.freedesktop.org/conference/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: WARNING: erroneous pipeline: could not link rtpl16pay0 to udpsink0

amsts
Hi Tim,

Thank You for the reply.
I removed payload as you said but now I am getting another error and I am
not able to find what it is.
Can you help me out.

 gst-launch-1.0  filesrc location=./newsong.wav ! wavparse ! audioconvert !
rtpL16pay ! application/x-rtp, encoding-name=L16, payload=11,
channels=1,layout=interleaved ! udpsink host=localhost port=6000
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstWavParse:wavparse0: Internal
data flow error.
Additional debug info:
gstwavparse.c(2261): gst_wavparse_loop ():
/GstPipeline:pipeline0/GstWavParse:wavparse0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...


Thank You.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: WARNING: erroneous pipeline: could not link rtpl16pay0 to udpsink0

Tim Müller
On Wed, 2017-09-20 at 07:51 -0700, amsts wrote:

Hi,

> I removed payload as you said but now I am getting another error and
> I am not able to find what it is.
>
>  gst-launch-1.0  filesrc location=./newsong.wav ! wavparse !
> audioconvert ! rtpL16pay ! application/x-rtp, encoding-name=L16,
> payload=11, channels=1,layout=interleaved ! udpsink host=localhost
> port=6000
>
> streaming task paused, reason not-negotiated (-4)

This means there is a problem with the caps/formats, something is not
compatible.

I'm guessing the output of wavparse is not compatible in some way
(format, sample rate, number of channels) with what rtpL16pay requires
when forced to those output caps.

Add   ... ! wavparse ! audioresample ! audioconvert ! rtpL16pay ! ..

Cheers
 -Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com

Join us at the GStreamer Conference!
21-22 October 2017 in Prague, Czech Republic
http://gstreamer.freedesktop.org/conference/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: WARNING: erroneous pipeline: could not link rtpl16pay0 to udpsink0

amsts
Thanks a lot, Tim.

It helped me a lot.
But, when I see the debug data. I can see that the clock rate is 44100. But
in my requirement, the receiver should receive 16000hz frequency, linear pcm
16 bit and payload should be 11. With above change, I am completing only two
requirements I can not change the receiver settings. Is it possible to
satisfy all requirements?

 Anyway thanks once again.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel