decoder sets clock-rate for application/x-rtp wrong?
pmaersk at gmail.com
Tue Dec 2 08:33:06 PST 2014
Trying to decode a AV stream from a Wowza server using RTSP, GStreamer
1.4.4 seems to fail finding a suitable decoder, when the stream contain a
mpeg audio stream (mpeg version 1 - here MP3). Looking further into the
matter, it seems like it is the rtpmpadepay that fail. Now if i use AAC it
Looking at the capabilities for rtpmpadepay I notice that rtpmpadepay ONLY
accepts application/x-rtp input with a clock rate of 90000 which indeed is
the clock-rate for payload type 14 according to RFC2250,3551. However, it
appear gstreamer uridecodebin (and probably rtspsrc or others) are setting
the clock-rate for application/x-rtp from the audio rate description in sdp
rather than from payload type. If that is the case, then that is a bug.
Most payload types have a specific clock-rate such as payload type 14,
which is 90000, but the sample rate can for MPEG1 audio be 32000, 44100 or
48000 and for MPEG2 audio 16000, 22050 and 24000. So they should set the
parameters 'application/x-rtp,clock-rate=90000,rate=44100' if the sample
rate is that.
Part of the sdp file may look like this
m=audio 0 RTP/AVP 14
So rtspsrc (and perhaps others) need to be changed to set clock-rate
primarily from the payload types.
The reason it works with AAC is that the rtpmp4adepay module accepts a wide
range of clock-rates so a clock-rate of 44100 is accepted even though the
rtp clock-rate is 90000. Perhaps however, as the clock-rate is set to
44100, this may be the source for the annoying messages about the the
computer being slow while plenty of CPU is available. This could also be
the reason why playing a live RTSP stream often can lead to very very slow
video, but here I am just guessing.
The mail about problems for GStreamer playing live streams may be found
Would be nice if we can find the source of why GStreamer have problems
playing live streams.
. And indeed for AAC, rtsp
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel