Skip to content
Snippets Groups Projects
  • Joshua C. Colp's avatar
    5a5be92b
    bridging: Add better support for adding/removing streams. · 5a5be92b
    Joshua C. Colp authored
    This change adds support to bridge_softmix to allow the addition
    and removal of additional video source streams. When such a change
    occurs each participant is renegotiated as needed to reflect the
    update. If another video source is added then each participant
    gets another source. If a video source is removed then it is
    removed from each participant. This functionality allows you to
    have both your webcam and screenshare providing video if you
    desire, or even more streams. Mapping has been changed to use
    the topology index on the source channel as a unique identifier
    for outgoing participant streams, this will never change and
    provides an easy way to establish the mapping.
    
    The bridge_simple and bridge_native_rtp modules have also been
    updated to renegotiate when the stream topology of a party changes
    allowing the same behavior to occur as added to bridge_softmix.
    If a screen share is added then the opposite party is renegotiated.
    If that screen share is removed then the opposite party is
    renegotiated again.
    
    Some additional fixes are also included in here. Stream state is
    now conveyed in SDP so sendonly/recvonly/inactive streams can
    be requested. Removed streams now also remove previous state
    from themselves so consumers don't get confused.
    
    ASTERISK-28733
    
    Change-Id: I93f41fb41b85646bef71408111c17ccea30cb0c5
    5a5be92b
    History
    bridging: Add better support for adding/removing streams.
    Joshua C. Colp authored
    This change adds support to bridge_softmix to allow the addition
    and removal of additional video source streams. When such a change
    occurs each participant is renegotiated as needed to reflect the
    update. If another video source is added then each participant
    gets another source. If a video source is removed then it is
    removed from each participant. This functionality allows you to
    have both your webcam and screenshare providing video if you
    desire, or even more streams. Mapping has been changed to use
    the topology index on the source channel as a unique identifier
    for outgoing participant streams, this will never change and
    provides an easy way to establish the mapping.
    
    The bridge_simple and bridge_native_rtp modules have also been
    updated to renegotiate when the stream topology of a party changes
    allowing the same behavior to occur as added to bridge_softmix.
    If a screen share is added then the opposite party is renegotiated.
    If that screen share is removed then the opposite party is
    renegotiated again.
    
    Some additional fixes are also included in here. Stream state is
    now conveyed in SDP so sendonly/recvonly/inactive streams can
    be requested. Removed streams now also remove previous state
    from themselves so consumers don't get confused.
    
    ASTERISK-28733
    
    Change-Id: I93f41fb41b85646bef71408111c17ccea30cb0c5