Skip to content

rtp: basedepay / basedepay: Fix/clean up header extension negotiation

commit 3064d23f07ade2b596dc40616fcdf6ac9eec54f8
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Fri May 17 15:12:04 2024 +0300

    rtp: basepay: Fix header extension negotiation
    
    Only configure header extensions from the source pad caps if they exist
    already in the source pad caps, otherwise the configuration will fail.
    Extensions that are added via the signals might not exist in the source
    pad caps yet and would be added later.
    
    Also, if configuring an existing extension from the new caps fails,
    remove it and try to request a new extension for it.
    
    Additionally don't remove extensions from the caps that can't be
    provided. No header extensions for them would be added to the packets,
    but that's not a problem. Removing them on the other hand would cause
    negotiation to fail. This only affects extensions that are already
    included in the caps.

commit a6f82f6a786d80d2878036d04339404e905fd792
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Fri May 17 15:00:00 2024 +0300

    rtp: basedepay: Clean up header extension negotiation
    
    If configuring an existing extension from the new caps fails, remove it
    and try to request a new extension for it.
    
    Also remove all extensions from the list that are not provided in the
    caps, instead of passing RTP packets to all of them anyway.

Merge request reports