GNOME Bugzilla – Bug 731749
rtph264pay negotiation broken
Last modified: 2018-05-11 17:56:46 UTC
This simple pipeline fails: gst-launch-1.0 videotestsrc ! video/x-raw, format=Y42B ! x264enc ! rtph264pay ! application/x-rtp ! fakesink This is because of a clash between RTP offer/answer negotiation and gstreamer caps negotiation. In GStreamer's caps negotiation "application/x-rtp, encoding-name=H264" means any profile, but in the SDP world, it means the baseline profile. Since we try to merge both, we tried to come up with some solution with clever caps ordering, but it breaks if the input isn't 4:2:0. My newest suggestion is to just add a "sdp-offer-answer" property on the payloader to switch between the GStreamer mode where no property means anything and sdp O/A mode means baseline/minimum.
Olivier ? Any update ?
No real update, the problem is still there, I'm not sure how much I care. I think the end solution is maybe to not use GStreamer caps negotiation as SDP offer asnwer compatible, but to add some code to the elements that implement SDP O/A (like Farstream does and WebRTCBin probavbly should do to) that handles this corner case.