app_confbridge: Add "all" variants of REMB behavior.

When producing a combined REMB value the normal behavior
is to have a REMB value which is unique for each sender
based on all of their receivers. This can result in one
sender having low bitrate while all the rest are high.

This change adds "all" variants which produces a bridge
level REMB value instead. All REMB reports are combined
together into a single REMB value that is the same for
each sender.

ASTERISK-28401

Change-Id: I883e6cc26003b497c8180b346111c79a131ba88c
This commit is contained in:
Joshua Colp
2019-04-30 11:22:44 +00:00
parent 60d13c3d56
commit d861ebdca8
8 changed files with 122 additions and 9 deletions

View File

@@ -134,6 +134,12 @@ enum ast_bridge_video_sfu_remb_behavior {
AST_BRIDGE_VIDEO_SFU_REMB_LOWEST,
/*! The highest reported bitrate is forwarded to the sender */
AST_BRIDGE_VIDEO_SFU_REMB_HIGHEST,
/*! The average of all reports WITHIN the bridge is sent to each sender */
AST_BRIDGE_VIDEO_SFU_REMB_AVERAGE_ALL,
/*! The lowest reported bitrate from all channels in the bridge is forwarded to each sender */
AST_BRIDGE_VIDEO_SFU_REMB_LOWEST_ALL,
/*! The highest reported bitrate from all channels in the bridge is forwarded to each sender */
AST_BRIDGE_VIDEO_SFU_REMB_HIGHEST_ALL,
};
/*! \brief This is used for selective forwarding unit configuration */