GNOME Bugzilla – Bug 704533
regression: rtppcmudpay no longer autoplugged for rtsp stream with mulaw audio
Last modified: 2013-07-19 12:00:25 UTC
After upgrade from 1.0.7 to 1.0.8 unable to play rtsp files: [ondrejj@work ~]$ gst-launch-1.0 playbin uri=rtsp://login:password@host/video.mjpg Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock Redistribute latency... Missing element: application/x-rtp decoder WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, clock-base=(uint)0, seqnum-base=(uint)0, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1'. Additional debug info: gsturidecodebin.c(880): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin1: Your GStreamer installation is missing a plug-in. Additional debug info: gstdecodebin2.c(3710): gst_decode_bin_expose (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin1: no suitable plugins found Execution ended after 155568843 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... After downgrade it works again.
Could you please attach a (compressed) GST_DEBUG=*:6 log for 1.0.7 (control-C once it starts playing) and 1.0.8?
Unable to upload 2 MB files to bugzilla, you can find them here: http://www.salstar.sk/temp/gst/
Problem is that the RTP caps contain just payload=0 without an encoding-name, but the rtppcmudepay depayloader wants both payload=0 and encoding-name=PCMU. Either by itself should be sufficient to identify pcmu, so the caps in the depayloader needed to be fixed. commit 620017ed390088a5776955b893c17d87417da8f5 Author: Marc Leeman <marc.leeman@gmail.com> Date: Mon Jan 28 12:23:41 2013 +0100 rtp: remove payload requirements from selected depayloaders encoding name is required in the caps and is a better fit for autoplugging than the pt value. Hardware manufacturers have a bad habit of skimming through RFCs and in this case; use unassigned numbers for encoders instead of dynamic numbers. In essence, this patch will add support for a lot of Bosch hardware encoders without breaking autoplugging. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=639292 commit dc41033ea6483e87d25d110d6fb9be3a49b69544 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Mon Jan 28 12:41:04 2013 +0100 rtpdepay: remove payload type restrictions Remove the pt restrictions for all the depayloaders that have an encoding-name. We can use this to autoplug decoders. Remove the encoding-name for all the payloaders with a fixed payload type. We now either have an encoding-name or a pt in the sinkpad caps of a depayloader. See https://bugzilla.gnome.org/show_bug.cgi?id=639292 Conflicts: gst/rtp/gstrtpmp2tdepay.c gst/rtp/gstrtpvp8depay.c