GNOME Bugzilla – Bug 686547
rtpopuspay outputs unparseable caps
Last modified: 2012-10-22 10:12:02 UTC
Tested on Raspbian (effectively Debian packages, armhf architecture), PyGST w/ 0.10.23. rtpopuspay yields the following caps: application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)X-GST-OPUS-DRAFT-SPITTKA-00, caps=(string)"audio/x-opus, multistream=(boolean)false, streamheader=(buffer)< 4f707573486561640102000080bb0000000000, 4f707573546167731e000000456e636f6465642077697468204753747265616d6572204f707573656e630000000001 >", ssrc=(uint)1840561209, payload=(int)96, clock-base=(uint)2761078862, seqnum-base=(uint)617 Upon trying to set up on the receiver by setting caps on the udpsrc, the following warnings and critical assertion failure pop up: 0:00:00.491406610 6606 0x2421a20 WARN default gststructure.c:2112:gst_structure_parse_field: failed to parse value caps=(string)"audio/x-opus, multistream=(boolean)false, streamheader=(buffer)< 4f707573486561640102000080bb0000000000, 4f707573546167731e000000456e636f6465642077697468204753747265616d6572204f707573656e630000000001 >", ssrc=(uint)1840561209, payload=(int)96, clock-base=(uint)2761078862, seqnum-base=(uint)617 0:00:00.492531625 6606 0x2421a20 WARN default gststructure.c:2293:gst_structure_from_string: Failed to parse field, r=caps=(string)"audio/x-opus, multistream=(boolean)false, streamheader=(buffer)< 4f707573486561640102000080bb0000000000, 4f707573546167731e000000456e636f6465642077697468204753747265616d6572204f707573656e630000000001 >", ssrc=(uint)1840561209, payload=(int)96, clock-base=(uint)2761078862, seqnum-base=(uint)617 (python:6606): GStreamer-CRITICAL **: gst_pad_set_caps: assertion `caps == NULL || gst_caps_is_fixed (caps)' failed /GstPipeline:rx/GstUDPSrc:udpsrc0.GstPad:src (gst.Pad) ANY I'm guessing this is choking on the caps within caps thing which is not standard for GStreamer. Is this workaroundable (drop inner caps/pass them elsewhere) or is this a bug within the caps parsing code that requires fixing? This effectively renders 0.10.23 unusable for RTP transit of Opus unless I'm being an idiot and missing something.
It should not put caps in there: commit 50140388d2b62d32dd9d0c071e3051ebc5b4083b Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Mon Oct 22 12:08:41 2012 +0200 opuspay: remove pointless caps serialization Remove the caps serialization in the rtp caps. the spec nor the receiver does anything with it. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686547