Usage of the GstRTPHeaderExtension API

Serhan Gül serhan at
Mon Feb 13 09:31:17 UTC 2023

Thanks. Does this mean that it depends on whether the header extension needs to get some input from the application and/or pass something back to the application? 


On Sun, Feb 12, 2023, at 2:49 AM, Matthew Waters wrote:
> The answer for what an implementation wants depends on if the header extension requires any changes to any of the caps or whether it can use the default implementation.
> There is no hard rule for how the caps mapping to rtp header extension works.
> Cheers
> -Matt
> On 11/2/23 02:35, Serhan Gül via gstreamer-devel wrote:
>> Hi,
>> I'm writing a custom header extension using GstRTPHeaderExtensionClass. Checking the implementations of the existing header extension implementations in GStreamer, I noticed that there are differences in the used API methods to update the payloader/depayloader caps. For example. rtphdrextcolorspace uses gst_rtp_header_extension_set_non_rtp_sink_caps to pass the payloader's sink caps to the extension and gst_rtp_header_extension_update_non_rtp_src_caps to update the deployader's src caps. However,  rtphdrextclientaudiolevel and rtphdrextmid use gst_rtp_header_extension_set_caps_from_attributes. Finally, rtphdrextstreamid uses none of the above methods; so it seems like it does not set any caps.
>> So I have two questions:
>> 1. What is the difference between using these methods? 
>> 2. Why does rtphdrextstreamid not use any of them?
>> Thanks!
>> Best regards,
>> Serhan
> *Attachments:*
>  • OpenPGP_signature
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list