rtph264pay: Handle 'profile' field
authorThibault Saunier <tsaunier@igalia.com>
Thu, 2 Dec 2021 13:32:33 +0000 (13:32 +0000)
committerThibault Saunier <tsaunier@igalia.com>
Sun, 12 Dec 2021 13:59:00 +0000 (10:59 -0300)
commit49055f1cd5b5b97c23827ca22f4b0b0db6a3de72
treed9e1be6b4cd3629dfe63758939c21c107f14ec32
parent9ac502c21d5d51f87b38db2f3b6e8d435fe4478a
rtph264pay: Handle 'profile' field

In order to allow "level-asymmetry-allowed" we now handle a new
"profile" field, which as the same semantics as the "profile" field in
H.264 stream so that we can force payloaded stream to have the right
format when using the `gst_sdp_media_get_caps_from_media` to set caps
filter after the payloader. This allows a simple negotiation in standard
RTP negotiation based on SDPs (like webrtc) for that particular case,
closely respecting the specs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1410>
subprojects/gst-integration-testsuites/testsuites/validate.testslist
subprojects/gst-integration-testsuites/testsuites/validate/rtp/h264/payloader_fail_nego_force_profile.validatetest [new file with mode: 0644]
subprojects/gst-integration-testsuites/testsuites/validate/rtp/h264/payloader_nego_profile.validatetest [new file with mode: 0644]
subprojects/gst-integration-testsuites/testsuites/validate/rtp/h264/payloader_nego_profile/flow-expectations/log-pay-sink-expected [new file with mode: 0644]
subprojects/gst-integration-testsuites/testsuites/validate/rtp/h264/payloader_nego_profile/flow-expectations/log-pay-src-expected [new file with mode: 0644]
subprojects/gst-plugins-good/gst/rtp/gstrtph264pay.c
subprojects/gst-plugins-good/gst/rtp/gstrtph264pay.h