Usage of the GstRTPHeaderExtension API

Matthew Waters ystreet00 at
Mon Feb 13 09:51:53 UTC 2023

No. the only thing that matters is the caps to header extension mapping 
for the caps-to-header-extension vfuncs.  There is no requirement that 
there be any application involvement at all.

The rtp caps are typically used with SDP generation functions which 
depending on your header extension may requires some extra 
values/attributes/whatever in that SDP.


On 13/2/23 20:31, Serhan Gül wrote:
> 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?
> Regards,
> Serhan
> 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: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the gstreamer-devel mailing list